javaでファイル選択を促すjfilechooserというのがあるようですが、
フォルダ選択のクラスはあるのでしょうか?
あったらクラス名を教えてください。お願いします。
Swingの使い方について詳しく解説してくれる良書があれば教えてください。
>>867 JFCプログラミング キム トプレイ
Java GUIプログラミング 大村 忠史
大村タンのは読み応えがあんまなかったな。SWT編もアレだし。
AWTまで網羅するなら
グラフィックJava2 デビッド・M. ギアリー
>>868様ありがとうございます
スレッドの扱いとかについても詳しくのってますでしょうか?
表示更新がうまくいかないので過去ログみたりググってみたりしたんですが
「イベントディスパッチスレッド」とか「invokelater」とかが理解できなくて・・・
870 :
デフォルトの名無しさん:04/01/05 01:17
JMFを用いてWindowsMediaPlayerのようにリストを作って、
順に動画や音楽を再生するプレーヤーを作成したいのですが、
ヒントになるようなプログラムやサイトはありますでしょうか?
書籍(日本語でかかれているもの)が一冊しななく困っております
ご存知でしたらご教授お願いします
JMenuにフォーカスがあたった時、
その「前」にどのコンポーネントにフォーカスがあたっていたのかを得たいのですが、どうすれば良いのでしょうか?
ESCキーで元のコンポーネントにフォーカスが戻るので元のフォーカスコンポーネントを得る方法がありそうだと思うのですが・・・
>>871 どの部分がわからないのかはっきり書け
リストを作るならSwing、再生ならJMF
どっちもやりたいことを実現するためのサンプルコードはあるはず
JMFの方で英語しかドキュメントがないならそれを読め
いつかは英語しかドキュメントが無いという状況になるのでその練習ということで
>>871 やったこと無いけどFocusListenerとかでできない?
んで1個前を覚えとく
>>874 それは多分できるんだけど
JMenuが一個前を覚えてるはずだから、それを参照できないのかなぁ・・とおもってみたりして・・
876 :
デフォルトの名無しさん:04/01/05 06:35
PrintWriterの使い方もわかり、ファイルの出力はできるようになったのですが、
既存のファイルの末尾に新しく何かを書き込む場合はどうすればよいのでしょうか?
>>876 RandomAccesFileで書くようにして、書く前に
末尾までポインタ移動しる。
>>876 new FileOutputStream(filename,true) とか new FileWriter(filename,true) とかするとか
>>753 Eclipseのダウンロード件数は1000万件を突破
880 :
デフォルトの名無しさん:04/01/05 15:15
ところでFile#mkdir()とFile#mkdirs()どっちつかえばいいか迷うなあ。
Javadocの説明見ても曖昧なことかてあって双方の違いの意味わからげ
JTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)を使用することによって、横のJScrollBarが使えるようになりました。
しかし、カラムの幅が狭すぎるのです.
カラムの横幅を指定するにはどうすればいいのでしょうか。
該当の日付になったら『今日は****の日』と表示させる方法を教えてください。
『****まであと****日』というのはJavaScript系のサイトで出まわっていますが
該当日だけ表示させる方法が見つかりません。
>>882 あなたはjavascriptについて探しているのですか
だとしたら板違い。
InputStreamにStringを入れたり、OutputStreamから文字列を取り出すにはどうしたらいいのでしょう?
Fileからならうまくいくのですが・・・
strValはStringオブジェクトで、nullか空文字列かの判断をするときに、
if (strVal != null && !strVal.equals("")) {
}
と書くのはよく見るんですが、
if (!strVal.equals("") && strVal != null) {
}
は見ません。
なにか理由があるのでしょうか?
_
ミ ∠_)
/
/ \\
ウイーン Γ/了 | |
ウイーン |.@| | | ガッガッガッ
| / | 人
|/ | < >_Λ∩
_/ | //.V`Д´)/ ←
>>886 (_フ彡 /
888 :
デフォルトの名無しさん:04/01/05 21:19
>>886 論理演算子は左から評価されるので、後者の書き方ではぬるぽが発生します。
まずnullチェックするのがJavaの定石です。
ぬるぽってNullPointerExceptionでしょうか?
Javaの定石だということなのでそのまま覚えようと思うのですが、
なぜ前者の書き方だとstrVal != nullの段階で例外が発生しないのですか?
あれこれとすみません。
890 :
デフォルトの名無しさん:04/01/05 21:59
&&は論理積ショートカットなので左辺がfalseだった時点で右辺が評価されなくなるからです。
886の上の例の&&を&に変更すると文字列がnullの時にNullPointerExceptionで落ちます。
&は単なる論理積なので左辺右辺ともに必ず評価されます。
891 :
デフォルトの名無しさん:04/01/05 22:05
FileReader fr = new FileReader("yomikomi.txt");
int c;
for(int i = 0; i < 10;i++){
int count = 0;
while( (c = fr.read()) != -1){
if(c == i){
count++;
}}
System.out.println("i = " + count);
こういう処理があって
ファイル内にある0〜9の数をカウントして出力したいのですが
うまく拾えません
デバッグすると
fr.readで一文字ずつ取ってcに代入される各文字が
19とか24とか47とか二桁の数字ばかりをとって来てcにうまく代入されません
どこが悪いのでしょうか?
if ("".equals(strVal)) {
}
としろ。
BufferedReaderでキーボードから入力されたものを
Integer.parseIntでint型(数値)に変換する前の処理で
入力されたものがint型に変換できるか(数値であるか)、それとも何かしらの文字が入力されていて
int型には変換できない(数値以外のものが何かしら入力されている)かを判断させる処理を
したいのですが、APIをざっと見た限りではそんなメソッド等は見つからなかったと思うのですが
この場合、自分でその判断をさせる処理は作らなければならないのでしょうか?
それとも何かメソッドがあるんでしょうか?
>>891 そういうことですか、わかりました。
ありがとうございます。
と納得したのもつかの間、
>>892は?
それだけしておけば、結局のところ参照比較っていうのでしょうか?
!= はいらないということ?
895 :
デフォルトの名無しさん:04/01/05 22:19
>>893 実際にパースしてみて、
例外が投げられるか投げられないかで判断させる。
>>891 それで正しく動いているんじゃないかな。
そのyomikomi.txtに書かれているデータは、アスキーコードによる「数字」だから。
よってcのなかには、yomikomi.txtに書かれていた数字のアスキーコードが格納されているわけ。
charに代入して、文字として比較し、処理をしていけばいいとおもうよ。
>>888 Java以外にも、CやPerlでもそうだよね。
>>889 >なぜ前者の書き方だとstrVal != nullの段階で例外が発生しないのですか?
strVal != nullは、strValインスタンスのメソッドを呼び出しているわけではないから。
たんに、strValが空っぽかどうかをチェックしているだけだから。
ヌルポの例外は、この場合、strValが空っぽなのにメソッドを呼び出そうとした場合に発生するから。
やっぱりいきなりJavaだと参照とかポインタ(あからさまには出てこないけど)の理解があいまいのままになりがちかな。
899 :
デフォルトの名無しさん:04/01/05 22:46
>>897 いま、やってみてるコードだと文字が入力されていてもそのままparseIntして
Exceptionを発生させ、finallyで
if(exception != null) {
もう一度このメソッドを処理しなおす。
}
ってな具合なんですが、これでもOKでしょうか?
当然、Buffered〜などで使った変数はクローズしたりnullにしたりしています。
いや、そもそも自分自身のメソッドから自分自身のメソッドを呼び出すことって可能なんでしょうか?
>>899 どのへんを詳しく聞きたいのか、あなたが言ってくれないと、
なにを説明してあげたらいいのか、わからないよ。
コレクションクラスなどにおける、
インターフェイスや抽象的なクラスを駆使して、
実体的なクラスをあつかう方法について聞きたいの?
それとも、コレクションについて聞きたいの?
もう少し詳しくと言われても、その質問内容では
>>895が言うように、ちょっと漠然としすぎだよ。
int foo;
while(true){
try{
foo = Integer.parseInt(reader.readLine());
break;
}catch(NumberFormatException e){
continue;
}
}
とかだろ
>>901 もちろん自分自身のメソッドから、自分自身の別のメソッドを呼び出すことも可能だし、
自分自身のメソッドから、自分自身のおなじメソッドを呼び出すことも可能だ。
後者は「再帰」と呼ばれる。あまり再帰させすぎると、メモリ不足などを引き起こすが。
905 :
デフォルトの名無しさん:04/01/05 23:11
質問です。
あるVM上で走っているJavaプログラムののメソッドトレースができるような
ツールってご存じないですか。
Eclipseのデバッガようにステップ実行するのではなくて、
標準出力などにテキストで出力されるようなツールを探しております。
是非ともご教授下さい。
よろしくおねがいします。
>>908 Java2 SDK。
jpda、リモートデバッグあたりをキーにぐぐれ。
>910
AspectJでトレースするってのはどう?
なんか自分で聞いてても馬鹿みたいなんだが
String str;
str = "なんか文字列";
ってしたとき、エディタで編集したときには「なんか文字列」はShift JISだったとして
strはShift JISなんでしょうか?UTF-8なんでしょうか?
>>912 おおざっぱにいうと、UNICODE(UCS-2)。
>>912 > ってしたとき、エディタで編集したときには「なんか文字列」はShift JISだったとして
ソースファイルが SJIS だろうが何だろうが、
コンパイル時に "なんか文字列" と書かれた部分はユニコードに変換される。
ちなみに、コンパイル時に -encode で正しいエンコーディングを選ばなければ文字化けする可能性もある。