★★Java質問・相談スレッド135★★ at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
10/01/03 22:36:21
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    URLリンク(pc11.2ch.net)
Webプログラミング URLリンク(pc11.2ch.net)
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 URLリンク(www.wikiroom.com)
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド134★★
スレリンク(tech板)

次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
URLリンク(www.wikiroom.com)

2:デフォルトの名無しさん
10/01/03 22:37:08
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 9
スレリンク(tech板)
■ SWT は --
Java 高速GUI SWT 3
スレリンク(tech板)

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part20
スレリンク(tech板)
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
スレリンク(tech板)
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 68 ★★
スレリンク(tech板)

■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
スレリンク(tech板)
■ Eclipseに関する雑談は --
Eclipse統合M28【Java/C++/Ruby/Python/Perl】
スレリンク(tech板)

3:デフォルトの名無しさん
10/01/03 22:37:21
**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
URLリンク(java.sun.com)
■ Java SE 6
URLリンク(java.sun.com)

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
URLリンク(www.java.com)

4:デフォルトの名無しさん
10/01/04 11:02:07


ソースのメンテナンスに重点を置く保守派と文字列リテラルに命を賭けるリテラル派の対立が

ものごっつ先鋭化しとるのですが

なんとかなりませんか。



5:デフォルトの名無しさん
10/01/04 14:58:18
ちょっと吹いた

6:デフォルトの名無しさん
10/01/04 16:33:43
もっと国際化して考えれば、
結局主張は一緒なんじゃ?

7:デフォルトの名無しさん
10/01/04 17:15:31
drawStringで文字を描いたあと、
その文字近辺のピクセルが背景色か描画色か識別させたいのですが
どのようにすればできるでしょうか?

8:デフォルトの名無しさん
10/01/04 19:59:51
BufferedImage に描画して getRGB で整数型ピクセルを調べる。

9:デフォルトの名無しさん
10/01/04 20:44:37
>>4
なんのこと?

10:デフォルトの名無しさん
10/01/04 21:19:44
保守vsリベラルにかけた冗談だと思ったが。なんか元ネタあるのか?

11:デフォルトの名無しさん
10/01/05 00:09:50
javaでプログラミングをしていると、例外処理ばっかりになる気がするのですが
これは正常なのでしょうか?

12:デフォルトの名無しさん
10/01/05 00:20:06
>>8
ありがとうございます。
その方法で調べることができました。

ただ、Graphics2Dで文字列を回転させるアニメーションをさせているので
毎回イメージ作成してるとひどく重くなってしまいます。

任意の点のピクセル情報を調べる方法はこの方法しか無いのでしょうか?

13:デフォルトの名無しさん
10/01/05 02:43:36
アイアムザバニーズなんですけども

ザバでオブジェクトのサイズやメモリのサイズ
配列のサイズなどなどを知るにはどうすればいいの

14:デフォルトの名無しさん
10/01/05 16:24:36
うさぎ?

15:デフォルトの名無しさん
10/01/05 17:06:20
おら!ジャバジャバしろよ!

16:デフォルトの名無しさん
10/01/05 21:04:07
>12
BufferedImageは使いまわして、毎回描画だけすればいいんでねーの

17:デフォルトの名無しさん
10/01/05 21:23:58
>>12
それと、やってることはダブルバッファリングと同じ。
ダブルバッファリングはさせないでおいて、BufferdImageを画面にdrawImageするなら描画は一回。

18:デフォルトの名無しさん
10/01/06 13:47:56
>>11
Cでプログラミングしていてもエラー処理ばっかりになる気がすると思いますが
そんなことありませんか?

19:デフォルトの名無しさん
10/01/07 00:25:15
Java JDBCについて詳しく書いてあるホームページなどご存じないでしょうか?

20:デフォルトの名無しさん
10/01/07 00:27:42
その単語でゴーグル先生に聞けばいいとおもうぉ

21:デフォルトの名無しさん
10/01/07 00:30:28
>>20
そうですね。ありがとうございました。

22:デフォルトの名無しさん
10/01/07 02:04:46
Interstageってのを使う意味は何ですか?
TomacatやGlssFlishじゃ駄目なの?

23:デフォルトの名無しさん
10/01/07 02:17:58
>>22
まあ、ご飯を食べながら、ご飯を食べる意味やパンじゃダメなのか考えてみるとか。

24:デフォルトの名無しさん
10/01/07 05:52:13
>>22
なぜ使うのかを上司に説明しなきゃならないときに、
TomacatやGlssFlish の場合は、
全部自分で調べて説明しなきゃなんないけど、
Interstage の場合は、富士通に電話すれば、
営業さんが説明に来てくれるんだよ。
(君の会社がとんでもなく弱小だったり、離島や山村にあったりしない限りは。)

25:デフォルトの名無しさん
10/01/07 05:56:57
糞スレで見え張ったりするあたりが小物って感じw

26:デフォルトの名無しさん
10/01/07 16:30:54
再帰レス

27:デフォルトの名無しさん
10/01/07 17:23:10
クラスAで、ボタンが押されたときに、あるプログラムAを実行されるようにしました。
プログラムAが実行された後、クラスBが実行される、つまりクラスBに進むようなことは出来ますか?

言葉がよくわからなくて、無茶苦茶言ってるかもしれませんがよろしくお願いします

28:デフォルトの名無しさん
10/01/07 17:26:38
いろいろ言いたいことはあるが、とりあえず、
抜粋したコードを書いちゃったほうが話が早いと思う。

29:デフォルトの名無しさん
10/01/07 17:37:35
class A{

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button1){
if(radio1.isSelected()==true){

}
}

}
public void itemStateChanged(ItemEvent e) {
}
}

class B{

}

