08/08/03 21:32:48
>>811
ありがとうございます。
無理なのですか…残念です。
【時刻】2008/08/03/21:31:10
【時刻】2008/08/03/21:31:11
【時刻】2008/08/03/21:31:12
【時刻】2008/08/03/21:31:13
【時刻】2008/08/03/21:31:14
…
となるのは見苦しいですが、しょうがないのですね…
814:デフォルトの名無しさん
08/08/03 21:34:46
>>809,810,812
おまいらThx!即レスThx!
815:デフォルトの名無しさん
08/08/03 22:18:56
>>813
しょうがないっていうか、コンソールってどういう目的であるか考えろよ。
見苦しいんじゃなくて、そう流れるのが普通
816:デフォルトの名無しさん
08/08/03 22:33:11
HttpUnitすげーっと思って使ってみたらJavaScriptで落ちまくるw
これはやり方が悪いのかねぇ。
どうもページ内でリンクされてる外部のJavaScriptを読みにいってないっぽいんだよなぁ
817:デフォルトの名無しさん
08/08/03 22:42:47
>>813
こんなことは出来るんじゃないか?
System.out.print("HOGE");
System.out.write(0x0D);
System.out.println("ORZ");
818:デフォルトの名無しさん
08/08/03 23:04:56
>>806
丁寧にありがとう。Springを使ってる。言ってることも理解できます。
実践J2EEシステムデザインって本読んで、それを参考にやってますが、
やりたいことは、コントローラでビジネスロジックを呼び出す回数を出来る限り
少なくして、コントローラのテストを簡単にしたい。
コントローラが扱うビジネスクラスを限定したいのです。
そのために、ビジネスロジックのinterfaceを2段がまえにして、
コントローラから呼ばれるinterfaceはexecuteである程度汎用化して、
(ObjectかMapでモデルオブジェクトだけ返してくれれば十分なので)
これしか呼ばないようにする。ビジネスロジックの入り口。
より具象化した型はexecuteを実装したクラスの中だけで
扱うようにしたいんだけど、これは変なのでしょうか?
public interface Hoge<T, E>{
T execute(E object)
}
public class HogeImpl<Void, Integer>{
private Foo foo; // DIする
private Bar bar; // DIする
public int execute(Object o) {
foo.doXXXLogic()
bar.doYYYLogic()
return foo.getZZZ() + bar.getZZZ();
}
}
public interface Foo{
int doXXXLogic();
}
public interface Bar{
Biz doXXXLogic();
}
819:818
08/08/03 23:09:18
すみません、訂正。
public interface Hoge{
int execute()
}
public class HogeImpl{
private Foo foo; // DIする
private Bar bar; // DIする
public int execute() {
return foo.doXXXLogic() + bar.doYYYLogic();
}
}
public interface Foo{
int doXXXLogic();
}
public interface Bar{
int doXXXLogic();
}
820:デフォルトの名無しさん
08/08/03 23:32:01
>>818
だから、テストするクラスが少なくなってもテストするパターンが複雑になるんじゃ本末転倒。
それよりは静的言語のメリットを生かして、ビジネスロジックごとにインターフェイスきる方がいいんじゃね?ってのが流れだと(ry
>これは変なのでしょうか?
あえて時代に逆行しているのは構わないけど、誰からも支持されてないよな?
それが答えだよ
821:デフォルトの名無しさん
08/08/03 23:39:31
>>820
コントローラでぐちゃぐちゃとビジネスクラスを呼び出してる方が
テストは複雑な気がするのですが・・・。
POJOじゃないクラスでのテストが増えるってことでしょう?
822:デフォルトの名無しさん
08/08/03 23:55:14
ビジネスロジックを意味のある塊に纏めて実行するビジネスロジックを用意すればいいじゃないか。
変な皮被せるんじゃなくて、純粋にビジネスロジックとして纏めるんだよ。
何のための DI だよ?
823:デフォルトの名無しさん
08/08/04 00:37:01
>>817
目的のことが出来ました!
ありがとうございます。
824:822
08/08/04 00:39:08
と思ったら、DI してるのか。
しかし >>818,819 は何だ?
Foo も Bar も静的に型が決まるんだから、汎化して呼び出す意味が分からん。
本来 Foo やら Bar やらが持つ意味どおりに getXxx やら getYyy を呼べよ。
真剣にその汎化して呼び出す理由が分からん。
例えばカートを扱うサービスがあったとして、 putXxx とか removeYyy とかやりたいと思うのだが、
それだともの凄く窮屈じゃないか?
とても分かり難いソースにならないか?
実装とインタフェースの分離ってのは、やってもらうことは決まってるけど実装には依存しないってことだよ。
何でも屋インタフェースを用意するってことではないよ。
会計データを入力すると決算書を吐くインタフェースはあっていいが、
何か頼むと何かやってくれるインタフェースなんてあっても意味ないぞ。
825:デフォルトの名無しさん
08/08/04 00:40:21
なんか根本的に話が通じてない気がするな
そもインターフェイスを統一することに何のメリットがあるんだ?
826:デフォルトの名無しさん
08/08/04 00:49:42
誰でも簡単に使える(笑)フレームワークでも目指しているんじゃない?
827:デフォルトの名無しさん
08/08/04 00:52:43
おk、インターフェイス名はプログラムIDの連番
全ての定義メソッドはexecuteだ
プログラムID+Resultという型で結果を返すこと
この手の設計と似ているね・・・
828:デフォルトの名無しさん
08/08/04 01:11:15
serialVersionUIDについて質問させてください。
次のようにクラスに追加したら、シリアライズに関するエラーが
なくなると思っているのですがなくなりません。
どこが問題なのでしょうか。
model = new DefaultTableModel(column, 0) {
// シリアライズに関する警告を消そうと思い追加
private static final long serialVersionUID = 1;
// オーバーライドしたいメソッド
public Class<?> getColumnClass(int columnIndex) {
return Integer.class;
}
};
便乗になるのですが、このようにクラスのインスタンスの生成時にメソッドを
オーバーライドするというのは、よくあることなのでしょうか。
普通は、サブクラスを作成してそこでメソッドをオーバーライドし、
サブクラスのインスタンスを作成するものだと思うのですが。
829:デフォルトの名無しさん
08/08/04 03:35:19
>>828
ただ、エラーを消すために、
private static final long serialVersionUID = 1;
こんなことするくらいだったら、
eclipseの設定で出なくしちゃっていいよ。
設定のコンパイラの辺りでどーにかなるよ。
それが嫌ならちゃんと直列化について勉強するとよいよ。
830:デフォルトの名無しさん
08/08/04 03:38:16
>>828
イベントリスナやら、Comparatorなんかではよく見るけど、
インタフェースを実装するときがほとんどだな。
つまり、よくあることではない。
ってことだ。
831:デフォルトの名無しさん
08/08/04 07:34:59
>>828
@SuppressWarnings でおk。
@SuppressWarnings嫌いって多いけど、
そうなら勉強するしかない。
そして@SuppressWarningsが正解で、
デフォルトバージョンを入れてしまうことが間違いだと分かる。
>>便乗になるのですが、このようにクラスのインスタンスの生成時にメソッドを
>>オーバーライドするというのは、よくあることなのでしょうか。
よくある。
別にクラス作っても一緒だけど、
「たった一つ振る舞いを変える」かつ、
「その振る舞いはそこでしか使わない」
の場合は生成時オーバーライドが一番見やすい。
832:デフォルトの名無しさん
08/08/04 10:05:14
>>825
DI登場以前にはメリットがあった。
トランザクション管理とか、ロギングとかね。
今では、過去の遺物だと思う。
833:デフォルトの名無しさん
08/08/04 10:12:56
serialVersionUIDの警告はIDEが過剰に出してるものだからIDEの設定で切るのが筋。
javacやantだと出ないでしょ、たしか。
834:デフォルトの名無しさん
08/08/04 12:12:00
JAVAの最大化ボタンを押せなくする(使用不可能)プログラムを教えてください。
お願いします。くぐったんですけど出てきませんでしたm(__)m
835:デフォルトの名無しさん
08/08/04 13:00:25
URLリンク(www.uploda.org)
↑
mojiフオルダ内にある[moji000~moji004]の5枚の画像について、読み込み
とある処理をして出力するプログラムなんですが
[moji0~moji4]を読み込むにはどのように書き換えればよいのですか?
836:デフォルトの名無しさん
08/08/04 13:05:36
>>835
宿題スレで書いてもらったコードだろ・・・
>private static DecimalFormat df = new DecimalFormat("000");
を
private static DecimalFormat df = new DecimalFormat("0");
でどうよ?
837:デフォルトの名無しさん
08/08/04 13:13:21
>834
java.awt.Frame#setResizable(boolean)
838:デフォルトの名無しさん
08/08/04 13:40:13
>>837
それはImportの所に置きますか?
それとも初期化の所に置くのですか?
839:デフォルトの名無しさん
08/08/04 16:54:05
JTableで作成したテーブルのカラムを後から変更することは
できるでしょうか。
getColumnNameがあるのに、setColumnNameがないようなのです。
また、getColumnで取得できるTableColumnにも
名前を設定できるメソッドがありません。
840:デフォルトの名無しさん
08/08/04 17:17:42
setHeaderValue(Object)ってなかったっけ?
841:デフォルトの名無しさん
08/08/04 17:38:42
それでいけました!
ありがとうございます。
842:デフォルトの名無しさん
08/08/05 09:44:13
Objectクラスはnewできますが、new Object()をする場合などあるのでしょうか。
今までロックインスタンス用としてしか使用したことがありませんが、他に有意義な使用法等あれば教えてください。
843:デフォルトの名無しさん
08/08/05 09:51:55
>842
URLリンク(www.google.co.jp)(%22
844:デフォルトの名無しさん
08/08/05 11:34:30
while ・・・
String a;
a = ・・・
}
は
String a;
while ・・・
a = ・・・
}
すべきといわれますが、なぜでしょうか?
845:デフォルトの名無しさん
08/08/05 11:52:37
{がなくてwhileがどうなってるかわからんけど前者だとaの定義を何回も行う事になるから。
846:デフォルトの名無しさん
08/08/05 12:01:06
>>844
一般的には、前者の方がスコープ短くできるので良いとされる。
後者が良いのは a の初期化処理が共通で使いまわせる場合とかだね。
847:デフォルトの名無しさん
08/08/05 13:08:42
a.xml
=======
<a>
<b>
<c>1</c>
</b>
</a>
=======
b.xml
=======
<a>
<b>
<c>2</c>
</b>
</a>
=======
を下記のようにマージするクラスやフレームワークはあるでしょうか?
<a>
<b>
<c>1</c>
</b>
<b>
<c>2</c>
</b>
</a>
848:デフォルトの名無しさん
08/08/05 14:32:09
クラスをbyte[]に変換することは出来ますか?
Hoge hoge = new Hoge();
byte[] buf = (byte[])hoge;
上記のようなことがしたいのですが・・・
よろしくお願いします。
849:デフォルトの名無しさん
08/08/05 14:39:55
>>533
javadoc -doclet 自作クラス … でjavadoc要素の操作をしているのですが、
javadocのデバッグはできるのでしょうか?
下記のオプションをつけてみましたが、不正なオプションでエラーになってしまいました。
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
850:デフォルトの名無しさん
08/08/05 14:47:26
>>848
シリアライズでぐぐる
851:デフォルトの名無しさん
08/08/05 19:00:38
EventObjectなしのListenerってありですかねぇ?
単純な通知だけのとかは面倒でしょうがない。
852:デフォルトの名無しさん
08/08/05 19:13:53
>>851
単に何かが起きたことの通知だけなら
Java流のイベントソース/イベントリスナーの形にきっちり従わなくても
単純にObserver/Obserbableで作るのではだめ?
853:デフォルトの名無しさん
08/08/05 19:16:45
Obserbable → Observable
854:デフォルトの名無しさん
08/08/05 19:18:15
WindowsでコンパイルしたSwingアプリのラベルやらなんやらがLinux上でことごとく文字化けするんですが、
文字コードレベルではrun anywhereは実現できないんですか?
855:デフォルトの名無しさん
08/08/05 19:28:43
>>854
フォントの問題じゃないか?
856:デフォルトの名無しさん
08/08/05 19:42:01
>>852
ありがとうございます。
通知の種類が複数あるため、Observerではちょっと・・・
引数でその種類を示す物を送るのもありですが。
857:デフォルトの名無しさん
08/08/05 22:17:03
DBにたくさんSQL文を投げる時に使うPreparedStatementって、
「?」の数が8個より大きいと使えないのかな?ちなみにバージョン1.5.1.
こんなエラーが出る
java.sql.SQLException: Parameter index out of bounds. 9 is not between valid values of 1 and 8
APIやら解説書にもそんな記述は無いんだが、だとしたら相当ショボイ部品だなぁ・・・
858:デフォルトの名無しさん
08/08/05 22:25:23
>>857
その辺はJavaよりもJDBCドライバの実装に依存する。
DBMSとJDBCドライバの名前とバージョンさらして。
859:デフォルトの名無しさん
08/08/05 22:25:41
>857
使ってるデータベースやドライバの仕様じゃなくて?
860:デフォルトの名無しさん
08/08/05 22:47:48
DBMS MySQLの5.0.27
JDBCドライバ mysql-connector-java-5.0.4
です。
この辺の仕様ということなら、残念ですね・・・。
861:デフォルトの名無しさん
08/08/05 23:08:38
"JDBC MySQL Parameter index out of bounds"あたりでググってみたが、
%付きでlike演算子使った時に同じエラーが出る、という話がヒットした。
URLリンク(forums.mysql.com)
URLリンク(forums.mysql.com)
URLリンク(archives.neohapsis.com)
他にもあるかもしれないが、自分でググってみて損はないぞ。
862:857
08/08/05 23:10:54
>>861
サンクス!
グーグル大先生に色々聞いてみることにします。
863:デフォルトの名無しさん
08/08/06 11:32:03
javaのStringクラスにログ的なものを入れた改修し、それを使用させるために
-Xbootclasspath/p:-Xbootclasspath/p:C:\classes の起動オプションを追加したところ
以下のメッセージが出て起動できません。
JDK1.6です。
Error occurred during initialization of VM
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at java.lang.System.initProperties(Native Method)
at java.lang.System.initializeSystemClass(System.java:1072)
864:デフォルトの名無しさん
08/08/06 12:26:38
>>863
そうですか
865:デフォルトの名無しさん
08/08/06 15:26:33
未だにj2sdk1.4.2_14を使っているんですけど、
Java入門者にとっては最新版でなくても差し支え無いですか?
866:デフォルトの名無しさん
08/08/06 16:16:34
>>865
1.5で言語仕様がかなり追加された。
それに合わせてAPIも実装だけでなくインタフェース部分も書き直されたので、
少なくともjdk5か、できればjdk6を使用したほうがいいと思う。
入門書とかもそれに対応したものを使う。
867:デフォルトの名無しさん
08/08/06 17:31:31
>>885
同じ1.4.2系列の最新版1.4.2_18にはしとこうぜ。
868:デフォルトの名無しさん
08/08/06 17:38:17
すみません,どなたか助言お願いします.
DataOutputStreamクラスのwriteChars(String)を実行すると
出力先のtxtファイルでは文字列の文字1つ1つの間に
半角空白が1つずつ入ってしまいます.
どうすれば空白が入らずに出力できるでしょうか.
ちなみにANTLRという構文解析ソフト(javaで記述)の中で,
out.writeChars(text);
out.writeChars(Integer.toString(value));
などという感じで使っています.
869:デフォルトの名無しさん
08/08/06 17:46:03
>>868
16byteのキャラクタを未加工で出力してるんだからそれであってる。
DataOutputStreamを使ったことが間違い。
それでもこういう手合いはwriteUTFで自己解決してしまうんだろうな(笑
870:デフォルトの名無しさん
08/08/06 18:08:22
16bitだった。好きなほうで
BufferedWriter out2 = new BufferedWriter(new OutputStreamWriter(out));
PrintWriter out3 = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));
871:sage
08/08/06 18:21:35
>>869-870
ありがとうございます!
文字列をそのままバイトコードとして流したのがだめだった,ってことでしょうか?
適当に言ってますが...
とにかくOutputStreamWriterを見てみます!
872:デフォルトの名無しさん
08/08/06 18:22:23
sageれてなかった...
すみません.
873:デフォルトの名無しさん
08/08/06 18:24:25
UTF-16が開けるエディタがあったら問題解決かもしれない。
この場合必ずビッグエンディアンになるんだろうか。それともCPUのエンディアン依存?
874:デフォルトの名無しさん
08/08/06 19:01:10
>>873
DataInput/DataOutputはビッグエンディアン。
875:デフォルトの名無しさん
08/08/06 19:36:13
javadocのコメント内容が変更できるAPIはあるでしょうか
876:デフォルトの名無しさん
08/08/06 19:44:10
エディタのタブ背景をプロジェクトによって色分けするプラグインありますか?
前半で似たような名前があるとタブを見ただけでは解かりにくくて。
877:デフォルトの名無しさん
08/08/06 19:58:03
DefaultMutableTreeNode を使って JTree を作っているのですが、
Node ごとにドラッグ&ドロップ許可/禁止させたいのですが、可能でしょうか?
878:デフォルトの名無しさん
08/08/06 20:22:16
できる
879:デフォルトの名無しさん
08/08/06 20:27:13
可能
880:877
08/08/06 20:30:16
orz
どの辺りを調べればよいのでしょうか?
881:デフォルトの名無しさん
08/08/06 20:42:36
TreeModel とか TreeModelListener とか
882:デフォルトの名無しさん
08/08/06 21:17:03
awtかSwingのDnDパッケージだろ
883:デフォルトの名無しさん
08/08/06 22:38:31
JAVAってeclipse以外でできますか?
地元ネット喫茶にてeclipse(JAVA)ができなくなってました。
なるべくならJDKの全varに対応してるアプリがうれしいのですが。
884:デフォルトの名無しさん
08/08/06 22:49:11
意味が解らん
885:デフォルトの名無しさん
08/08/06 23:45:44
jniで使用するnativeライブラリをjarの中に含めるなどして
java.library.pathにパスを追加せずにnativeライブラリを呼び出せることって出来るのでしょうか?
なるべく簡単且つすっきりと纏めれたらなぁと思いまして。。
886:デフォルトの名無しさん
08/08/06 23:50:37
>>865
jdk6というかjre6の方が圧倒的に速い
887:デフォルトの名無しさん
08/08/06 23:54:54
JAVAの再生方法を教えてください
888:デフォルトの名無しさん
08/08/07 00:18:58
Javaは再生しません
889:デフォルトの名無しさん
08/08/07 00:54:22
ファイルに出力するときに
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("tst.txt")));
という風にやっているのですが、出力が途中で切れてしまい、最後までファイルに出力してくれません。
・具体的には、ファイル1から文字列を読み込む
・文字列を加工してファイル2に出力
これをファイル1の最後まで行うのですが、pw.println(加工した文字列)では途中できれ、System.out.println(加工した文字列)
だと途中で切れずに最後まで出力します。
解決法を教えていただけないでしょうか・・・
890:デフォルトの名無しさん
08/08/07 00:57:01
closeしてないとか
891:デフォルトの名無しさん
08/08/07 01:00:01
>>889
終わったらちゃんとpw.close()してる?
892:デフォルトの名無しさん
08/08/07 01:03:54
レスありがとうございます。
closeはしてるのですが・・・ブツッと行の途中で切れます
893:デフォルトの名無しさん
08/08/07 01:54:58
closeは実際に実行されてる?
明示的にflushを実行した場合はどう?
894:デフォルトの名無しさん
08/08/07 02:29:03
JVMからJVMって起動出来る?
895:デフォルトの名無しさん
08/08/07 02:37:41
>>893
よくやっちまうのがこのパターン。
FileWriter fw = new FileWriter("tst.txt");
PrintWriter pw = new PrintWriter(new BufferedWriter(fw));
fw.close(); // これが余計
pw.close();
>>894
外部プロセスは起動できるのだから
896:デフォルトの名無しさん
08/08/07 03:24:00
JAVAでいらない周りの背景を透かすにはどうやればいいのでしょうか?
不必要な白い部分まで写ります。
897:デフォルトの名無しさん
08/08/07 04:18:37
最終的にフレームの下地が写るから透かすのはuN以降じゃないと無理じゃない?
コンポーネントの一部を透かしたいならSwingならできるけど。
898:デフォルトの名無しさん
08/08/07 08:38:55
>>885
JNI は最終的には Windows で言えば LoadLibrary 関数を呼ぶことになるので、jar の中に入れたままでは
不可能。
もしやりたいなら jar からテンポラリディレクトリに解凍(もしくはリソース読み込み)して、それを読み込ませる
ようにロジックを組まないとダメだと思う。
899:デフォルトの名無しさん
08/08/07 14:39:54
JFileChooserで得られるファイルが、
FILEオブジェクト固定であることに悩んでいます。
本当は、FileOutputStreamオブジェクトが欲しいのですが...。
file.getPathが返した値を、FileOutputStreamのコンストラクタに
指定するしかないでしょうか。
900:デフォルトの名無しさん
08/08/07 14:56:04
>899
JFileChooser を使って FileOutputStream を得る、
新しいクラスを作ったらどうでしょう
使いづらい道具は直せるのがプログラミングですよ
治具みたいなものです。
901:デフォルトの名無しさん
08/08/07 15:09:23
>>900
何か、思いっきり勘違いしていました。
FileOutputStreamのコンストラクタに
取得したFileオブジェクトを指定すればよいだけの話でした。
お騒がせしました。
902:デフォルトの名無しさん
08/08/07 15:24:31
JAIってどこでダウンロードできますか?
903:デフォルトの名無しさん
08/08/07 17:19:19
Java Web Startでのアプリケーションのインストール情報を管理するアプリケーションが標準でついてたと思うのですがどなたかご存じないでしょうか?
904:デフォルトの名無しさん
08/08/07 17:23:34
ネットビーンズとエクリプスは使い方がぜんぜん違いますか?
905:デフォルトの名無しさん
08/08/07 17:23:39
>>903
コントロールパネルでJavaを開いてインターネット一時ファイルの表示ボタンを押すと出るやつ?
906:デフォルトの名無しさん
08/08/07 17:35:01
>>905
意味合いは違ったようですがビンゴです
ありがとうございました!!
907:デフォルトの名無しさん
08/08/07 18:09:14
zipの中身表示するJFileChooser作ったときは意外と苦労したのにSwing Hacksに同じ事やられたorz
908:デフォルトの名無しさん
08/08/07 19:27:06
data.txtというファイルに読み書きするプログラムを作成しました。
このプログラムをダブルクリックだけで実行できるjarファイルにしたいのですが、
data.txtはjarファイルと別に用意しなければ実行できないのでしょうか?
jarファイルの中にdata.txtも含めて実行してみたのですが、
data.txtが見つからないと出ました。
data.txtをjarファイルのあるフォルダに置いておけば実行できました。
909:デフォルトの名無しさん
08/08/07 19:37:12
パスの指定の問題だろ。getResource[AsStreem]()ってメソッドを使うんだ。
910:デフォルトの名無しさん
08/08/08 02:21:52
actionPerformed内での挙動に関する質問です。
Maskクラスに値を詰め、それを利用したいのですが、
private Mask mask;
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if(cmd.equals("Read")){
if(mask == null){
mask = new Mask();
}
mask = label.getValue();
}else if(cmd.equals("Write")){
System.out.println(this.mask.getValue());
}
としたときに、下の標準出力から「NullPointerException」
が返ってきます。maskのnewはできていると思うのですが…
万策尽きました。どなたかご教授くださいm(_ _)m
911:デフォルトの名無しさん
08/08/08 02:28:56
if(mask == null){
mask = new Mask();ここでnewしたのに
}
mask = label.getValue(); ここで代入してるのは何故?
912:デフォルトの名無しさん
08/08/08 02:36:58
String cmd = e.getActionCommand();
この間にMask mask;とかって行は無い?
if(cmd.equals("Read")){
if(mask == null){
mask = new Mask();
}
mask = label.getValue();
}else if(cmd.equals("Write")){
System.out.println(this.mask.getValue());
}
"Read"の前に"Write"が実行されるとmaskはnullになるよ?
そもそも例外が出ているのはどこ?maskが問題なの?
913:デフォルトの名無しさん
08/08/08 03:07:23
デスクトップにJavaが全然普及しないのはSwingがヘッポコだからですか?
914:デフォルトの名無しさん
08/08/08 03:20:22
ネイティブな実行形式吐けないからだろ。
915:デフォルトの名無しさん
08/08/08 03:41:53
C#もVBもネイティブじゃ無いじゃん
916:デフォルトの名無しさん
08/08/08 04:07:30
MicrosoftNativeです
917:デフォルトの名無しさん
08/08/08 04:18:13
>>911,912
ちょっと簡易的に書きすぎました
MaskはTimerTaskを継承していて、裏で常に動いています。
で、これをStopさせたいのですが、このmaskオブジェクトにアクセスできない状態です。
調べたところ、maskは存在していますが、
Write側でmaskのアドレスを認識できないようです。
グローバル部分でnewするとそれはそれで問題がありなので、
この状況からWrite側のmaskオブジェクトを操作させる方法が欲しいところです。
918:デフォルトの名無しさん
08/08/08 05:51:46
ひどい情報の小出し。
肝心な部分を隠してどこが問題なのじゃないだろ。
maskの実装とTimerの起動箇所を隠さず出せ。
919:デフォルトの名無しさん
08/08/08 07:34:34
>>918 すまん。別のコードともごっちゃになってて自分でも意味不明。
最初から言い直します。
class tTask extends TimerTask{
public void run(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("ss's':mm'm':hh'h'");
MainPanel.pD.timeLabel.setText(sdf.format(date));
}
}
class actionUpdate implements ActionListener{
Timer ttimer;
tTask ttask;
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if(cmd.equals("Start")){
if(ttask == null){
ttask = new tTask();
}
MainPanel.pB.startButton.setEnabled(false);
MainPanel.pB.stopButton.setEnabled(true);
ttimer.schedule(ttask,0,1000);
}else if(cmd.equals("Stop")){
System.out.println("Time task off");
this.ttask.cancel();
this.ttask = null;
MainPanel.pB.startButton.setEnabled(true);
MainPanel.pB.stopButton.setEnabled(false);
}
920:デフォルトの名無しさん
08/08/08 07:36:50
staticに作ったMainPanel上のボタンを押すとStart、Stopされる仕組み。
このとき、this.ttask.cancel()に対してNullPointerException発生。
しかしttaskのrunは動きっぱなし。
さてこれをどうやって止めればよいのか?という質問でした。
921:デフォルトの名無しさん
08/08/08 08:00:15
awtならかまわないけど、Swingとjava.util.Timerを使っています?
それならタイマーイベントはスレッドになるからTimerTaskのsetTextはまずい気がする。
Swingならなるべくswing.Timerを使った方が無難。
922:デフォルトの名無しさん
08/08/08 08:06:16
>>920
なんかいろいろ違いそうだが・・・。
「ボタンを押したら始まって、ボタンを押したら止まる。」
という仕掛けに、タイマが存在する理由は全くない。
タイマタスクは、実行内容をスケジュールと合わせて保持するだけで、
「実行中」「停止中」を切り替えるステートオブジェクトではない。
TimerTask#cancel()=次の実行時刻が来ても実行されないように、
キャンセルフラグを立てておくだけ。
今の実行状態を切り替えるためのものではない。
ヌルポはなにがnullなんか調べれば解決できるだろ。
923:デフォルトの名無しさん
08/08/08 08:29:24
MainPanelが謎のスタティックメンバーを持ってたり、
ActionListenerがメンバ持ってたりでかなりあれだな。
actionUpdateをどこかで作り直してるとかしてないだろうか。
それならヌルポになる。
924:デフォルトの名無しさん
08/08/08 08:38:44
AwtかSwingかアプレットで
いくつか画像があって、マウスが特定の画像の上に乗っている状態の時にその画像を変える(その画像から出たら元に戻す。)にはどうしたらいいですか?
(変化前と変化後の画像のサイズは同じ)
925:デフォルトの名無しさん
08/08/08 08:45:17
アプレットでは不可能な技術
926:デフォルトの名無しさん
08/08/08 08:47:03
>>924
1から10まで聞くつもりかよ
927:デフォルトの名無しさん
08/08/08 09:49:26
ただのマウスオーバーじゃん。mousemotion拾え
928:デフォルトの名無しさん
08/08/08 10:00:41
>>926
?
>>927
アプレット領域全部ではなく、特定の画像の上でのみイベントを発生させたいです。
将棋のゲームで、ある駒の上にマウスを持っていくと、その駒が移動可能なマスを薄い黒色でピカピカ点灯させるといった感じです。
画像じゃなくても、ボタンのようなオブジェクトに各駒の画像が表示できるならそれでもよいのですが
929:デフォルトの名無しさん
08/08/08 11:30:37
mouseMovedは座標を得られるからマウスが画像の上かどうかを判断できるし、
JButtonにImageIconを設定することもできるし、
画像を表示したJLabelにMouseListenerをつけることもできる
930:デフォルトの名無しさん
08/08/08 11:34:13
>>929
ありがとうございます。
931:デフォルトの名無しさん
08/08/08 11:35:35
mainメソッドとコンストラクタの違いは
main - VMが起動した時に呼び出される
コンストラクタ - クラスをインスタンス化した時に呼び出される
という理解でよろしいでしょうか?
932:デフォルトの名無しさん
08/08/08 11:39:35
よろしいですよ
933:デフォルトの名無しさん
08/08/08 11:45:34
>>932
ありがとうございます。
934:デフォルトの名無しさん
08/08/08 12:02:00
Javaにおいて、Stringは不変であるからObject.clone()は
実行する必要が無い。
これの実装に関して分からないことがあります。
Javaにおいては
1.protectedメンバは自身の属するパッケージ、
または、所属するクラスのサブクラスからのみ
アクセス(利用)できる。
2.全てのクラスはObjectクラスのサブクラス
と、認識しています。
ということは、Stringオブジェクトはclone()を実行できると
思ったのですが、protectedメンバなので利用できない旨の
コンパイルエラーが出力されます。
なぜでしょうか?
935:デフォルトの名無しさん
08/08/08 12:05:29
1は
所属するクラスのサブクラス<<の中>>からアクセスできる
ってこと
Stringクラスの外からはアクセスできない
936:デフォルトの名無しさん
08/08/08 12:20:41
javaでは継承でアクセス修飾子の範囲(特権)を広げる方向に変更ししてよい。
つまり継承したクラスではclone()をpublicにoverrideできる。
Object.cloneは特別なメソッドでoverrideする場合はCloneableインターフェイスを実装しなければならない。
CloneableはマーキングのみでcloneメソッドはあくまでもObject.cloneである。
937:934
08/08/08 12:21:46
なるほど・・・
ありがとうございます。
938:デフォルトの名無しさん
08/08/08 12:26:29
"A"のchar型は'A'ですが、"\n"のchar型は何ですか?
char c = ;
939:デフォルトの名無しさん
08/08/08 12:40:54
char c = '\n';
940:デフォルトの名無しさん
08/08/08 12:48:08
>>939
GJ
941:デフォルトの名無しさん
08/08/08 12:50:46
これだとエラーが出てしまうんですけど、どうしたらよいでしょうか
JButton[] bt = JButton[100]; //ここでエラー
for (int i=1; i<=100; i++)
{
bt[i] = new JButton(new ImageIcon("ohana.jpg"));
}
942:デフォルトの名無しさん
08/08/08 12:51:15
JButton[] bt = new JButton[100];
943:デフォルトの名無しさん
08/08/08 12:54:14
>>942
すいません。寝ぼけてましたっっ
944:デフォルトの名無しさん
08/08/08 15:29:05
String str = "hoge";
このときStringクラスのコンストラクタは一切呼ばれないのでしょうか。以前聞いたことがあって。
リテラル?を保持するなんかのクラスがあるのでしょうか。
あるとした場合、それはmain以降から呼ばれるクラスでアクセスできるのでしょうか?
945:デフォルトの名無しさん
08/08/08 16:33:07
>>944
呼ばれます。
"hoge"が使用される時に"hoge"に対応するデータがコンスタントプールから取り出され、
その情報を元にString型のインスタンスが生成されます。
その時にStringのコンストラクタも呼ばれます。
946:デフォルトの名無しさん
08/08/08 16:36:18
>>945
Stringのコンストラクタにでん部ブレークを張りましたが、決して呼ばれなかったです。
new String(chararray);とかすれば呼ばれますけど。"hoge"でどのコンストラクタが呼ばれますか?
ちなみに1.6です。
947:デフォルトの名無しさん
08/08/08 16:40:52
Stringはランタイムに組み込まれてるからそんなこと考えるのは無意味だよ
948:デフォルトの名無しさん
08/08/08 16:48:59
気になるなら、javap してみりゃいいよ。
5: ldc #2; //String hoge
7: putfield #3; //Field str:Ljava/lang/String;
これだけだね~
949:デフォルトの名無しさん
08/08/08 18:02:27
BufferedImageに任意の大きさに拡大縮小した画像を読み込むにはどうすれば良いのでしょうか?
950:デフォルトの名無しさん
08/08/08 18:07:54
Graphics g = bufferedimage.getGraphics();
g.drawImage(画像, 0, 0, 任意の幅, 任意の高さ, null);
g.dispose();
951:デフォルトの名無しさん
08/08/08 18:11:36
iteratorでまわし途中で、iterator生成もとのリストを削除する方法ってありますか
952:デフォルトの名無しさん
08/08/08 18:15:36
Iterator#remove
953:デフォルトの名無しさん
08/08/08 18:24:33
>>950
レスありがとうございます。
えっと拡大縮小した画像を描画するのではなく、
その画像の高さや幅やRGBを取得して他の処理に用いたいので
BufferedImage bi=~
みたいにBufferedImageのインスタンスに拡大縮小した画像を読み込みたいのです。
954:デフォルトの名無しさん
08/08/08 18:29:30
欲しいサイズのBufferedImageを作って、その作ったBufferedImage上に描画すればいいだろ
BufferedImage bi = new BufferedImage(任意の幅, 任意の高さ, BufferedImage.TYPE_INT_RGB);
Graphics g = bi.getGraphics();
g.drawImage(画像, 0, 0, 任意の幅, 任意の高さ, null);
g.dispose();
955:デフォルトの名無しさん
08/08/08 20:57:09
>>954
今までGraphicsってpaintとかpaintcomponentとかで
引数として既知な感じで扱っていたのでよく理解してなかったですが、
これで描画対象をメモリ上のBufferedImageに出来るんですね。
なんかBufferedImageのコンストラクタって引数にImageとかが無いから
今までどう使うものか分からなかったけど、おかげさまでやりたい処理が出来ました。
ありがとうございます!><
956:デフォルトの名無しさん
08/08/09 00:41:50
テキストファイルにコマンドライン引数で入力したデータを書き込みたいのですが
現時点ではテキストファイルにまでは辿りつくけど文字を記入することができない状態です
修正箇所と修正の仕方を教えてください
mport java.util.*;
import java.io.*
public class A23_StrArray extends A22_StrArray
{
public void writeFile(String path) throws Exception
{
Arraylist list = new Arraylist
File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成
//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
}
System.out.println("ファイルに書き込みました。");
fw.close();
}
}
957:デフォルトの名無しさん
08/08/09 00:42:59
//実行クラス
mport java.io.*;
import java.util.*;
pubic class A23_exec
{
public static void main(String args[])
{
A23_StrArray list = new A23_StrArray();
//書き込み処理
if(inputData.equals("12"))
System.out.println("取得内容?");
inputData = input();//コマンドラインからの入力
list.writeFile(inputData);
}
private static String input()
{
//入力用オブジェクト
BufferedReader cinBuff = new BufferedReader(new InputStreamReader(System.in));
//コンソールからの文字入力
try
{
//入力用オブジェクトが文字入力を受付、それをStringクラスに代入
return cinBuff.readLine();
}
catch(IOException e)
{
System.out.println("IOExceptionエラー発生!!");
}
}
}
958:デフォルトの名無しさん
08/08/09 00:46:05
//書き込み処理
if(inputData.equals("12"))
System.out.println("ファイル名は?");
inputData = input();//コマンドラインからの入力
System.out.println("書き込むデータは?");
inputData = input();//コマンドラインからの入力
list.writeFile(inputData);
一部修正。正しくはこうです
家のPCにエクリプスが無くてインデントとかおかしい部分もあると思いますが
勘弁してください
959:デフォルトの名無しさん
08/08/09 01:04:28
public void writeFile(String path) throws Exception
{
Arraylist list = new Arraylist
File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成
//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
}
めちゃくちゃじゃないか。
960:デフォルトの名無しさん
08/08/09 01:10:36
そのコードのどこでlistに値を詰めているのか教えて欲しい
961:958
08/08/09 01:37:34
public void writeFile(String path) throws Exception
{
Arraylist list = new Arraylist
File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成
String str;
str =
//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
list.add(str);
}
strを初期化できれば行くんでしょうか?
どうすれば初期化できるかわからない
962:デフォルトの名無しさん
08/08/09 01:43:14
初期化の方法。
String str = null;
もしくは
String str = "";;
963:デフォルトの名無しさん
08/08/09 01:43:22
なんという名前のテキストファイルに、どういう文字列を書き込みたいのか、まずはそれを説明してくれ
964:デフォルトの名無しさん
08/08/09 01:44:18
//リストの要素が無くなるまでループ
答え: リストに要素はありません><
965:958
08/08/09 01:48:24
>>962
ありがとうございます。それで試してみます
>>963
あらかじめCドラの直下にテキストファイル(仮にabc.txtする)を置いておいて
最初の引数を入力時にc:\ abc.txtで指定した後に
次の引数でファイルに書き込みたいんです
966:958
08/08/09 01:51:34
日本語的におかしいので訂正
最初の引数を入力時にc:\ abc.txtと入力して指定した後に
次の引数で書き込む文字列を入力したい
967:デフォルトの名無しさん
08/08/09 02:04:04
>>966
引数…?Arraylist list=new Arraylist…?
全体を通して頭狂ってるだろ。
968:958
08/08/09 02:13:42
>>967
>Arraylist list = new Arraylist
この行はいらないのかな?
エクリプスが家にあれば自分でもおかしいってことがわかると思うんですけどメモ帳だと厳しい
出直してきます。
お手数おかけして申し訳ございませんでした
でも初期化の方法がわかっただけでも助かりました
969:デフォルトの名無しさん
08/08/09 02:15:04
>>956
public static void main(String args[])throws Exception
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("ファイル名入力>>");
String file=br.readLine();
System.out.println(filename);
FileWriter fw=new FileWriter(file);
System.out.println("書き込むデータは?");
fw.write(br.readLine());
br.close();
fw.close();
}
なんか書いてくれたコードが不明だが、やりたいのはこういうことじゃなくて?
970:969
08/08/09 02:17:19
>System.out.println(filename);
前に書いてたコード消し忘れ。これはナシで。
971:958
08/08/09 02:26:53
>>969
やりたいこととしてはそんな感じなんですけど
メインクラスの実行文から呼び出してサブクラスにあるBufferedReaderやFileWriterを使いたい
972:デフォルトの名無しさん
08/08/09 02:54:04
>>971
これだけおかしいのにeclipseが無いと分からないのは初心者未満すぎるので、
人に聞く前に初心者用の本で勉強してください。
まずは引数やサブクラスの意味、それと掲示板で聞く際の常識から。
973:デフォルトの名無しさん
08/08/09 06:17:06
中堅企業以上の場合
ふつう公開されている初任給データに家賃補助は含まれてませんよね?
974:デフォルトの名無しさん
08/08/09 07:15:01
初任給なんて大手から零細までどこも18~20万 院卒は+2
975:デフォルトの名無しさん
08/08/09 07:46:49
なんか、複雑な気持ちです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
アキバ殺傷事件の献花台がホームレスのエサ場に!
URLリンク(www.tanteifile.com)
976:デフォルトの名無しさん
08/08/09 13:54:37
というかIDE関係ないだろ。
977:デフォルトの名無しさん
08/08/09 15:44:45
SJC-P の試験ですが、試験コード(?)を書くときは、
「310-055J」と「310-055」ではどちらが正式な書き方ですか?
(最後に「J」を付けるべきかどうかってことです。)
978:977
08/08/09 17:02:48
自己解決しました。
URLリンク(suned.sun.co.jp)
こことか
URLリンク(www1.prometric-jp.com)
ここ見るとJはいらないみたいですね。
お騒がせしました。
979:デフォルトの名無しさん
08/08/09 19:42:54
HttpUnitでinnerHTMLはサポートされているのでしょうか?
document..getElementById('***').innerHTML = "***";
こんな感じのスクリプトを実行させても、実行できたというtrueは返って来ますが、何が変化したのかさっぱりで・・・
どなたか分かる方よろしくお願いします。
980:デフォルトの名無しさん
08/08/09 19:58:56
コンテンツ産業はGDPの2%、ゲームはその中で更に極僅かな一部分だからな。
産業としてみれば、音楽産業ですら豆腐産業とほぼ同じ市場規模(年間約5000億円)でしかない。
981:デフォルトの名無しさん
08/08/09 20:36:07
どこの誤爆だ?
982:デフォルトの名無しさん
08/08/09 22:23:27
innderHTMLはJavaScriptですね、わかります
983:デフォルトの名無しさん
08/08/09 22:38:52
いやそれは分かってますよ。
JavaScriptはRhinoでサポートされてます。
ですがHttpUnitでの実行のサポートがされているのか気になっているんです。
984:デフォルトの名無しさん
08/08/09 22:46:40
海外のフォーラムに全く同じ質問がある。ググれカス
985:デフォルトの名無しさん
08/08/09 22:56:13
あんがと!解決したっちゃ!
986:デフォルトの名無しさん
08/08/10 03:27:40
JavaでWindowsやLinux上で動くアプリケーションソフトを製作する場合、
どのようにして配布をするのでしょうか?
987:デフォルトの名無しさん
08/08/10 05:41:41
jarで固める
988:デフォルトの名無しさん
08/08/10 12:49:09
J#
989:デフォルトの名無しさん
08/08/10 13:19:25
>>988
スレ違い
990:デフォルトの名無しさん
08/08/10 15:05:56
Visual Web JSFで
データベースのデータをフィルタリングしながら取得するには
RowSet←FilterdTableDataprovider←ValueBindFilterCriteria
で良いんでしょうか
フィルター条件そのものをどこでコントロールすればいいのかも
分からないので
ついでに教えてください
991:デフォルトの名無しさん
08/08/10 16:05:11
javaでwindowsのWaitForSingleObjectのようなメソッドはあるでしょうか。
特定のイベントが発生するまでのスレッドを待機させ、
イベント発生時にスレッドが自動的に動作するようにしたいのです。
992:デフォルトの名無しさん
08/08/10 16:13:55
もうちょい低レベルの同期手段もあるが、まずは基本のモニターを使いこなそう。
synchronized(Object)
Object.wait / notify / notifyAll
Thread.interrupt
993:デフォルトの名無しさん
08/08/10 16:29:26
印刷処理のように、単純にイベントが発生した時点でスレッドを起動させるので済むって話ならば、待機とかやる必要はないぞ。
994:デフォルトの名無しさん
08/08/10 16:53:40
waitで待機しているスレッドが再び動作するには、
誰か別のスレッドにnotifyを呼び出してもらう必要があると思っています。
notifyを明示的に呼ぶのではなく、
ボタンが押されたら自動的にスレッドが動作するようなことを
したいのですが、できるものでしょうか。
995:デフォルトの名無しさん
08/08/10 17:08:14
JSF(index.jsp)で、テキストボックスに、"foo"と入力して、
フォーム送信したとき、result.jspに飛んで、それ以外が入力された時、
result2.jspに飛んで、未入力でフォーム送信した時、index.jspで、"入力してください。"
という処理をするには、どのようなJSPと、faces-config.xmlと、モデルを書けばいいんでしょうか。
おしえてください。
996:デフォルトの名無しさん
08/08/10 17:12:03
join();
997:デフォルトの名無しさん
08/08/10 17:30:06
>>994
WaitForSingleObjectもそんな機能はないよ
ボタンが押されたらnotifyすればいいじゃん
998:デフォルトの名無しさん
08/08/10 17:32:14
>>994
Notifyを明示的に呼ぶのとWaitForSingleObject使うのにそんなに差はないような。
何をやりたいのかよくわからないが、スレッドプールが向いてるのかも。
それならコンカレントAPIにいろいろある。
999:デフォルトの名無しさん
08/08/10 17:34:38
どんな目的のスレッドをwaitしてんだ?
1000:デフォルトの名無しさん
08/08/10 18:18:14
むしろ次スレをwaitしてるよ
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。