トップページ⇒tech
982コメント338KB

ネタ心者歓迎!今更ながらにJava相談室 その4

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
                        
 || ̄ ̄|   ∧_∧
 ||Java|  (     )   ∧∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ||__|  ( ○  )  (   ) < 俺達の旅はここから始まる。
   ||    │ |  │   /  |    \___________
((二二)) .(_(__)〜(___ノ

( ゚Д゚) < カキコする前に>>2-10をチェックしとけゴルァ!!
>>2 過去スレの一覧
>>3 Javaの基礎と よくある質問 (初心者はここをチェック!)
>>4 Java関連スレいろいろ
>>5 Javaを撲滅させたい方、死滅を心配してる方、Cとの違いを知りたい方はこちらへ
* 諸般の事情により、リンクがずれる事もあります。
0478デフォルトの名無しさんNGNG
>>477
そんなはずはないが…
JDKインストールしたディレクトリ/JRE/rt.jar
を解凍してみそ。そこにないなら環境がおかしい。
0479デフォルトの名無しさんNGNG
>>476
好きにしろ。
その後で、必要なファイルにPATH環境変数なり何なりとおせ。
普通の他のアプリのインストールと同じじゃ。
0480デフォルトの名無しさんNGNG
>>478
ありがとうございます。早速試してみます。
0481デフォルトの名無しさんNGNG
>>470
そのメソッドって、ImageのDLが終わる前に返ってきちゃうので、
すぐ次でdraw仕様としても、空のImageかいてるだけになっちゃう
ってやつじゃないのかな?
だとすると、どこかにDLが終了するまでwaitするメソッドがある
ような気がするので、それコールしてDL完了まで待ってろ。
0482476NGNG
>>479
でもJDKってPATH書きませんよね
デフォルトの場所って無いんですか?
java.langのある場所、みたいに
余計なPATHは邪魔になるから書きたくないんですけど…
0483476NGNG
>>482
>でもJDKってPATH書きませんよね
インストール時にインストーラがって意味です。念のため
ちなみにOSはWin2000です。これも念のため
0484デフォルトの名無しさんNGNG
>>483
PATH は書かんけど PATH の通ったところに java.exe を置く。
C:\WINNT 直下を見てみれ。
0485476NGNG
>>484
javaというフォルダが見つかりました。
java.exeはimportするときここを見てくれるんですか?
0486477NGNG
携帯向けサイトで環境設定したのが関係あったのかも。
midpapi.zipの中に放り込んだら通りました。
↑この中身がio・util・langだけでした。
けど携帯電話でもちゃんと通信出来るのかなぁ…。

ありがとうございます。>>478
0487デフォルトの名無しさんNGNG
>>485
java.exeが実行時に必要なクラスファイルをロードする時には、
CLASSPATH/(パッケージ名の.を/に変換)/クラス名
で検索するよー。

CLASSPATHにはjarやzipを指定する事も出来るよー。

JAVA_HOME/JRE/rt.jar(コアAPIクラスライブラリ)は、
CLASSPATHと関係なしに読みに行くよー(ちゃんと環境設定してれば)。

ということ。
0488デフォルトの名無しさんNGNG
>>485
C:\WINNT\java は Internet Explorer 上で動くアプレット (Microsoft JVM) のクラス等が置いてあるディレクトリ。
残念ながら Sun から持ってきた java.exe とは無関係。
0489485NGNG
>>487
なるほどよくわかりました
どうもありがとうございます。

>>488
だから中にDirectなんとかとかたくさんあったんですね…
レスありがとうございます。
0490デフォルトの名無しさんNGNG
ちなみに JAR や ZIP ファイルなら {JAVA_HOME}/jre/lib/ext と
C:\Program Files\JavaSoft\JRE\{JDK_VERSION}\lib\ext に
放り込んでおけば CLASSPATH を設定してやらなくても使えます。

# 前者はコンパイル時に見に行くところ、後者は実行時に見に行くところだったと思う
0491デフォルトの名無しさんNGNG
>>490
> {JAVA_HOME}/jre/lib/ext と C:\Program Files\JavaSoft\JRE\{JDK_VERSION}\lib\ext に

「と」って何? 両方に置かないといけないの?

以前、前者の方に postgresql.jar 置いても動かなかったので諦めたんだけど。

Linux では $JAVA_HOME/jre/lib/ext に置いたら動いたので、
それでいいのかと思ってたヨ。
0492デフォルトの名無しさんNGNG
458ですが、どなたか教えてください。
JPopupMenuで項目を選択->クリックしたときに、同時に
そのコンポーネントのmouseClickedが反応してしまうんですが、
これを解決するにはどうすればよいのでしょう?
0493デフォルトの名無しさんNGNG
反応すると何が困るの?
0494492NGNG
>>493
ごめんなさい。説明不足でした。
例えばJPopupMenuで、ある項目を選んだらAというイベントが起きるとします。
ところがやりたいことはAというイベントを起こしたいだけなのですが、その
項目を選ぶためにそのJPopupMenu上の項目をクリックした時に同時に
そのJPopupMenuを呼び出したコンポーネントのmouseClickedが反応してしまい、
別のイベントBが起きてしまうのです。どうすればよいのでしょう?
0495デフォルトの名無しさんNGNG
JPopupMenuって普通は右クリックだと思うけど、
マウスボタンの種類で切り分けできるんじゃないの?

状況によって右クリックでPopupが起こったり
別のイベントが起こるんだとしたら、
インターフェースデザインを考え直した方がいいような。
0496デフォルトの名無しさんNGNG
唐突でごめんなさい。
Robocupのシミュレーションリーグのサッカーサーバについて知ってる人います?
0497デフォルトの名無しさんNGNG
なんでパッケージdefaultで宣言したclassは他のパッケージで使えないのに

class Foo{
 public void method(){
 }
}

とかメソッドをpublicで宣言したりするんですか?意味が無い気がするんですが
0498デフォルトの名無しさんNGNG
>>497
publicにしないと他のパッケージから呼べないだろう
『パッケージdefaultで宣言したclassは他のパッケージで使えない』からな!
0499498NGNG
>>497 もとい。ごめん嘘ついた。

パッケージdefaultで宣言したclassは他のパッケージでnewできないだけで
そのクラスのインスタンスは他から引数で渡されたり返り値で取得したり
することはある。
そのインスタンスを通して他のパッケージから呼ばれることはある。
0500497NGNG
>>498
class自体を他のパッケージでインスタンス化することは工夫してやろうと思えばできます。
しかしメソッドをpublicで宣言しても他のパッケージでは使用はできません。classがpublicで宣言されていないからだとかなんとかコンパイラが文句言ってきます。たしかに

public class Foo{

とかやらないとだめです。これ意外に私は思い付きません。

でもよく書籍のお手本でclassはdefault宣言メソッドはpublic宣言のが多いのでなぜだか知りたいのです。
0501497NGNG
>>499
あれ?他のパッケージでメソッド呼び出せたんですか?コンパイルエラーになったと思いましたが勘違いかな?
0502デフォルトの名無しさんNGNG
>>497,498
何を論議したい?
外部からnewされたくないとき、クラス同士の結合を
弱めたいときとかに使うんでねーの?
インターフェースとか継承すれば出来るけど・・・?

つーか、そうしない?
俺、何か変?
/*------------------------------------*/
package BBB;

import AAA.*;

public class testB
{
public static void main(String s[])
{
test t = new test();
test_if ti = t.pub_a();
ti.pub_a();
}
}
/*-------------------------------------------*/
package AAA;

public interface test_if
{
public void pub_a();
}
/*------------------------------------*/
package AAA;

public class test
{
public def_test pub_a()
{
return new def_test();
}
}


class def_test implements test_if{
public void pub_a()
{
System.out.println("こういうことだろう");
}
}

0503 NGNG
>>502
話は全く変わるんだけど、
クラス名の先頭を小文字にしたり、パッケージ名に大文字つかったり、
アンダースコアを区切り文字として使用するのは
何の影響を受けての事ですか?

別に嫌味とかじゃなくて、純粋に知りたい。
何かそういう書き方を推奨している書籍等が有るのか、
それとも単に自己流なのか。

何故こんな事を聞くのかと言えば、「Javaではクラス名を小文字にしなければならない」
と言い張る人に出会った事があって、困った事が有ったから。
(親しい人ではないので、何故そう思ってたのかまでは聞けなかった)
0504489NGNG
>>490
その方法で見事にうまくいきました
ありがとうございます。
0505494NGNG
>>495
ありがとうございます。
確かにJPopupMenuを呼び出す時は右クリックです。これでJPopupMenuが
現れます。で、この時はいいんですが、次に、そのJPopupMenuのmenuitemの中
からどれかを選択して、その時は今度は左クリックをしますよね?その時に
mouseClickedが反応して別のイベントが起きてしまうんです。どうしたら
いいんでしょう??
0506495NGNG
>>505
event.getSource() したら
それぞれ別のコンポーネントからのイベントだということが
分かると思うんだけど、どうだろう。
0507495NGNG
あ、マジメな話なので age
0508初心者NGNG
(1)Javaのmyprogram.jarとJREのランタイムを一緒に配布し、
(2)myprogram.exeから
(3)Javaのプログラムを起動することは可能でしょうか。
(4)JREのインストールなしに。

0509初心者NGNG
あ、Win32です。やっぱり初心者です。
0510初心者NGNG
それから、MSのVMは使えないです。やっぱり一度に用件をかけないのは初心者ですね。
0511まさNGNG
質問です。
フレームのサイトを作った場合、フレームの一部に
リンク貼られた場合は、そのフレームだけ表示されてしまい、
正しく表示されなくなってしますよね。
それを防ぐにはJavascripptを使って正しいサイトに飛ばす方法は
知っているのですが、他には方法はあるのでしょうか?

例えば日本テレコムのサイト例にとると、
http://www.japan-telecom.co.jp/consumer/myline/index.html
だと正常に表示されますが、
http://www.japan-telecom.co.jp/consumer/myline/ml_top.html
だとフレームの一部しか表示されなくなってしまうよね?
それを回避する方法です。。
0512まさ2NGNG
?<script language="JavaScript">
<!--
function tmt_backtoframe(myframe) {
if (top == self) {
self.location.href = myframe;
}
}
// --></script>
と上の方に書いて、下記のように
何かの画像がDLされたら飛ぶようにするってやつです。
<img src="UntitledFrame-6.files/maru.gif" onload="tmt_backtoframe('index.html')" width="35" height="10">

これで正しいでしょうか?



0513デフォルトの名無しさんNGNG
>>511
Java と Javascript は別物です。
サイト作成に関しては Web 製作板にどうぞ。

Web 製作板
http://pc.2ch.net/hp/

☆ Webサイト制作初心者用スレッドver16 ☆
http://pc.2ch.net/test/read.cgi/hp/1011692558/
0514初心者NGNG
Lancher これで十分か。自分でランチャを書く必要がない。
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

0515502NGNG
>503
こんなしょうもない、やっつけサンプルごときで
そこまで突っ込むか?
普段はいわゆる推奨される書き方してるけど。
単純にエディタの強調表示に合わせているだけとも言うが(w
命名規約はそんなに気にしないし合わせろと言われりゃ合わすよ。
今回の場合は一応、インターフェースだとか、デフォルト権限とか
パッケージ名を強調したかっただけ。    いじょ。

0516 NGNG
>>515
いや、気を悪くしたなら謝るよ。
本当に嫌味とかではなくて、知りたいだけ。

前のプロジェクトリーダが何故かクラスの先頭小文字派で
そのプロジェクトではそれがルールだった。

Javaの書籍は色々読んだけれど、
「もしかすると自分が知らない所では、先頭小文字とかのルールが推奨されている
のかもしれない」
と思って書店にも足を運んで本をあさったけど、特にそういう書籍は
発見出来なかった。

もしそう言う書籍があれば、とりあえず見たいと言うのが質問の理由。
0517 NGNG
変わったルールをあげると、
例えばフィールドの先頭や末尾にアンダースコアを付けるというのが有る。
あれはピアソンの「Javaの格言」や「リファクタリング」が影響を及ぼしているようだ。
0518デフォルトの名無しさんNGNG
Code Conventions for the JavaTM Programming Language
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
0519デフォルトの名無しさんNGNG
まじめに質問。
 −5.6 % 3.3 は、−2.3
 5.6 % −3.3 は、2.3
になるそうですが、なぜ?両者の違いがわからん。
0520デフォルトの名無しさんNGNG
//受け付け会員氏名
UKTK_KIIN_SMY;
//受取人住所
UKTRNIN_ZYSYO;
//受け付け担当者社員コード
UKTK_TNTUSA_SYIN_CODE;

元コボラーとかSQL馬鹿に、こういうシンボル名つけるやつが
多いな。なに考えてんだか。
こんななら漢字でシンボル名書いてしまうほうがマシだと思われ。
0521デフォルトの名無しさんNGNG
先頭小文字派です。
record_event();
get_user_id();
check_and_destroy_user_event();
0522デフォルトの名無しさんNGNG
Claas
CLASS_CONSTANT_FIELD
__CLASS_FIELD
_instancefield
method()
methodOfLongName()

おいらはこうだよ。
メソッドと外から見えるクラス定数は、コアAPIとあわせとく。

それ以外はどうでもいいんじゃないの?外に見せないなら。
0523デフォルトの名無しさんNGNG
大文字小文字を混ぜた名前付ける奴は100%PKだし。
0524デフォルトの名無しさんNGNG
お世話になったこのサイトが1月で終わってしまう・・・
http://www2.to/javaprog/

でも掲示板になんかムカつくやつが常駐してるんだな
0525デフォルトの名無しさんNGNG
今思いついたけど、先頭小文字で、MVCのいずれかをつけるってのは、ダメ?
mBill
mMenu
mEmploye
vPushButton
vSortingListBox
cOrderInputScreen
とかって、ずらっとクラスが並んだとき、分類しやすくない?
0526デフォルトの名無しさんNGNG
>>525は、ハンガリアン基地外を召喚した!
0527デフォルトの名無しさんNGNG
ViewとControllerをどうやったら上手く分離できるのかわからん。
0528デフォルトの名無しさんNGNG
>>527
EventListenerからディスパッチされるロジックを外だしすれば半分。
のこりの半分は、ObservableなModelへのObserverでディスパッチ
されるロジック。ほーらできた。
0529 NGNG
>>519
http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#24956
0530デフォルトの名無しさんNGNG
モーダルのJDialogで最初にフォーカスするコンポーネントを
指定するのってどうしますか?
setVisible(true)した時点でそのスレッドは止まっちゃうので、
WindowsListenerを追加して開いた時点でフォーカスしたいコンポーネントに
requestFocusさせていますが、なんかJDK1.4RCでは
うまくいかない模様・・・
0531デフォルトの名無しさんNGNG
> setVisible(true)した時点でそのスレッドは止まっちゃうので、
そんなことないよ。
0532531NGNG
ごめん、激しく勘違いだった
0533530NGNG
>>531
でも、setVisible(false)されるまでその後の命令って
実行されないですよね?
確認中・・・

下げ忘れ、すまんす。
0534530NGNG
あ、勘違いでしたか・・・
0535デフォルトの名無しさんNGNG
javaの勉強をしてるんですが、MS-DOS-EDITに書いたソースコードを、メモ帳とか
この掲示板とかにコピぺ出来る方法はありますか?
0536デフォルトの名無しさんNGNG
MS-DOSプロンプトをウインドウ表示にしてツールバーをよく見る。
0537デフォルトの名無しさんNGNG
と、言うか.javaもテキストなんだからメモ帳で開けばいいじゃん。
0538535NGNG
>>536
編集⇒コピーってやっても他の場所に持ってけないんです。
>>537
メモ帳をエディターとして使えって事ですか?
やっぱり無理なんでしょうか?
0539デフォルトの名無しさんNGNG
>>538
メモ帳はエディタだよ…
0540デフォルトの名無しさんNGNG
>>535
それプログラム以前の問題じゃないか?
0541デフォルトの名無しさんNGNG
>>538
範囲選択しろよ
0542デフォルトの名無しさんNGNG
はっ、ネタ心者?
0543デフォルトの名無しさんNGNG
>>538
PCQAくるか?
みんな多分教えてくれる。
http://pc.2ch.net/pcqa/index.html
0544535NGNG
>>537
わかりました、皆さんありがとうございます。(いやお恥ずかしい・・・。)
>>540
こんな奴が「新人です!」とか言って入ってきたら教えてくれますか?
0545デフォルトの名無しさんNGNG
世の中にはメモ帳より貧弱なエディタを「高性能エディタ」と信じてる
今も使ってる人達もいるんだよ・・・。
0546デフォルトの名無しさんNGNG
>>545
メモ帳より貧弱なエディタなんかあるのか?

JavaならJTextPaneにload&saveの機能つけるだけで
エディタが出来ちゃうぞ。HTMLエディタも簡単だぞ。
0547デフォルトの名無しさんNGNG
>>546
ed
0548デフォルトの名無しさんNGNG
>>546
vi,
Emacs
0549デフォルトの名無しさんNGNG
>>548
LISPも使えないメモ帳風情が何言ってるんだか。
0550デフォルトの名無しさんNGNG
>>548
viやEmacsは、メモ帳よりはマシだと思うが…
0551デフォルトの名無しさんNGNG
>>546
copy con
0552デフォルトの名無しさんNGNG
自称「優秀なPG」が薦めるemacs
http://macosx2.ncs.gr.jp/~masa/jpn/program/emacs_command.html
コマンド例
[Ctrl]+X [Ctrl]+F ファイルを開く。
[Ctrl]+X [Ctrl]+D ディレクトリの内容を表示する。
[Ctrl]+F 1文字右に移動。
[Ctrl]+B 1文字左に移動。
[Ctrl]+P 1文字上に移動。
[Ctrl]+N 1文字下に移動。
0553デフォルトの名無しさんNGNG
>>548
うそ〜〜ん。
0554デフォルトの名無しさんNGNG
emacsの解説書ではどう言うわけか、emacs教をひろめようとしている。
「Emacsはまぎれもなく、本格的なプログラマーに好まれているエディタである。」
(O'REILLY GNUソフトウエアプログラミング)

「本格的なプログラマー」ってのがミソ。
疑問を持ったら「半端なプログラマー」の烙印が押されるシステム。
氏ね、って感じ?
0555デフォルトの名無しさんNGNG
メモ帖>>>>>>>>>>>>>>>Emacs
0556デフォルトの名無しさんNGNG
数の勝利じゃないの?
大抵のlinuxディストリに入ってるし。

BSDの標準エディタって使いやすそうだね。
0557デフォルトの名無しさんNGNG
cygwin使ってメモ帖で開発。
実機に転送してコンパイル。
いやじゃ、いやじゃ。Emacsはいやじゃああああ
0558デフォルトの名無しさんNGNG
>>557
Win用JDK使えよ・・・。
0559デフォルトの名無しさんNGNG
gccの話だったりする
0560デフォルトの名無しさんNGNG
>>556
ee 良いね。
今の ports の jee は 最近のRELEASEでコンパイル
出来なくなってるから今度 コンパイル出来るように
しようかなとか思ってる。
0561デフォルトの名無しさんNGNG
>>550
vi はちょっとひく。他に何かあるときは使いたくないな。
0562デフォルトの名無しさんNGNG
Javaの膨大なAPIどーやって調べてます?
いま、何かわからないことがあれば
SunのページからダウンロードしたHTML(Java doc)をIEで見て
調べてるんだけど、めちゃめちゃ調べにくいんですけど・・

WinのHELPみたいに一発検索する方法とか、なんかもっと効率のいい
APIの調べ方ないんでしょうか?

ちなみに統合環境はForteを使ってます。
0563デフォルトの名無しさんNGNG
背景画像をsetするメソッドって何ですか?
0564デフォルトの名無しさんNGNG
>>562
> Javaの膨大なAPIどーやって調べてます?
Namazu を使って検索する.
0565デフォルトの名無しさんNGNG
>>564
Namazuってサーバーで動かすもんだと思ってた・・・
(・・てゆーか実はローカルサーバー立ち上げてNamazuを入れろって事!?)
とりあえず入れてみます、ありがとうございます!!
0566デフォルトの名無しさんNGNG
findとgrepでほとんどのものは見つかりますが。

ていうか、JDKの *.java ファイルを巨大なひとつのテキストファイルにしておいて
適当にgrepするというのも簡単かもしれないと今思ってみた。

怠惰すぎかも。
0567デフォルトの名無しさんNGNG
>562
今漏れが使っているのは以下のもの。
どっちも一長一短だと思うが(Windowsオンリー)。。。
自分で作るのがいいかも。
ttp://www.vector.co.jp/soft/win95/prog/se202146.html
ttp://isweb37.infoseek.co.jp/computer/java_jp/software/index.html

0568デフォルトの名無しさんNGNG
JDK 1.4って何がいいの?
0569デフォルトの名無しさんNGNG
質問ですが、
アプレットで画像を読み込んで、その画像を縮小して、jpegにエンコードして
そのデータをCGIに渡して保存をするっていうのは可能ですか?
0570デフォルトの名無しさんNGNG
>>565
> >>564
> Namazuってサーバーで動かすもんだと思ってた・・・
Namazu for Win32 を入れて,search-s for Namazu 0.9.2 を入れれば,
WIN のスタンドアローンでも GUI なインターフェイスで検索可能.
0571デフォルトの名無しさんNGNG
教えて君です。
M$Excelで任意のセル範囲を選択・コピーして、SwingのJTableに貼り付けることって
出来ますか?ちょっと抽象的で申し訳ないですが、お分かりの方がいらっしゃった
ら教えてください。
 クリップボードの中身がどうなっているのかがまったく分からないため、手のつけよ
うがありません。
 ちなみに環境はJDK1.3、Win32で、基本的なJavaの知識(初心者レベル)は身につけ
ているつもりです。

 宜しくお願いします。
0572デフォルトの名無しさんNGNG
誰も答えないので。
メモ帖に張り付けてみたら?
0573デフォルトの名無しさんNGNG
>>568
http://pc.2ch.net/test/read.cgi/tech/990949654/
0574デフォルトの名無しさんNGNG
コンストラクタ実行中の時点ではインスタンスって生成されている(nullではない)んでしょうか?。
0575デフォルトの名無しさんNGNG
>>568
代表的な追加ライブラリ

ロギング
XML<->Objectマーシャラ
データ暗号化
ノンブロッキングI/O
ダイレクトバッファ

1.3使いつづける気にはならんな。
0576デフォルトの名無しさんNGNG
>>574
コンストラクタが起動しているということは、インスタンスフィールドの
初期化は終了しているYO!=インスタンス自身は既に生成されているYO!
thisポインタも存在するYO!

ただ、a = new Hoge()はまだ戻ってない(aにHogeインスタンスのthis
が代入されていない)というだけ。
0577デフォルトの名無しさんNGNG
>>530
ダイアログにComponentListenerくっつけて、componentShownで処理してみたらどうだろう?
■ このスレッドは過去ログ倉庫に格納されています