こんな感じのときイベントが起こったら、クラスAのpublic void actionPerformed(ActionEvent e)の中の奴が実行されて終わりますよね?
そこで終わらず、クラスBにも進んで欲しい感じです

30:デフォルトの名無しさん
10/01/07 17:42:43
>>29
class A{

public void actionPerformed(ActionEvent e) {
if(e.getSource()==button1){
if(radio1.isSelected()==true){

B.hoge(); // クラスBに進む
}}}

}

class B{
public static void hoge() {
//ここに進む
}}

こんな感じ?

31:デフォルトの名無しさん
10/01/07 17:53:56
返答ありがとうございます

class B{
public static void hoge() {
}
public void paint(Graphics g){

}}

とした場合
public void paint(Graphics g){
}
を動かそうと思ったら、どうすればいいでしょうか?


32:デフォルトの名無しさん
10/01/07 17:59:43
>>29
その方法はいろいろある。classB がどういうクラスで、
呼び出したい classB のメソッドがどういうメソッドかとか、
その他の状況によって、最適なものを選ぶ。
最も一般的なやり方は、以下のように class B のインスタンスを classA で持つようにして、
actionPerformed() メソッドで呼ぶ方法だと思う。例えば、
---------------
class A {
private B b;
public A( B b ) { this.b = b; }
public void actionPerformed(ActionEvent e) {

b.methodB();

}
class B{
public void methodB() {
以下略
----------
class B のインスタンスをどう用意するかについては、状況によっていろいろあると思う。
上の例のように class A のインスタンス化時にコンストラクターに渡しても言いし、
actionPerformed() メソッド内でテンポラリなインスタンスを作って
----
new B().methodB();
----
のようにしてもいいし、
目的の処理が、class B をインスタンス化する必要の無いようなものであれば、
呼び出すメソッドを static にしてしまって、静的に呼び出すほうが簡単。

33:デフォルトの名無しさん
10/01/07 18:04:40
返答ありがとうございます
ちょっと色々試してみます

34:デフォルトの名無しさん
10/01/07 21:23:05
class A {
private B b;
public A( B b ) { this.b = b; }
public void actionPerformed(ActionEvent e) {

b.paint(); //←

}
class B{
public void paint(Graphics g) {

}
----------
←の所で
型 B のメソッド paint(Graphics) は引数 () に適用できません
というエラーが出るのですが、これはインスタンスの仕方?が間違っているのでしょうか?
よろしくお願いします

35:デフォルトの名無しさん
10/01/07 21:52:09
宣言は paint(Graphics g) となっているのに、呼び出す方は paint() になっているから
引数が合っていない

36:デフォルトの名無しさん
10/01/07 21:53:48
>>34
Java では、メソッド名が同じでも、引数が違えば別のメソッドとして扱われます。
詳しくは、「Java オーバーロード」で検索してみてください。
その例では、classB には、 paint という名前を持つメソッドが、
 public void paint(Graphics g)
しかないために、それを引数無しの paint() には使えない、
ということを言っているのだと思います。

37:デフォルトの名無しさん
10/01/07 22:09:19
>>35-36
返答ありがとうございます
なんとなくですが、エラーの原因はわかりました。

paint(Graphics g)をクラスAで実行するために、
←のところに
b.paint(b.Graphics b.g); とかやっても無茶苦茶書いてるだけですよね?
paint(Graphics g) をクラスAで実行する方法はありますか?

38:デフォルトの名無しさん
10/01/07 22:49:19
>>37
おそらく、 ウィンドウベースの
プログラムを書いてるんだろうと思うんだけど、
例えば、 class B は、

class B extends Frame {

あるいは、

class B extends JFrame {

になってるんじゃない?
であれば、

b.paint( b.getGarphics() );

とやれば、おそらく一応呼べるとは思う。
けれど、必ずしもあなたの期待通りの動作をするかどうかはわからない。
実際どうすべきかは awt や swing のライブラリの仕様の問題なので、
JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に
paint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、
なぜ Graphics が必要なのか、といったこと
(つまり、 awt や swing の描画プロセスやルール)
を理解した上で、どうすべきかを考えたほうがいい。


39:デフォルトの名無しさん
10/01/07 22:51:44
>>38
すいません、なんか文章がぐちゃぐちゃになってました。
以下訂正です。

×
>JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に
>paint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、
>なぜ Graphics が必要なのか、といったこと


>JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に
>なぜ Graphics が必要なのか、
>なぜpaint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、
>といったこと


40:デフォルトの名無しさん
10/01/07 23:00:58
>>38-39
丁寧にありがとうございます
正直理屈とか全くわからないので、本をもうちょっと読んできます
本当にありがとうございました

41:デフォルトの名無しさん
10/01/07 23:25:04
もしクラスBがComponentクラスのサブクラスなら
paintはrepaintを呼ぶことで間接的に呼び出されるんじゃないかと思うぞ

42:デフォルトの名無しさん
10/01/08 11:30:18
JavaによるHTTP 1.1のchunkデータの受信に関する記述があるサイトをご存知の方はおりませんでしょうか?

43:デフォルトの名無しさん
10/01/08 13:58:30
URLリンク(java.sun.com)

44:デフォルトの名無しさん
10/01/08 15:15:44
それを使っても、InputStream.readするとIOException: Premature EOFなので、
実際の実装例が載っているサイトを探しています。
BufferedInputStreamにラップしてavailable()の戻り値を見ても、常に0が返ってしまっています。

45:デフォルトの名無しさん
10/01/08 15:30:12
snoopでキャプチャしてみろよ

46:デフォルトの名無しさん
10/01/08 17:18:46
Windowsの開発環境にてクラサバ通信やってるもので……。
フリーのスニファ使うしかないかな、標準じゃ入ってませんよね?

47:デフォルトの名無しさん
10/01/08 17:53:20
URLリンク(jp.sun.com)

48:デフォルトの名無しさん
10/01/09 10:43:48
JPAの@Inheritanceについて知りたいのですが、
@Inheritance付きのエンティティクラスのリストから、
派生エンティティクラスの型を知るにはどうしたらよいでしょうか?

49:デフォルトの名無しさん
10/01/09 14:57:48
そういう機能のあるIDEを使え

50:デフォルトの名無しさん
10/01/10 03:16:47
キーボードからの入力を受けるときに

BufferedReader stdin = new BufferedReader(new InputStreamReader());

という変数名にするとreadLineするときに「標準入力から1行読み込む」みたいでカッコいいので、
いつもこうしてるんですが、やっぱり意味的におかしいから辞めた方がいいでしょうか?

51:デフォルトの名無しさん
10/01/10 04:25:03
キーボードで"syso"って打つとゾクゾクして気持ち悪くなるんですけど、
なんなんでしょうかコレ?
他の文字打っても別になんにも感じないのに。

52:デフォルトの名無しさん
10/01/10 05:13:26
>>50
本当に System.in から読むならそんな名前でも許せるけど、そうじゃな
いストリームから読むのだったら許さない。



53:デフォルトの名無しさん
10/01/10 11:24:53
>>51>>52
自己解決しました。
回答して下さった方々、お疲れ様です。

54:デフォルトの名無しさん
10/01/10 12:15:49
あーもう新年だ。
今年こそ金くれ。

55:デフォルトの名無しさん
10/01/10 22:58:32
質問なのですが
imageからfileへの変換はどのようにすれば良いのでしょうか

56:デフォルトの名無しさん
10/01/10 23:03:42
言ってる意味が分かりません。
Imageオブジェクトをファイルシステムへ保存するという意味なら、
ImageIOを調べると良いでしょう。

57:デフォルトの名無しさん
10/01/10 23:05:03
>>55
javax.imageio パッケージを参照。

58:デフォルトの名無しさん
10/01/10 23:08:45
すみません、imageがよくわからないのですが…

59:デフォルトの名無しさん
10/01/10 23:16:38
それでは答えようがないのですが…

60:デフォルトの名無しさん
10/01/11 00:04:11
ウェブ上で将棋の棋譜を再現できるようにしたくて、
URLリンク(homepage2.nifty.com)
ここに使用例があってhtmlもここのソースとおなじでファイルも全部おなじ
ディレクトリにアップしたのですが、うまく使用できないというかでてきません。
原因は、appletタグの中の
CODE = "kifuj.Applet1.class"
がそうだと思います。
しかし、ダウンロードしたフォルダにはこれがなく、他にダウンロードするところも
ありませんでした。この(kifuj.Applet1.class)は自分でコンパイラなどして作成するものですが?
すみませんが教えてください。

61:デフォルトの名無しさん
10/01/11 01:04:48
>>60
Kifu for Javaのダウンロード用のzipファイルにkifuj.jarとかkifujl.jarとかがあって
そのjarファイルにクラスファイルが入ってるんじゃないの?
jarファイルはちゃんと配備してるか確認汁
それとこの板はプログラミングについての板だから
プログラミングツールならまだしもそうでないソフトの使用法とかは板違い

62:デフォルトの名無しさん
10/01/11 02:08:23
スレリンク(tech板)
★★ Java の宿題ここで答えます Part 68 ★★
スレリンク(tech板)
Javaやらないか(超初心者向け)

63:デフォルトの名無しさん
10/01/11 09:16:08
>>61>>62
すみません。わざわざ丁寧にありがとうございました。

64:デフォルトの名無しさん
10/01/11 11:37:00
>>63
俺に対する御礼はいらんぞ

65:デフォルトの名無しさん
10/01/11 13:01:35
Javaに未来はあるのでしょうか?

66:デフォルトの名無しさん
10/01/11 14:40:48
無いと思ってる理由を知りたい。

67:デフォルトの名無しさん
10/01/11 14:55:23
むしろ未来があるのはJavaだけだな

68:デフォルトの名無しさん
10/01/11 14:56:41
プロセスで1つのデータを保持したい場合は、static変数かインスタンス変数をシングルトン実装にして
もたせると思いますが、どういう使い分けをすればよいのでしょうか?


69:デフォルトの名無しさん
10/01/11 15:08:40
>>68
どの使い分け? static変数とシングルトンの使い分け?
static変数は、ほんとに単にデータを保持したいだけのとき(キャッシュとか)、
シングルトンは、環境によって呼び出される実装を切り替えたいとき(テスト環境ではDBアクセスをモックに差し替えるとか)、かな。
オブジェクトの種類によって呼び出し先を切り替えられるのはインスタンスメソッドの呼び出しだけなので。

70:デフォルトの名無しさん
10/01/11 15:43:14
static変数は
なんで性的変数と言われてるんでしょう?

71:デフォルトの名無しさん
10/01/11 16:06:11
アドレスが変わらずアクセス権があるものは誰でも触れるから。
ローカル変数やローカルなインスタンスはいくつかのプロセスを流れ、
やがて消えてゆく。

72:デフォルトの名無しさん
10/01/11 16:19:41
「性的変数」

73:デフォルトの名無しさん
10/01/11 16:31:56
練習問題みたいなのが載ってるサイトってありませんか?
Javaの勉強したいんで
できれば、コードの間違え探しとかの問題じゃなくて、
クラス図とかがあってそれを実装しろみたいな問題が
(ぶっちゃけ自分で機能要件まで決めて勉強する気にはなれない)

74:デフォルトの名無しさん
10/01/11 16:42:21
>>69
ありがとうございます。
データをただキャッシュするだけでしたらstatic変数でよいのですね。


75:デフォルトの名無しさん
10/01/11 16:49:58
違う。逆
static変数でなくてもいい

76:デフォルトの名無しさん
10/01/11 17:21:56
どっちでもいい

77:デフォルトの名無しさん
10/01/11 17:29:19
定数やクラスに属するものは静的変数でしょ。
動作上はどっちも一緒だけど。

78:デフォルトの名無しさん
10/01/11 17:31:15
多態勢とかバグ生む源だろ…

とかいまだに思ってる俺にJavaは向いてない?

79:デフォルトの名無しさん
10/01/11 17:35:41
向いてない

80:デフォルトの名無しさん
10/01/11 18:09:13
多態性はカプセル化の帰結だからねぇ。カプセル化に異議って聞いたこと無い。
手続き型vs関数型・トランザクションvsドメインの争いなんかとかとは次元が違う。

81:デフォルトの名無しさん
10/01/11 18:18:14
>>78
低能君には何も向いてないよ

82:デフォルトの名無しさん
10/01/11 18:26:51
>>81
は?
同じメソッド名なのに、引数違うだけで戻り値違うとか頭おかしいだろjk

83:デフォルトの名無しさん
10/01/11 18:35:28
ググりながらもブロック崩しの雛形みたいなものを作りましたが、疑問があります。
URLリンク(www1.axfc.net)

Ball、RacketクラスでMainPanelクラスのオブジェクトを作っていないにも関わらず、
MainPanel.HEIGHTのようにMainPanelクラスのフィールドを参照できるのは何故でしょうか。

自分で調べた結果staticだからではないかと結論に至りましたが、自信が持てないため質問させていただきました。
どなたかご教示下さい。

84:デフォルトの名無しさん
10/01/11 19:07:24
>>82
おまえ使い方理解してないでしょ
ポリモルフィズムの恩恵は特徴を抜き出し、
共通して使える処理のメンテナンスを容易にすることにある。
C言語でいうとこのqsortに使うコンペア関数なんかと同じ。

共通して使えない処理は公開しないように作るからむしろバグは減る。

85:デフォルトの名無しさん
10/01/11 19:50:35
>>83
その通り
static がついたクラスメンバ変数は、オブジェクトに依存しない

86:デフォルトの名無しさん
10/01/11 20:08:36
JTextArea上にtxtファイルの内容を表示させるにはどうすればいいですか?

87:デフォルトの名無しさん
10/01/11 20:24:34
>>78脳には多態勢という用語があり、それはいわゆるオーバーロードを意味する言葉である。

88:デフォルトの名無しさん
10/01/11 20:25:58
JTextArea・・・コンストラクタでもappendでもinsertでもお好きな方法で。

89:83
10/01/11 20:41:09
>>85
ご回答ありがとうございました。

90:デフォルトの名無しさん
10/01/11 20:41:30
それ以前にtxtファイルの読み方が分からないという気もするな・・・
BufferedReader in = new BufferedReader(new FileReader("input.txt"));
文字化けするなら
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"),"UTF-8"));
と文字セットを指定。

91:デフォルトの名無しさん
10/01/11 20:50:28
>>88>>90
ありがとうございます。Filereaderでテキストファイルを読み出してやろうとしていたのですが、そのあと
ストリームを開いてJTextAreaに書き出すのがよくわからないのです。
重ね重ね申し訳ありません。よろしくお願いします。

92:デフォルトの名無しさん
10/01/11 20:55:29
コンパイルとビルドって同じ意味ですよね?

93:デフォルトの名無しさん
10/01/11 21:01:27
>>84
メンテがしやすいっていうのはわかってる
これが重要だということもわかってる
(そりゃメンテする人間なんて、
 メンテするまでソース見たことないようなやつらばっかだろうから、
 そういう特徴があれば間違いなくやりやすいさ)
ただ、メンテのことまで考えて、きちんと多態性を理解してソース組んでるJavaプログラマが
どれだけいるかが疑問なんだよ
曖昧なまま、多態性なんて言葉使ってソース組んでも、わかってないやつがどっかで絶対バグ出すだろ
(要は多態性の恩恵を受ける側じゃなくて、与える側の問題)

>>87
いわゆるオーバーロードが多態性を示す一番の特徴だと思ったから引用しただけだボケ

94:デフォルトの名無しさん
10/01/11 21:11:34
勘違いしとるのー。
オーバーロードの無いVBAでも多態性使えるんだぜimplement文で。

95:デフォルトの名無しさん
10/01/11 21:17:06
>>93
フレームワークを書く人とビジネスロジックを書く人のスキルが同じである必要は無いよ。
業務ルールとしてある共通クラスを継承してから、ガイドに沿ってコードを書いてねって指示するだけ。

96:デフォルトの名無しさん
10/01/11 21:22:52
>>95
まぁその辺の分担がしっかりしてて、各担当が後々のこと考えて設計してりゃ大丈夫だとは思うけどさ
実際、それだけのスキル持ってるやつっている?

97:デフォルトの名無しさん
10/01/11 21:22:59
>>95
あっそ

98:デフォルトの名無しさん
10/01/11 21:23:16
異なる処理を共通化されたインタフェースで扱えるのが多態性の特徴
異なるインタフェースを同じ識別子で扱うオーバーロードじゃ逆だハゲ

99:デフォルトの名無しさん
10/01/11 21:29:56
なんという正論
世の中のJava入門書の著者にも言ってやってくれ

100:デフォルトの名無しさん
10/01/11 22:46:26
オーバーロードと多態性って関係なくね?

101:デフォルトの名無しさん
10/01/11 22:52:00
関係なくね?


102:デフォルトの名無しさん
10/01/12 04:58:15
くね?

103:デフォルトの名無しさん
10/01/12 05:48:37
なくなくね?

104:デフォルトの名無しさん
10/01/12 06:15:39
     しばらく くねくねでお待ちください。

             ヽ)∵)ノ
             (  (
              )  )

105:デフォルトの名無しさん
10/01/12 08:48:17
嫌です

106:デフォルトの名無しさん
10/01/12 08:57:58
             ヽ)'A`)ノ
             (  (
              )  )

107:デフォルトの名無しさん
10/01/12 11:00:11
SJC-WC取ったからサーブレットでサーバしてみたいです><

レンタルホームページと同様で、作ったファイル(WAR)を
レンタルサーバに転送するだけで動くの?

108:デフォルトの名無しさん
10/01/12 14:37:31
>>107
Tomcat インスコすれ

109:デフォルトの名無しさん
10/01/12 15:19:13
>>64
ありがとうございました

110:デフォルトの名無しさん
10/01/12 20:05:10
>>109
御礼禁止

111:デフォルトの名無しさん
10/01/12 20:50:37
JEditorPane とかいつの時代か分からないような古い HTML ソース吐くんだな。
xhtml 作ってくれれば使えるのに。。

112:デフォルトの名無しさん
10/01/12 22:59:56
URLリンク(www.koiroha.org)
その HTML を HTML パーサに食わせて、その DOM から <font> なんかを適当に置き換えてやればおk

113:デフォルトの名無しさん
10/01/13 00:17:41
swingのコード(JDK)を読んでいると、firePropertyChange("document", old, doc);みたいに
firePropertyChange()がよく出現します

addPropertyChangeListener()とfirePropertyChange()は対になっていると思うのですが、
firePropertyChange()しか使われていません

firePropertyChange()どこにイベントを通知していのですか?

114:デフォルトの名無しさん
10/01/13 00:22:31
addPropertyChangeListener() の対になっているのは removePropertyChangeListener()。
firePropertyChange() はプロパティの変更を誰かに通知するためのものだから Swing 内で使っている。
その通知を受けたいプログラム (Swingの利用者) が addPropertyChangeListener() でリスナを登録する。

115:デフォルトの名無しさん
10/01/13 00:40:37
Javaでジェネリックなツリーが使いたいんだけど
英語圏ぐぐっても独自実装のものしか出てこない
どうしてJDKに実装されてないの?

116:デフォルトの名無しさん
10/01/13 00:56:45
【IT】人気プログラミング言語ランキング…PHPがC++を抜く 1位はJava [10/01/12]
スレリンク(bizplus板)

117:デフォルトの名無しさん
10/01/13 11:33:03
ジェネリックなツリーといわれても
javax.swing.tree.DefaultTreeModel とか org.w3c.dom.Document は?

118:デフォルトの名無しさん
10/01/13 13:24:39
読み込んだファイルがEUC-JP,Shift_JIS,UTF-8のいずれでもUTF-8にする
ってJavaでどうやれば出来ますか?

String.getBytes("UTF-8");
を使うと、もとからUTF-8の場合に文字化けしてしまいます

119:デフォルトの名無しさん
10/01/13 14:13:52
独習Javaって本は何年発行だコラ

120:デフォルトの名無しさん
10/01/13 14:42:36
>>118
> 読み込んだファイルがEUC-JP,Shift_JIS,UTF-8のいずれでもUTF-8にする
> ってJavaでどうやれば出来ますか?

それは、読み込むファイルのエンコーディングがどれかわからないということ?
JISAutoDetectはUTF-8に対応してない気がするし、自分で判定コードを
書くしかないのでは。

> String.getBytes("UTF-8");
> を使うと、もとからUTF-8の場合に文字化けしてしまいます

それで得られるのはUTF-8のバイト列なんだから、UTF-8対応の環境で見
ないと化けるよ。




121:デフォルトの名無しさん
10/01/13 15:51:20
ちょっと混乱しているのですが、
スーパークラスなどで定義したクラスをサブクラスでインスタンス化するまでは
分かったのですが、そのサブクラスを配列して要素数で参照できる様にするには
どうすればいいのでしょうか。

122:デフォルトの名無しさん
10/01/13 15:55:35
[ ]つけて定義すればOK

123:デフォルトの名無しさん
10/01/13 15:55:53
>>121
SuperClass[] array = new SubClass[100];
SuperClass obj = array[3];

という意味?

124:デフォルトの名無しさん
10/01/13 16:10:18
>>123
1行目と2行目の間にオブジェクトを作らないとだめ
array[3]=new SubClass();
が必要。

125:121
10/01/13 16:49:26
ご回答ありがとうございます。
しかし、私は勘違いしていたみたいで、サブクラスはextendsなどでスーパークラスをオーバーロードして
具現化しそれをfor文などで配列に入力するのだと思っていました。

そこで、申し訳ないのですが以下のスーパークラスの場合はサブクラスの定義と
インスタンス化はどうすればいいのでしょうか?
class hani{
String kantaiName;
int Xaxis;
int Yaxis;
int Xwide;
int Ywide;
String Media;
}

126:デフォルトの名無しさん
10/01/13 16:55:09
>>125
サブクラス定義は
class SubClass extends SuperClass{}
インスタンス化は>>123-124参照

127:デフォルトの名無しさん
10/01/13 17:13:28
>>125
クラス名は大文字で始めて、変数名は小文字から始めた方がいいよ
あと、class Hani のコンストラクタが何にもする必要がなくても
protected Hani(){} 位は入れておいた方がいい。
で、サブクラスで
class SubClass extends Hani {
public SubClass(){super();}
}
とする。

128:121
10/01/13 17:15:18
僕のイメージが間違っている様な気がするので確認させていただきます。

class SubClass extends SuperClass{}でサブクラスをインスタンス化して

その後、サブクラスを配列に以下のように入力すればいいのでしょうか?

SuperClass[] array = new SubClass[100];
for(int i=0; i<100; i++){
array[i]=new SubClass();
SuperClass obj = array[i];
}

ご面倒をお掛けして申し訳ありません。

129:デフォルトの名無しさん
10/01/13 17:17:52
>>128
クラス定義では絶対にインスタンス化はできない。
あと、for 文中の SuperClass obj = は無意味なので、
これでいいか悪いかは判定不能。

130:121
10/01/13 17:27:00
>>129
すみません、以下のような感じでサブクラスのインスタンス化をしようとしています。
class kanji extends Hani{
String kantaiName = "円";
int Xaxis = 60;
int Yaxis = 40;
int Xwide = 120;
int Ywide = 50;
String Media = "radio";
}

131:デフォルトの名無しさん
10/01/13 17:33:55
>>130
Hani instance = new kanji();
instance.kantaiName = "円";
instance.Xaxis = 60;
/* 中略 */
instance.Media = "radio";

ってことをやりたいのか?

132:121
10/01/13 17:37:37
大変申し訳ありません。インスタンス化とサブクラス化を
サブクラス化したものを具現化することをインスタンス化と思い込んでいました。
正しくはクラスを定義した時にインスタンス化してそれを配列に出来ないかという質問をすべきでした。
皆様、本当にすみさせんでした。

133:デフォルトの名無しさん
10/01/13 20:03:25
>>132
ひょっとしてこう?
class A {
public A(){}
private static A[] a = generate(100);
private static A[] generate(int n){
A[] result = new A[n];
for(int i=0; i<n; i++){
result[i]=new A();
}
return result;
}
}

134:113
10/01/13 21:09:58
>>114
thx

135:デフォルトの名無しさん
10/01/13 21:43:35
>>133
それはインナークラス

136:デフォルトの名無しさん
10/01/13 23:02:56
public static void main(String[] args)
public static void main(String args[])

2通りの書き方を見かけますが、どちらを使うべきでしょうか?
単純に好みの問題ですか?

137:デフォルトの名無しさん
10/01/13 23:08:58
>>136
前者

138:デフォルトの名無しさん
10/01/13 23:13:16
>>137
ありがとうございます。前者を使うことにします。こっちの方がわかりやすいですね。

139:デフォルトの名無しさん
10/01/13 23:16:35
>>135
インナークラスって
class A {
class B{
}
}
とかいうのじゃないの?

140:デフォルトの名無しさん
10/01/13 23:20:10
>>138
後者で統一しないと怒られる古臭い会社もある
CがJavaより偉いと思ってる人達

141:デフォルトの名無しさん
10/01/14 00:00:28
>>140
えらい云々より変化について行けない人達って言ったほうが近いかも

142:デフォルトの名無しさん
10/01/14 00:30:25
>>141
java入門書にはString args[]って書いてあったのでそのまま憶えた。違いの理由教えて!

143:121
10/01/14 00:36:14
皆様ありがとうございました。

144:デフォルトの名無しさん
10/01/14 00:41:58
>>142
ただ単に慣れから脱しきれない人が書いた本てだけの話

145:デフォルトの名無しさん
10/01/14 03:51:00
解答者がアホ過ぎ…

146:デフォルトの名無しさん
10/01/14 08:38:01
>>145
具体的に指摘できない無能な方は黙っていていただけないでしょうか?
貴方がいるだけで迷惑です。

147:デフォルトの名無しさん
10/01/14 08:56:38
>>145
もう一度言いますが、無能な方は黙っていていただけないでしょうか?
貴方がいるだけで迷惑です。

148:デフォルトの名無しさん
10/01/14 21:09:10
>>145
何度でもいいますが、無能な方は黙っていていただけないでしょうか?
貴方がいるだけで迷惑です。

149:デフォルトの名無しさん
10/01/14 21:28:34
>>142
ツールでソース解析するときに String[] args のほうが、微妙に簡単な気がする。
ほんとに微妙な差ではある。

150:デフォルトの名無しさん
10/01/14 21:52:42
>>149
ほへ?

151:デフォルトの名無しさん
10/01/14 22:14:16
String[] args は型、 String args[] はシンタックスシュガー(キリッ

152:デフォルトの名無しさん
10/01/14 22:41:07
javax.swing.text.AbstractDocument#putProperty(Object key, Object value)
javadocを読んでみましたが、putPropety()がどのような働きをするのかわかりません
ひとまず、改行関係でputPropety()を使っているな〜程度のことはわかります
ヒントをください

153:デフォルトの名無しさん
10/01/14 22:51:08
>>152
簡単なプログラムを組んでテストしてみるとか

154:デフォルトの名無しさん
10/01/14 23:06:25
>>150
解析ツール側での正規表現。

155:デフォルトの名無しさん
10/01/14 23:19:39
String[] args → 「文字列型の、配列の、args」

String args[] → 「文字列型の、args、は配列要素でしたプギャー」

156:デフォルトの名無しさん
10/01/15 00:11:31
自前実装したPaintインスタンスをGraphics2D#setPaint()で与えると極端に重くなるようです。
何か解決策はあるのでしょうか?自分で書いたことがある人などいらっしゃいましたらよろしくお願いします。
よくわかりませんが、アンチエイリアスOFFと組み合わせると遅くなるようです。(ONだと速かった)
コードは下記になります。sdk 6

URLリンク(codepad.org)

157:デフォルトの名無しさん
10/01/15 00:12:38
※グロ注意です

158:デフォルトの名無しさん
10/01/15 00:50:51
>>155
同じもので初期から許されてはいたんですけどね

結局グループで作ることを前提にしてるかどうかの違いですよね

159:デフォルトの名無しさん
10/01/15 01:27:05
>>146-148
なにこの煽り?笑ってしまった 
機会があったら使ってみたい

160:デフォルトの名無しさん
10/01/15 03:00:50
>>145
迷惑です。

161:デフォルトの名無しさん
10/01/15 08:22:56
楽しいか?

162:デフォルトの名無しさん
10/01/15 09:07:53
これでfalseって出るんだけどどういう可能性が考えられる?
ソースファイルはutf-8

Pattern pattern = Pattern.compile("H");//UNICODE_CASE指定してもfalse
Matcher matcher = pattern.matcher("Hello World.");
System.out.println(matcher.matches());

163:162
10/01/15 09:18:34
自己解決

164:デフォルトの名無しさん
10/01/15 10:52:30
>>156
そういうものです
元々Java2Dは遅かったのですが、特定の状態 (特定のStroke、特定のPaint、特定のComposite等) の場合は
本来のJava2Dパイプライン (Stroke#createStrokedShape, Paint#createContext, PaintContext#getRaster, Composite#createContext, CompositeContext#composite等)
をすっとばして直接描画を行う最適化がなされ、ハードウェアアクセラレーションも効いて速くなります
自作のクラスに対してはそのような裏技を使えないので、従来通りの処理が必要になり、遅いままです
別のBufferedImageに描いてからそれをTexturePaintするとか、円形のクリッピング領域を設定してdrawImageするとか、
自作のクラスを使わずに済む方向を模索した方がよいです

165:デフォルトの名無しさん
10/01/15 10:55:10
解決経緯を書けやゴルァ!

166:デフォルトの名無しさん
10/01/15 11:15:02
>>162-163
自己解決してるがfindを使えと

167:162
10/01/15 12:00:35
".*H.*"
にしたら見つかりました
いくつかの解説サイトでは"H"だけで見つけれるみたいに書かれてますが
解決手段が見つかったのでこれ以上考えても仕方ありません。

168:デフォルトの名無しさん
10/01/15 12:08:09
interfaceでメンバ変数作ると、static finalだからinterfaceですぐ代入しないといけませんよね?
つまり、実装クラスでinterfaceで定義されたメンバ変数に代入する事は出来ませんよね?
あと、interfaceでstaticなメソッドを宣言(staticなアクセサを作りたい)する事は出来ませんよね?

要するに、interfaceにstaticなフィールドを作りたいんだけど、
値は実装クラスによって異なる。(一度定義すれば変わらない)
interfaceにstaticなアクセサか実装クラスから代入出来るstaticなフィールドを宣言したい。

これが可能なのかどうか、代わりにどんな手段があるのか教えて下さい。

169:デフォルトの名無しさん
10/01/15 12:09:15
>>167
だから、findを使えと

170:168
10/01/15 12:12:07
追加で状況説明。

絶対に変わることの無い定数が各実装クラス全てにあって、
定数だからstaticなアクセサ(あるいはフィールド直)で参照したいんですが、
同時に各実装クラスにあるんだからinterfaceにまとめたいんです。
staticにしなければ可能ですが、その定数を取得するためだけに実体化はめんどくさい。

171:sage
10/01/15 12:13:22
>>156
例えば、createBufferStrategy(3)とか、
createBufferStrategy()の引数を変更してみては?

それにカスタムPaintをテストしたいだけなら、
Paintのテスト自体には不要なBufferStrategy等の
余計な処理をしないで、paint系メソッドをオーバーライドした
JComponentを使用してみては?

paint系メソッドをオーバーライドしたJComponentで
同等のコードを試したら、さくさく動きましたよ。

172:デフォルトの名無しさん
10/01/15 12:25:24
>>168
もうちょっと詳しく。
interface A {}
class B implements A { static final int X = 10; }
class C implements A { static final int X = 20; }
のようにAの各実装クラスごとに値の異なる定数があって、この2つのXをなんとかしてAにまとめて
class D {
public static void main(String[] args) {
System.out.println(A.X);
}
}
のようにstaticにアクセスしたいってこと?

173:168
10/01/15 12:31:10
>>172
YES!

今試してるんですが、interfaceで定義したstatic変数は、
実装クラスの同名static変数と同一で、
片方の値を変えればもう片方も変わります。
staticだから当然ですが。

実装クラス毎に異なる値で、でも全ての実装クラスが同じ名前でアクセス出来るstatic変数を持ちたい。
interfaceにまとめないのなら話は簡単ですが、
まとめれないとなると、interface型で実体化して参照したコードでそのstatic変数は使えない事になります。

ちなみに出来ればアクセサを介したい。

174:デフォルトの名無しさん
10/01/15 12:32:18
質問です。
今、ミニゲーム集のタイトル画面のようなものを作成しているのですがゲームの選択のところで悩んでいます。
「タイトル画面内のゲーム名の書かれたボタンを押す」→「そのゲームを起動する」のような処理を行いたいのですが、どういった方法があるでしょうか?
理想としてはボタンのアクションにjarファイルの起動を関連付けられれば一番良いのですが・・・。

もし、これらの方法を知っている方がいらしたら教えていただけないでしょうか?
よろしくお願いします。

175:168
10/01/15 12:36:48
>>172
あ、1箇所訂正があります。
参照するコードは、
A.Xだけではなく、B.X 、 C.X もありえます。

176:デフォルトの名無しさん
10/01/15 12:52:13
なんでstaticでアクセスしたいんだ?

177:デフォルトの名無しさん
10/01/15 12:52:55
>>168
staticってことは、何も実体化してなくてもアクセスできるわけだけど
その場合、何が得られることを期待しているのでしょうか
つまり、何もnewせずにmainでいきなり
public static void main(String[] args) {
System.out.println(A.X);
}
ってやると、何が出力されることを期待しているのでしょうか
10? 20? それとももっと何か別のもの?
あるいは、何もnewしないうちは0で、BかCをnewした時点で値が確定してほしいとか?

178:デフォルトの名無しさん
10/01/15 12:54:24
static finalなフィールドって実装クラスで上書きできねんだっけ?

179:デフォルトの名無しさん
10/01/15 13:06:56
オブジェクト型ならfinalって参照先の固定でしょ?
初期値がnullなら一回だけnewやらを許可しないんだっけ?
今試せないから知らないけど。

プリミティブ型なら無理そうだけど。

180:168
10/01/15 13:10:03
>>177
class B,Cでstatic finalな変数Xをそれぞれ定義します。
class B,Cをインスタンス化して参照するクラスがあります。
class Aを期待して参照するメソッド(以下RefAメソッド)もあります。

RefAに対しては、RefAの該当メソッドを利用するクラスが、
BとCどちらのオブジェクトを渡すか選べる事になります。

もしmain()からいきなり呼ぶとすれば、
B.XかC.Xになります。(mainは他からメソッドとして呼び出されないため)
このときB.XとC.Xは同時に利用する可能性がありますが、
異なる値を設定出来ない問題が発生します。

同じ名前で実装クラス毎に異なる値を持ちたいと言う事です。
そうすれば、BでもCでもどちらでも渡せるメソッドを書く事が出来ます。
そういう値をstaticにする事は可能なのかな、ということです。

現状のアイデアとしては、
Aにはstaticなフィールドを作らずに非staticなアクセサだけを定義しておいて、
B,Cにstaticなフィールドを定義し、同時に非staticなアクセサも実装する事です。
こうすればA型を期待したコードもかけるし、
B,Cに対してstaticな参照も出来ます。

と言うかこれが答えで良いかもしれません。

181:デフォルトの名無しさん
10/01/15 13:27:55
public interface I {

public static final int a = 100;
}

public class C1 implements I {

public static final int a = 200;

}

public class C2 implements I {

public static void main(String[] args) {
System.out.println(C1.a);
System.out.println(C2.a);
}
}

実行結果
200
100

これでええんかな?

182:デフォルトの名無しさん
10/01/15 13:33:45
interfaceのstaticフィールドとかenumが無かった頃の遺産でしょ

183:デフォルトの名無しさん
10/01/15 13:42:21
>>181
同じ a でも C1 経由でアクセスするとオーバーライドされた値を参照する。

184:168
10/01/15 14:03:42
>>181
それは実行結果が両方200になるはずです

185:デフォルトの名無しさん
10/01/15 14:04:29
>>184
なんないよ、試してごらん

186:168
10/01/15 14:11:11
すみません勘違いしてました、異なる値持てますね。
interfaceにだけstaticな変数が宣言されてると
実装クラスもinterfaceのを指すけど、
実装クラスで改めて宣言されると個別の値をもてるようです。

187:デフォルトの名無しさん
10/01/15 14:41:36
static final な 配列ってどうすれば内部データ変更されずにすみますか?
ArrayListとかHashMapと同じで中身は変えられてしまうんですよね。

188:デフォルトの名無しさん
10/01/15 15:15:49
ArrayList<StaticFieldClass>
でいいんじゃないの?
class StaticFieldClass{
static final int a = 1;
}
とかやっとけば

189:デフォルトの名無しさん
10/01/15 15:22:34
とかやっとけば

190:デフォルトの名無しさん
10/01/15 15:28:45
>>187
配列の中身を直接見せないようにし、必ずgetXxxメソッド経由でアクセスさせる

191:デフォルトの名無しさん
10/01/15 15:36:49
>>188でFAだろ
>>190とか要素を直接見せない手段を示して無いし

192:デフォルトの名無しさん
10/01/15 15:40:04
示して無いね

193:デフォルトの名無しさん
10/01/15 15:57:41
finalとかの言語的な規制が働かないって話なのに
参照する側に性善説期待して終了か

194:デフォルトの名無しさん
10/01/15 16:05:13
188をどうやって使うのかがわからん…

195:デフォルトの名無しさん
10/01/15 16:07:47
swingのJTableでテーブルつくたんだけど、
そのテーブルの上にテキストフィールドって作れますか?


196:デフォルトの名無しさん
10/01/15 16:07:50
>>194 俺もわからん・・・

197:デフォルトの名無しさん
10/01/15 16:10:08
class StaticFieldClass{
final int a = 1;
}
こうだなやるなら

198:デフォルトの名無しさん
10/01/15 16:20:29
>>197
Integerで良いんじゃね?

199:デフォルトの名無しさん
10/01/15 16:27:02
回答者が無能すぎ…

200:デフォルトの名無しさん
10/01/15 16:28:09
>>199が良回答をすればいいと思うよ

201:デフォルトの名無しさん
10/01/15 16:30:26
無能なりにがんばって回答してみるスレでもあると思う

202:デフォルトの名無しさん
10/01/15 16:33:11
配列なら
int[] getIntArray(){
return (int[])array.clone();
}

List なら
List<Data> getDataList(){
  return Collections.unmodifiableList(list);
}

バイト配列なら read only な ByteBuffer のみを見せるのでも良い。

203:デフォルトの名無しさん
10/01/15 17:45:47
>>195
テーブルのセルに好きな部品を載せれるからそこにJTextFieldでも使えば良い
TableCellEditorとTableCellRendererについて要調査


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5394日前に更新/167 KB
担当:undef