【初心者】Java質問・相談スレッド79【大歓迎】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。

前スレッド
【初心者】Java質問・相談スレッド78【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1135217569/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/

次スレは>>980あたりでお願いしまする。
2デフォルトの名無しさん:2006/01/11(水) 15:32:49
javaプログラム内で他のjavaプログラムを実行したいのですが、
同じディレクトリ内にあるjavaプログラムの実行はできたけど、
他のディレクトリ内にあるjavaプログラムを実行させるにはどうしたらいいのでしょうか?
同じディレクトリ内のプログラム実行は以下の記述でできました。
Runtime r = Runtime.getRuntime();
Process proc = r.exec("java test");
例えば「C:\java2」のディレクトリ内にあるtest.javaを実行するには上記のを
どうかえればいいのか教えてください。
3名無し募集中。。。:2006/01/11(水) 16:58:55
作業ディレクトリを設定する
42:2006/01/11(水) 17:14:54
exec(String[] cmdarray, String[] envp, File dir)
っていうのを見て色々やってたんですが、
String[] envp の部分の書き方がわからないんです。
これ環境指定しなくてもできるんですか?
5名無し募集中。。。:2006/01/11(水) 17:18:05
まず試せば?
6名無し募集中。。。:2006/01/11(水) 17:18:57
1.5なら
ProcessBuilder#directory(File)で設定すればよい
7デフォルトの名無しさん:2006/01/11(水) 18:20:57
>envp が null の場合、サブプロセスは現在のプロセスの環境設定を継承します。
とくになければNULLでええのちがうか
8デフォルトの名無しさん:2006/01/11(水) 18:27:17
NULLは拙いだろう、NULLは。
9デフォルトの名無しさん:2006/01/11(水) 18:56:00
テキストファイルの書き込みなのですが
ログファイルのように最後に付け足すのではなく
1行目に挿入するようにするのはどうするのでしょう?
行数が少ないほど新しい、多くなるほど古くなる
といった感じに書き込みをしたいのですが
(Webチャットのログみたいな感じ)
10デフォルトの名無しさん:2006/01/11(水) 19:24:11
サーブレット(MVCモデル)について質問です。

同じ画面内で、検索条件を入力して検索実行⇒検索結果を表示させる
といった場合に、サーバー側では、ビーンに対して、検索結果、
つまり今回の処理で画面上で上書される項目のみをビーンに設定したいです。

しかし、単に空っぽのビーンに検索結果を設定しただけでは、
アクション後の画面で検索条件が空のまま表示されてしまう。

それを回避するために、以下の様な実装を行っています。
・jspでは、検索条件をサーバーに送信する。
・コントローラでは、検索条件をマッピングしたビーンを生成し、アクションクラスにビーンを渡す。
・アクションクラスでは、ビーンに検索結果のみを追加する。

この仕組みでうまくいっていたのですが、新たな問題が発生しました。その内容は

1画面内で検索ボタンが2:検索結果2という画面を作成しなければいけません。
現状の仕組みだと検索ボタンAが押下された時に、
検索条件@、検索条件Aはそのまま残り、検索ボタンAも表示されるんですが、
検索結果@が消えてしまう。

検索結果@はコントローラ⇒アクションクラスに渡すビーンにマッピングをとっていない為です。

これを回避するために、検索結果もサーバに送信し、
コントローラ⇒アクションクラスにビーンを渡す際に、検索結果もマッピングをとる
(つまり、コントローラー側で現状の画面全ての状態を記憶したビーンを生成する)
ようにしたいと思います。

jspで検索結果(入力フォーム部品ではなく、通常のテキスト)をサーバに送信するにはどうしたらいいでしょうか?
それとも他の回避方法はありますか?
(ビーン丸ごとjspからサーバーに送るとかできるんですか?)
11デフォルトの名無しさん:2006/01/11(水) 19:29:54
>>10の続き
1画面内で検索ボタンが2:検索結果2という画面を作成しなければいけません。
現状の仕組みだと検索ボタンAが押下された時に、
検索条件@、検索条件Aはそのまま残り、検索ボタンAも表示されるんですが、
検索結果@が消えてしまう。

検索結果@はコントローラ⇒アクションクラスに渡すビーンにマッピングをとっていない為です。

これを回避するために、検索結果もサーバに送信し、
コントローラ⇒アクションクラスにビーンを渡す際に、検索結果もマッピングをとる
(つまり、コントローラー側で現状の画面全ての状態を記憶したビーンを生成する)
ようにしたいと思います。

jspで検索結果(入力フォーム部品ではなく、通常のテキスト)をサーバに送信するにはどうしたらいいでしょうか?
それとも他の回避方法はありますか?
(ビーン丸ごとjspからサーバーに送るとかできるんですか?)
12デフォルトの名無しさん:2006/01/11(水) 19:37:47
前スレ977だろ。
もう結論出てるじゃん。
13デフォルトの名無しさん:2006/01/11(水) 19:40:17
>>12
通常テキストとして表示させておいて、
裏でhiddenとして持たせてサーバーに送信する、ということでしょうか?
hidden書かないで、通常テキストをサーバーに送信することはできないんでしょうか?
14デフォルトの名無しさん:2006/01/11(水) 19:45:19
セッションにデータ置けば?
15デフォルトの名無しさん:2006/01/11(水) 19:48:55
>>14
セッションにデータをおいた場合、
ブラウザの戻る/進むボタンを使用された場合に、
動きがおかしくなりそうです。
アクション時の画面状態と違うデータを使用してしまう可能性が。。。
16デフォルトの名無しさん:2006/01/11(水) 19:56:39
>>9
新しいファイルに一行書いて、そこに古いファイルを付け足す
17デフォルトの名無しさん:2006/01/11(水) 20:02:59
>>15
仕様と実装しだい

そもそもあの長文をわかりやすく短くまとめれるかどうかがまず問題

あんなドキュメント仕事で出されたらやりなおしだよ
18デフォルトの名無しさん:2006/01/11(水) 20:10:45
>>17
そんなに怒るなって。
長く書いたのかないと質問の背景を勝手に推測されて、
質問と関係のない答えが返ってきたりするもんでして。
19デフォルトの名無しさん:2006/01/11(水) 20:12:46
要点をまとめるってことできんのか。
20デフォルトの名無しさん:2006/01/11(水) 20:12:57
>>18実際に>>14とかは答えになってないし。
できるのかできないのかYes or Noの質問なのにね。
21デフォルトの名無しさん:2006/01/11(水) 20:14:36
>>19
君も知識と読解能力を身に着けるように。
22デフォルトの名無しさん:2006/01/11(水) 20:17:14
あの文章が怒ってるように見えるのか
23デフォルトの名無しさん:2006/01/11(水) 20:21:45
>>22
見えた。
やり直しとか言われるとねー
24デフォルトの名無しさん:2006/01/11(水) 20:23:10
>>17
通常テキストとして表示させておいて、
裏でhiddenとして持たせてサーバーに送信する、ということでしょうか?
hidden書かないで、通常テキストをサーバーに送信することはできないんでしょうか?
この答えは?
分からないなら分からないって言ってくれ、それで諦めがつく。
25デフォルトの名無しさん:2006/01/11(水) 21:07:18
>>24
そのままの主旨で話つづけたいなら、
Javaの話じゃないんで他所でやってね。

まぁそうだな、通常テキストと同じように見えるように
うまくCSSを書いて<input type="text">並べれば良いんじゃない?
これならhidden使わないけど、どお?

これ以上はもうホントに他所でやってね。


>それとも他の回避方法はありますか?

Javaの話で回避方法考えるなら
セッション使うのが1番に挙げられるだろうけど、
>>15で却下されちゃってるしねぇ。

26デフォルトの名無しさん:2006/01/11(水) 21:45:34
HTML知識ない奴がサーブレットやるな
27デフォルトの名無しさん:2006/01/11(水) 21:54:00
釣れた
28デフォルトの名無しさん:2006/01/11(水) 22:26:39
出ました
出ました
出ました
出ました
釣り宣言
29デフォルトの名無しさん:2006/01/11(水) 22:45:11
>>24
HTTPのPOSTについて勉強しよう
30デフォルトの名無しさん:2006/01/11(水) 22:55:44
Java BeansであってJava Beanでは無い
31デフォルトの名無しさん:2006/01/11(水) 23:09:03
インターフェースを使うメリットって
クラスをインスタンス化ではなく、実態のないインターフェースをインスタンス化させて
そのインターフェースがそれぞれ自分を実装している
クラスのメソッドを見に行くって感覚?
つまりその事で振る舞いがクラスの自由に出来る

でも、それだと
どのクラスが自分(インターフェース)を実装してるのかってわかるの?
32名無し募集中。。。:2006/01/11(水) 23:13:18
何で親が子を意識せなきゃいけないのか
33デフォルトの名無しさん:2006/01/11(水) 23:59:57
>>1にあるとは思いますが上記のWEBを見てもどうしても
分からなかったので質問です。

コンパイルしたのちプログラムを実行しても
下記のようなエラーが出て実行できません。
Exception in thread "main" java.lang.NoClassDefFoundError

ソースはまず間違いがないと思います。↓
public class SampleD1L3 {
public static void main(String args[]) {
System.out.println("はじめてのJavaアプリケーション");
}
}

環境変数の設定も間違ってないと思いますし、なぜ実行出来ないのか
どうしても分かりません。ご親切な方教えて頂けませんか?
34& ◆R7PNoCmXUc :2006/01/12(木) 00:02:40
set CLASSPATH=%CLASSPATH%;.
3533:2006/01/12(木) 00:03:30
>>34
環境変数の設定は間違いないっていってんだろ
36デフォルトの名無しさん:2006/01/12(木) 00:12:09
すいません。33は私ですが。
このスレIDないんですね。
37デフォルトの名無しさん:2006/01/12(木) 00:26:00
class Super{
static int d=10;
static void meth(){
System.out.println(d);
}
}
class Sub extends Super{
static double d=30.0;

static void meth(){
System.out.println(d);
}
}
class InstanceChk {
public static void main(String[] args) {

Super s = new Sub();
System.out.println(s.d);
s.meth();

}
}
38デフォルトの名無しさん:2006/01/12(木) 00:27:32
class Super{
static int d=10;
static void meth(){
System.out.println(d);
}
}
class Sub extends Super{
static double d=30.0;

static void meth(){
System.out.println(d);
}
}
class InstanceChk {
public static void main(String[] args) {

Super s = new Sub();
System.out.println(s.d);
s.meth();

}
}
上のコードでは10 30.0 下のコードでは10 10が
出力されます。javaを1ヶ月やってみたのですがどうしても
わからないのです。ご教授ください。


39デフォルトの名無しさん:2006/01/12(木) 00:28:20
public void mouseClicked(MouseEvent e){
int x = e.getX() ;
int y = e.getY() ;
bd.p1.set(x , y);
repaint();
}

画面上でクリックした座標を、
Interfaceで共通化したプレイヤーのp1クラスに投げsetメソッドを呼びたいのですが、
うまくいきません。一体どの辺りに問題があるのでしょうか・・
コンパイルは通りますが、クリックするとコンソールに以下のエラーが吐かれます
↓(最初の2行)
「thread "AWT-EventQueue-0" java.lang.NullPointerException
at BP.mouseClicked(BP.java:460)」
4038:2006/01/12(木) 00:30:37
ちなみに上と下の違いはstaticがあるかないかの違いです。
4138:2006/01/12(木) 00:32:47
37は間違えです すいません

class Super{
int d=10;
void meth(){
System.out.println(d);
}
}
class Sub extends Super{
double d=30.0;

void meth(){
System.out.println(d);
}
}
class InstanceChk {
public static void main(String[] args) {

Super s = new Sub();
System.out.println(s.d);
s.meth();

}
}
42デフォルトの名無しさん:2006/01/12(木) 00:34:08
>>31
たとえば、二つの実装
Collection aCollection = new ArrayList();
aCollection.add(newElement);
-----------------------------------------------
Collection aCollection = new HashSet();
aCollection.add(newElement);

このとき、別にCollectionというインターフェースが、
ArrayListやHashSetのaddメソッドを見つけにいっているわけではない。

インターフェースはあくまで、aCollectionと言う変数が参照している
オブジェクトに特定のシグニチャのメソッドが存在することを保証する
ためのもの。(例ではadd()というメソッドが保証されている)

逆に、シグニチャが保証されているっていうことは、そのシグニチャの
メソッドを呼び出している限り、相手先がどのクラスのインスタンスで
あるかは関係なく、好きなように変えられるってのがメリット。

たとえば、集合に対する操作をインターフェースとして定義しておけば
・集合に要素を追加する
・集合から要素を取り除く
・集合の要素数を調べる

構造が異なる集合であっても、上記の操作は自由に行える
・重複を許さない集合
・重複を許す集合

インターフェースではなく、抽象クラスでも同様なことは実現不可能ではないけどね。
43デフォルトの名無しさん:2006/01/12(木) 00:34:27
>>41
エスパーに対する挑戦かと思った
static はオーバライドできない
4438:2006/01/12(木) 00:35:09
41のコードでは10 30.0 38のコードでは10 10が
出力されます。javaを1ヶ月やってみたのですがどうしても
わからないのです。ご教授ください。
4538:2006/01/12(木) 00:44:53
早速ありがとうございます。staticはオーバーライドできないのですか
気づきませんでした。
あと参照変数の型ですがSuperだとなんでスーパークラスの
フィールドをつかうのでしょうか。Subにすると当然なのかもしれませんが
型をかえただけで30.0 30.0となります。
46デフォルトの名無しさん:2006/01/12(木) 00:47:02
>>44
ちなみに>>37のコード

Super s = null;
System.out.println(s.d);
s.meth();

としても、NullPointerExceptionはスローされません。
staticメソッドやstaticフィールドを参照する場合、
変数の型は評価されますが、変数の中身までは評価されません。

そんなわけで、staticなメソッドはフィールドを扱うときは
クラス名.メソッドやクラス名.フィールド名
とした方がバグが少なくなります。
Super.dやSuper.meth()ってことね。

>>45
フィールドはオーバーライドできません。
従ってs.dとやると、Superクラスの変数dが参照されます
47デフォルトの名無しさん:2006/01/12(木) 00:54:38
>>44
同名のインスタンス変数がある場合、intが優先されるから
4838:2006/01/12(木) 00:55:11
>46 そのコードいれてみました。staticありのほうだと
10 10とでました。理由がよくわかりません。
入門書よく読んでるつもりだったのですが。べんきょう不足のようです。
49デフォルトの名無しさん:2006/01/12(木) 00:55:16
あっ
Super s = new Sub();
System.out.println(s.d);
はSuperクラスのdを参照して

Sub s = new Sub();
System.out.println(s.d);
はSubクラスのdを参照するってことね
50デフォルトの名無しさん:2006/01/12(木) 01:01:54
それがコードを見た瞬間に判断できないものだから
staticなメソッドやフィールドは変数でアクセスするのは禁止になってるのさ

クラス名.メソッドとしてアクセスする癖をつけること
51デフォルトの名無しさん:2006/01/12(木) 01:04:08
>>48
staticなメソッド・フィールドを参照している>>38のコード
Super s = new Sub();
System.out.println(s.d);
s.meth();

これは下のコードと同値になります
Super s = new Sub();
System.out.println(Super.d);
Super.meth();

つまり、staticなメソッドやフィールドを参照するときは
変数の中身までは評価されないってことです
→クラスメソッド、クラスメソッドと言われているとおり、
  どのクラスに属しているかだけが重要になっています。

変数sがSubのインスタンスを参照していても、
>>48で試されたとおり、null参照となっていても
変数sの型(クラス)はSuperですよね?
52デフォルトの名無しさん:2006/01/12(木) 01:15:52
これを読んでみるのもいいかもしれません。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894716895/

おれJavaよく知ってるぜ、って方も「へぇ」って思うこと結構かかれてます。
5338:2006/01/12(木) 01:42:33
みなさんありがとう、ここ最近この問題ばかりやってました。もやもやが
やっと取れそうです
>staticなメソッドやフィールドは変数でアクセスするのは禁止になってるのさ
禁止だったのですか、eclipseにオレンジの下線はいってましたが、あれはそういう意味なのかな。
コンパイルできてたから問題ないと思ってました。
>→クラスメソッド、クラスメソッドと言われているとおり、
  どのクラスに属しているかだけが重要になっています。

変数sがSubのインスタンスを参照していても、
>>48で試されたとおり、null参照となっていても
変数sの型(クラス)はSuperですよね?

これはすごい参考になりました。つまりクラス名.メソッド名
と参照変数でs.メソッド名は同じ意味だったんですね。
つまりSuperのs変数が参照してるってことでしょうか。
参照先ばかり気になってました。


ありがとうございましたm(__)m
5438:2006/01/12(木) 01:59:01
staticつけるとオーバーライドされた内容までひょうかされず、
Superのs.meth()が実行されて、
デフォルトだとその内容まで評価されて、サブクラスのメソッドが
使われてるようにみえるということなのでしょうか。
フィールドにはオーバーライドのようなものはないってことですよね。
まちがってたらすいません。頭を整理してるところです。
55デフォルトの名無しさん:2006/01/12(木) 02:10:00
変数の型には静的な型(プログラムの文面上の型)と動的な型(実行時の実際の型)が
ありまして、static を付けているものの場合は静的な型のものが使われるというだけです。

Super s = new Sub(); とした場合、s の静的な型は Super で動的な型は Sub ですから
static void meth() の場合は Super のが、void meth() の場合は Sub のが使われます。
56デフォルトの名無しさん:2006/01/12(木) 02:11:33
>>54
>staticつけるとオーバーライドされた内容までひょうかされず、
static やフィールドは、オーバライドされない。

同名のモノを使った場合は、裏に隠れるだけ。
だから、明示的にスーパクラスを指定すれば表に出てくる。

>staticなメソッドやフィールドは変数でアクセスするのは禁止になってるのさ
言語仕様上は禁止にはなってない(利点は全くないと思われるが)。
まあ、「便所の落書き」だし、釣りも少なくない。信用するのも own risk ということで
57デフォルトの名無しさん:2006/01/12(木) 02:13:36
ちなみにオーバライドの場合は動的な型によってメソッド呼び出しが切り替わりますが
オーバロードの場合は常に静的な型によってメソッド呼び出しが決まります。

public class Test {
static void meth(Test t) { System.out.println("Test"); }
static void meth(Object o) { System.out.println("Object"); }

public static void main(String[] args) {
Object o = new Test(); Test.meth(o); // Object と表示される。
}
}
58デフォルトの名無しさん:2006/01/12(木) 02:29:00
>>38
ちょっと、長文ですが読んでみてください。

@staticなフィールドやメソッドにアクセスすることについて
変数(sのこと)でstaticのメソッドやフィールドを参照するのは、
禁止されているわけではありません。

クラスに属するという意味は、個々のインスタンスに関連付けされていないということ。
言い換えると、全てのインスタンスで共通のフィールド(メソッド)という意味です。

なので、クラスに属しているフィールドやメソッドを、インスタンスが格納されている変数で
参照するのは考え方が違いますよ!クラス名で参照して下さい!ってeclipseに警告されているだけです。

Aスーパークラス/サブクラス間のフィールドやメソッドについて
スーパークラスと同じシグネチャ(メソッド名と引数の型と引数の順番のこと)を持つメソッドを
サブクラスで定義することをオーバーライドと呼びます。
「オーバーライド = 上書き」と思って下さい

スーパークラスと同名のフィールドをサブクラスで定義することを
オーバーライドとは呼びません。隠蔽と呼びます。
「隠蔽 = 隠しているだけ」と思って下さい。

なので、>>41 の例で説明すると
Super s = new Sub(); <-- 型はSuperでもインスタンスはSubを参照
System.out.println(s.d); <-- 隠蔽されているSuperのインスタンス変数dを参照
s.meth(); <-- 上書きされているSubクラスのインスタンスメソッドmeth()を参照

以上です。少しでも理解につながれば幸いです。
5958:2006/01/12(木) 02:56:07
>>38
B>>54について
staticなメソッドはオーバーライドされません。また、>>58の@でも説明したとおり、
staticは個々のインスタンスには関連しません。
さらに言い換えると、staticを参照するにはインスタンスは無くても構わないということです。

つまり、以下のコードの1行目は必要無いということです。
1行目: Super s = new Sub();
2行目: System.out.println(Super.d);
3行目: Super.meth();

以上です。理解できました?

6038:2006/01/12(木) 03:15:24
もうわかったからお前ら黙ってろ。
61デフォルトの名無しさん:2006/01/12(木) 04:32:11
質問です。

wikiのページを読んで、Javaでは参照渡しが
出来ないという事はわかったのですが、その場合、
引数に渡す値に参照値を入れるにはどうしたらいいでしょうか。

Object A;
method( A );

void method(Object a) {
Object b = new Object();

a = b;
}

このようなコードを書いたのですが、これでは引数として渡す値Aには
bの参照値を入れられません。どのようにしたらいいでしょうか。
低レベルな質問かもしれませんが、よろしくお願いいたします。
62デフォルトの名無しさん:2006/01/12(木) 07:42:00
class RefA { public Object A; }

void method(RefA ref) {
    Object b  new Object();
    ref.A = b;
}
63デフォルトの名無しさん:2006/01/12(木) 08:41:51
配列にしとく
64デフォルトの名無しさん:2006/01/12(木) 08:52:02
例えばlog.txtというテキストファイルの指定行の
内容を取ってくるメソッドを作りたいのですが
どのようにやればいいのでしょう?
ご教授願います
65デフォルトの名無しさん:2006/01/12(木) 09:01:27
もうちょっと考えてから具体的に質問して欲しいものです
66デフォルトの名無しさん:2006/01/12(木) 10:16:30
JMFを使って動画再生ソフトを作っているのですが、
動画を再生しながらその上に文字を表示するにはどうすればいいでしょうか?
67デフォルトの名無しさん:2006/01/12(木) 11:28:31
>>56
事実上の禁止だろ
そんなバグ出してくださいよというコード書くところに仕事はださん
null代入並みのおろかなことだ
6838:2006/01/12(木) 11:47:31
レスおくれました。ごめんなさい。
学校があるので寝てしまいました。60は私ではありません。
ご指導ありがとうございます。家に帰ったらゆっくり見たいと思います。
69デフォルトの名無しさん:2006/01/12(木) 12:45:59
>>61
Object[] A = new Object[1];
method( A );

void method(Object[] a) {
Object b = new Object();

a[0] = b;
}

で、上の関数外ではA[0]で扱うとか、ワンクッション置くようにすれば。。。
70デフォルトの名無しさん:2006/01/12(木) 12:58:48
そんなバグ出してくださいよというコード書くところに仕事はださん 。ウッキー
71デフォルトの名無しさん:2006/01/12(木) 12:59:40
答えのある質問と言うよりは、なぜ、とか是非の部分についてなのですが
(疑問自体が変というのであれば申し訳ありません…)

ttp://www.javanews.jp/javap/newsletter017.html
の「DB2 向けの JDBC の最適化」の章(※)で、

| カラムのメタデータを取得するために getcolumns() メソッドを使うよりも、
| ダミーのクエリを使いましょう。

とあるのですが、これはなぜなのでしょうか?
ダミーのクエリの場合、一つもレコードが無いと実行出来ない気もするのですが...

(※)文中の原文のリンクが切れていますが
ttp://web.archive.org/web/20030113090231/www.sys-con.com/java/article2a.cfm?id=725&count=1745&tot=11&page=2
で閲覧できるようです。が、こちらを見ても決定的な理由というのが今ひとつ…単に英語が読めてないでしょうが。
72デフォルトの名無しさん:2006/01/12(木) 13:11:45
>>71
DBごとの最適化の話はDB板へいったほうがいいかと

でも実際通常1以下のクエリ出すほうが早いね
DatabaseMetaDataからの取得でカラムの名前覚えてるやつはそうそういないし
結果セットで受け取るためにコンパイルエラーにならんし
73デフォルトの名無しさん:2006/01/12(木) 13:29:30
>>72
やっぱり速度面なのですかね...
と、データベース板を見落としていました。有り難うございます。
74デフォルトの名無しさん:2006/01/12(木) 13:34:11
後は目的かと

DatabaseMetaDataはDB管理ツールを作る場合に使うが
実際の運用ベースではResultSetMetaData使ったほうがいいとか
75デフォルトの名無しさん:2006/01/12(木) 14:14:25
>>71
そういうもんだと思えばいいんじゃ?
getColumnsだとたぶん実装はDB2のデータディクショナリ(システムテーブル)を問い合わせてカラム情報を
取得してると思うけど、それより、ダミーの問い合わせの方が早いってことでいいんじゃ??
DB2やJDBCの内部の実装をしってる人が言ってるのかわからんが、
余り悩んでもね。
76デフォルトの名無しさん:2006/01/12(木) 14:22:38
DatabaseMetaDataからのカラム情報取得はフィルタ条件があるから
ほとんどの実装で遅いのは普通

ま、それがネックになるような場所ってあんまりかんがえられないけどな

77デフォルトの名無しさん:2006/01/12(木) 14:40:00
>>74-76
おお…ありがとうございます。その理由で納得出来そうです。
仰るとおり実際に問題やネックとして悩んでいるわけでは全くありません。
お呪い程度として捉えておきます。
78デフォルトの名無しさん:2006/01/12(木) 14:40:57
たぶん、俺が思うにDB2側の問題じゃない?
フィルタ条件があっても、まさか、全レコードをDBから取ってきて
「DB2側」でフィルタかけるわけじゃないでしょ?
フィルタ条件に指定された条件のSQL文を組立てて最小限のデータとってきてるはずだよね?
まぁ、組み立てる分もちろん遅くなるわけだが。

まぁ、ResultSetMetaDataの方が早いとは思う。
通常、クエリー発行すれば、データとともに、カラム情報も入ってくるわけだし、
ネットワークトラフィックも余りかからんと思うけど、

そこまで、差が現れるのかが謎だ。
79デフォルトの名無しさん:2006/01/12(木) 14:42:18
つかさ、実際に試して時間はかってみん。それがベスト。
差がでるかわからんけど。
80デフォルトの名無しさん:2006/01/12(木) 14:43:48
あ、あと>>71で「一つもレコードがないと…」などと宣っていましたが、
ResultSetMetaData から取ればいいので別にダミーのクエリの
結果レコードが無くても構いませんね。すみません。実際取得できました。
ダミーのクエリはどうすんのって話(↑では全部 SELECT してみましたが)はありますが。
81デフォルトの名無しさん:2006/01/12(木) 14:46:28
>>78-79
あ、ありがとうございます。
非常に貧相な測定ですが、実際試したところ誤差のレベルでした。少なくとも私の用途的には。
82デフォルトの名無しさん:2006/01/12(木) 14:46:40
>>80
ダミーのクエリは例えば、絶対に存在しないようにクエリーを組み立てる。
例えば、主キーの列Aがあって、絶対0以上なら、
select * from table where a = -1とか。
まぁ、工夫してくれ。
83デフォルトの名無しさん:2006/01/12(木) 14:50:37
条件指定なしの検索結果リミット設定すればいいだけでは?
リミット設定しなくてもたとえばFIRST_ROWSのようなヒントでも
最初の1件だけを高速に返すとかでもいいかもしれんし
インデックスがあるなら1件も返されないとすぐに分かるのをかくとかいくらでもね

カラム情報を積極的に利用したいのであればDatabaseMetaDataを使う

とにかくSQLを発行後、カラム名を自動で取得してループで処理させたいなら
ResultSetMetaDataを使う

この2択でいいんでね?
84デフォルトの名無しさん:2006/01/12(木) 14:57:55
う…スレ違いなのに立て続けにアドバイスが。ありがとうございます。
>>82
なるほど。セオリーはそうなのですね。
今回は対象のテーブル構成が事前に分かってないので、>>83 さんの言うような
制限する形にしようと思っています。FETCH FIRST 1 ROWS ONLY と付けたのみですが...
85デフォルトの名無しさん:2006/01/12(木) 18:03:36
>>61
Object A;
A = method();

Object method() {
Object b = new Object();

return b;
}

これじゃ、だめかい?
86デフォルトの名無しさん:2006/01/12(木) 18:37:53
質問です。
eclipse3.0を使ってます。
JSPからPOST送信でサーブレットを呼び出すにはどうすればよいのでしょうか?
現在普通に<form>に記述しています。
web.xmlを書かないとだめなんでしょうか?
ちなみに、プロジェクト名はkeijiban、パッケージ名もkeijiban
ファイル名はbbs.jspとBbsMain.javaです。
お願いします。
87デフォルトの名無しさん:2006/01/12(木) 18:46:53
web.xmlを書かないとだめだね
8886:2006/01/12(木) 18:54:12
>>87
ありがとうございます。
自分でweb.xmlを書いて一発で動いたためしがないので、
不安です。
89デフォルトの名無しさん:2006/01/12(木) 19:48:03
Java 1.4.2とTomcat4.1を使ってJSPを作ってるんですが、メインのJSPに別のJSPをincludeして表示させたときに、includeしたものだけ文字化けしてしまいます。

%TOMCAT_HOME%\conf\web.xmlに
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    …
<init-param>
<param-name>javaEncoding</param-name>
<param-value>Windows-31J</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

のように書いたりしたのですがなおりません。

ただ同じようにJava 1.4.2とTomcat4.1をいれている別のPCでは文字化けしていないので、
%TOMCAT_HOME%\conf\のservlet.xmlやweb.xmlをそれと同じにしたのですが、それでもなおりません。

自分のPCのJava 1.4.2かTomcat4.1かどこかの設定がおかしいのだと思うのですが、見当が付きません。
ご教授願いたします。
90SWT:2006/01/12(木) 19:54:37
すみません質問したいのですが。
javaアプレットでJFrameからJFrameを実行することが出来るのですが、
JLabelで画像を載せると実行できなくなります。
JFrameから新たなJFrameをたちあげそこに画像を載せるには
どうすればよろしいでしょうか?
91デフォルトの名無しさん:2006/01/12(木) 20:14:44
onclickをつかって「jspでデータベースに追加入力」ということは可能ですか?

例:データをtextエリアに入力
         ↓
      ボタンを押す
         ↓
    DBに追加登録される

よろしければご教授お願いします m( __ __ )m
92名無し募集中。。。:2006/01/12(木) 20:24:53
>>90
実行できなくなるってどういうことか詳しく書け
93SWT:2006/01/12(木) 20:34:39
>>92
説明不足で申し訳ないです。
ActionEventでJFrameが立ち上がるようにしているのですが、
JLabel img = new JLabel(new ImageIcon("ファイル名"));
の一文を加えるだけで立ち上がらなくなってしまいます。
なぜでしょうか?
94デフォルトの名無しさん:2006/01/12(木) 20:38:11
つーかマルチやめれ>>90
95SWT:2006/01/12(木) 20:39:11
>>94
どうしても必要な作業なんです。
96デフォルトの名無しさん:2006/01/12(木) 20:41:19
>>61です。

>>62>>63>>69>>85
レスありがとうございます。

返り値で取得するのが最も自然なのでしょうが、
返り値ではこのメソッドの成否を返す必要があるのでそれはできず、
ケータイ用アプリなのでできれば新たなオブジェクトを作成せずに、
かつエレガントに取得できないものかと思ったのですが、
良い方法はないのかもしれませんね。諦めました。

いろいろとアドバイスしていただき、ありがとうございました。
97デフォルトの名無しさん:2006/01/12(木) 20:41:47
なんでマルチが必要な作業なんだよ
しかもあっちのスレでは返信なしだし
98デフォルトの名無しさん:2006/01/12(木) 20:44:18
>>96
成否は null が返るかどうかで判定すれば?
null が返ったら失敗、それ以外は成功とか。
99デフォルトの名無しさん:2006/01/12(木) 20:46:23
すいません本当に初心者的な質問なんですが

set CLASSPATH=%CLASSPATH%;.

でクラスパスを設定すると、コマンドプロントを開く度に再setしないといけないみたいなので、
ウィンドウズのプロパティから環境変数を開き、CLASSPATHに直接登録しようと思ったのですが、
その書き方がわかりません。

Wikiに環境変数の書き方について書かれているリンクを見つけたのですが、リンク切れでした。
ぐーぐる先生に聞いてみたのですが古いバージョンのものなのかJ2SDK1.4.2_10にはありませんでした。

C:\java\にclassファイルを置いているのですがどうすればいいでしょうか。
100デフォルトの名無しさん:2006/01/12(木) 20:56:22
OSは?
10199:2006/01/12(木) 21:03:43
>>100
忘れていました。WindowsXPです。
102デフォルトの名無しさん:2006/01/12(木) 21:03:58
>でクラスパスを設定すると、コマンドプロントを開く度に再setしないといけないみたいなので、
そうしておけ。面倒ならバッチファイルでも用意しておけ。
環境変数に設定するのはおすすめしない。
必要なクラスパスは、アプリケーションによって違うし、
コンパイル時と実行時でも違うこともあるから。
10399:2006/01/12(木) 21:09:22
>>102
そうなのですか・・・それではパッチファイルというものにチャレンジしてみます。
104デフォルトの名無しさん:2006/01/12(木) 21:19:07
超初心者です

コマンドプロントで javac と入力してコンパイルできるようにするにはどうしたらいいんでしょうか?
105デフォルトの名無しさん:2006/01/12(木) 21:20:08
おまwwwwwwwテンプレくらい読めよwwwwwwwww
106デフォルトの名無しさん:2006/01/12(木) 21:43:54
>105
読んでやってみたんですができませんでしたorz
107デフォルトの名無しさん:2006/01/12(木) 21:51:06
Wikiにかなりわかりやすく書いてあると思うんだが・・・。
これ以上わかりやすく説明する方法がわからない。
108デフォルトの名無しさん:2006/01/12(木) 21:53:12
>>106
コマンドラインの知識が要らないIDEつかってみたら?
109デフォルトの名無しさん:2006/01/12(木) 22:07:09
質問です!

GUIのチョイスを使いたいのですが、
チョイスのサイズは変えることは可能でしょうか??
また、可能であれば、やり方を教えていただきたいです。

よろしくお願いします;;
110名無し募集中。。。:2006/01/12(木) 22:10:16
まずはAPIを読めとゆいたいです
111デフォルトの名無しさん:2006/01/12(木) 22:14:18
チョイスってなんだ?
112デフォルトの名無し:2006/01/12(木) 22:31:30
環境変数のことで質問があります。

javacのコマンドを入れてもコマンドまたはファイル名が違います。とでます。

OSが98でWIKIのやり方どおりでautoexec.batを編集、再起動しても反映されません.

どうしていいでしょうか?
113デフォルトの名無しさん:2006/01/12(木) 22:35:37
プロンプトから 「 set path 」 実行どうぞ。
114デフォルトの名無しさん:2006/01/12(木) 22:39:01
質問させてください。
フィールドに持ちたいオブジェクト配列を、以下のようにmethod()によって
動的にインデックスを決定して初期化しているのですが、現在のままでは
method()を抜けると代入したオブジェクトが破棄されてしまいます……。
もっと賢い動的配列 or 解決案をご存知の方、よろしければご教示ください。

class test { 〜〜〜 ];
class hoge {
public test[] objArr;

method(){
int i=3;
objArr = new test[i] ;
objAr[0] = new test;
・・・・
       ・・・・ }
115デフォルトの名無し:2006/01/12(木) 22:41:20
set pathをしたら構文が違いますとでます;
116デフォルトの名無しさん:2006/01/12(木) 22:42:37
嘘つくところに仕事はださん
null代入以前のおろかなことだクマー
117名無し募集中。。。:2006/01/12(木) 22:43:18
>>114
へぇー破棄されるんだ
118デフォルトの名無しさん:2006/01/12(木) 22:45:56
98ならコマンドラインの知識なしでautoexecいじるのはちょっとやめたほうがいいぞ
win自体が立ち上がらなくなったりする
パス設定専用のバッチを使うべき

わからなければIDE使う

そういやwikiでNetBeansだけやけに古いのを乗せてるのは何でだろう
119デフォルトの名無しさん:2006/01/12(木) 22:46:43
>>114
破棄されてることに、どうやって気づいたの?
120デフォルトの名無しさん:2006/01/12(木) 23:13:12
>>119
method()内で初期化した後、別のメソッドから配列要素のオブジェクトにアクセスすると
nullpoで止まったので、ひょっとして消えてるんじゃないかなと思ったのです。

ただ、何となく自分のミスのような気がしてきました。
どうか話半分に聞いておいて下さい >>117さん
曖昧な記憶のままなんとなく質問をしてしまっているので……。
121デフォルトの名無しさん:2006/01/12(木) 23:28:39
質問があります。
Java2Dで画像の背景を透過させる場合はなにを使えばいいんでしょうか?

122デフォルトの名無しさん:2006/01/12(木) 23:31:04
曖昧な記憶のままなんとなく質問するようなところに仕事はださん 。
null代入並みのおろかなことだ パオーン
12389:2006/01/12(木) 23:31:15
124デフォルトの名無しさん:2006/01/12(木) 23:49:37
>>121
普通はデフォで透過すると思うんだけれども、透過しないコードはどうやったの?
アルファ値がないピクセルフォーマットつかってるんじゃないの?
125デフォルトの名無しさん:2006/01/13(金) 00:41:57
全く分からないんですが
Javaアプレットが使えるようになるにはどうすればいいんでしょうか?
javaは完全に初心者です。C、pascal、フォートランはつかったことあるんですが。
ここにあるのを使いたいんです。
http://www.flow.human.nagoya-u.ac.jp/~mine/simu.html
困ってます。誰かたしけて
126デフォルトの名無しさん:2006/01/13(金) 00:45:28
127デフォルトの名無しさん:2006/01/13(金) 00:55:51
select * from table where 1 = 0
128デフォルトの名無しさん:2006/01/13(金) 01:10:36
>>125
javacコマンドはつかえるのか?
HTMLでアプレット表示する方法も調べとけ
129デフォルトの名無しさん:2006/01/13(金) 01:49:00
select * from table where 1 != 1
130デフォルトの名無しさん:2006/01/13(金) 05:02:48
Eclipseを使ってアプレットを作ったのですが(Eclipseでは動作確認済み)、いざhtmlファイルにappletタグ書いてブラウザで動かそうと思うとうまくいきませんでした・・・
ファイル構成が

・Shooting
htmlファイル
画像など

・Shooting/shooting
Shooting.class(メインクラス)
その他classファイル

・Shooting/shootingフォルダ以下にもフォルダがあり、それぞれclassファイルが入っています

という感じになっています。
これで、htmlファイルには

<applet code="Shooting.class" codebase="./shooting/" width=350 height=600></applet>

こんな感じでタグを書いたのですがうまくいきません・・・
どこか間違っているのでしょうか?
131デフォルトの名無しさん:2006/01/13(金) 05:08:16
>>130
宿題スレでぜんぶアップロードして見てもらったほうが早くないか
132デフォルトの名無しさん:2006/01/13(金) 05:10:20
>>131
そんなに難しいものなんでしょうか・・・?
Eclipseでは動いているので、問題はhtmlファイルを置く位置と書き方だけだと思うのですが・・・
133デフォルトの名無しさん:2006/01/13(金) 05:50:06
>>132
HTMLファイルはこんな感じか?

<html>
<head>
<title>アプレット</title>
</head>
<body>
<applet codebase="./shooting/" code="Shooting.class" width=600 height=600 >
</applet>
</body>
</html>
134デフォルトの名無しさん:2006/01/13(金) 11:18:53
SWTで、UMLエディタのようなグラフィカルエディタを作ります。
ただ、操作系をトグルスイッチでなく、Squeakのようなポトペタ(ドラッグ&ドロップ)で作りたいと考えています。

EclipseのAPIをあたったところorg.eclipse.swt.dndが見つかったのですが、もしもっと便利なライブラリが既に存在していれば、ぜひご教示いただけると助かります。
135デフォルトの名無しさん:2006/01/13(金) 12:17:12
学校の課題でタイピングの製作をすることになり
文字変換をしたいんですけど
参考程度に一度自分で作ってりたいとは思いましたが、
タイピングゲーム本来のシステムとかは他の方
が製作しているので、入力部分からキーワード
の合致するかどうかの判定はどう組み込んだらいい
でしょうか?
136名無し募集中。。。:2006/01/13(金) 12:17:36
>>135
宿題スレ池
137デフォルトの名無しさん:2006/01/13(金) 14:18:03
>>133
ううむ・・・
うまくいかないです・・・
Eclipseで動いていたら、コードやフォルダ構造に間違いはないって事でいいですよね?
あ、shootingフォルダってのはshootingパッケージですが関係ありますかね?
138デフォルトの名無しさん:2006/01/13(金) 15:25:37
はじめまして!PC、初心者の者ですが教えを乞いに来ました。

公開型の掲示板で、自作自演を見破るためにリモートホストを調べたいのですが…

ソースを開いてもリモートホストらしき物が見つかりません?

何だか…文字化けした様な物が有ったりと…

どうしたらリモートホストを調べられるのでしょうか?

どうか?お教えてくださる方居ませんでしょうか?。宜しくお願いします。
139デフォルトの名無しさん:2006/01/13(金) 15:27:27
ここで聞く質問じゃないな
140デフォルトの名無しさん:2006/01/13(金) 15:29:18
>>139様…何所で質問したら良いでしょうか?お教えくださいm(__)m
141デフォルトの名無しさん:2006/01/13(金) 15:39:01
142デフォルトの名無しさん:2006/01/13(金) 15:46:54
javabeansなんですが、org.apache.jasper.JasperException: HelloBeanってなっちゃいます。JSPからjavabeansに繋がりません。どう解決したらよろしいかご教授願います。。。
143デフォルトの名無しさん:2006/01/13(金) 15:49:01
教えてください
strutsを使ってwebアプリを作ってるんですが
Actionクラスを継承したクラスのコンストラクタが1回しか動きません

ログインボタン押下→ログインアクション(コンストラクタ動く)→ログアウト→
再度ログインボタン押下→ログインアクション(コンストラクタ動かない)

誰か理由を教えてください。
144143:2006/01/13(金) 15:57:48
すみません、自己解決しました
145142:2006/01/13(金) 16:32:09
org.apache.jasper.JasperException: bean.StringBean
at org.apache.jasper.compiler.BeanRepository.getBeanType(BeanRepository.java:135)
at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:650)
at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:507)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Generator.generate(Generator.java:1891)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at
146142:2006/01/13(金) 16:33:16
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
147142:2006/01/13(金) 16:35:17
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)


root cause
148142:2006/01/13(金) 16:35:53
java.lang.ClassNotFoundException: bean.StringBean
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1407)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1252)
at org.apache.jasper.compiler.BeanRepository.getBeanType(BeanRepository.java:133)
at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:650)
at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:507)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Generator.generate(Generator.java:1891)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service
149名無し募集中。。。:2006/01/13(金) 16:37:01
さすがにうぜぇ
150142:2006/01/13(金) 16:39:11
(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at
151142:2006/01/13(金) 16:40:43
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
すいません・・・
152142:2006/01/13(金) 16:43:18
<HTML>
<HEAD>
<TITLE>Using JavaBeans with JSP</TITLE>
<LINK REL=STYLESHEET
HREF="JSP-Styles.css"
TYPE="text/css">
</HEAD>
<BODY>
<TABLE BORDER=5 ALIGN="CENTER">
<TR><TH CLASS="TITLE">
Using JavaBeans with JSP</TABLE>
<jsp:useBean id="stringBean" class="bean.StringBean" />
<OL>
<LI>Initial value (from jsp:getProperty):
<I><jsp:getProperty name="stringBean"
property="message" /></I>
<LI>Initial value (from JSP expression):
<I><%= stringBean.getMessage() %></I>
<LI><jsp:setProperty name="stringBean"
property="message"
value="Best string bean: Fortex" />
Value after setting property with jsp:setProperty:
<I><jsp:getProperty name="stringBean"
property="message" /></I>
<LI><% stringBean.setMessage("My favorite: Kentucky Wonder"); %>
Value after setting property with scriptlet:
<I><%= stringBean.getMessage() %></I>
</OL>
</BODY></HTML>
153142:2006/01/13(金) 16:47:08
package bean;


public class StringBean {
private String message = "No message specified";

public String getMessage() {
return(message);
}

public void setMessage(String message) {
this.message = message;
}
}
で、http://localhost:8090/aoki/lesson01_1/bean/StringBean.jspで実行しました。パスの設定はできていると思うんですが・・・:
154142:2006/01/13(金) 16:48:33
ご教授お願いします。それでは学校に行ってきます
155デフォルトの名無しさん:2006/01/13(金) 16:49:18
うぜぇwwwww
156デフォルトの名無しさん:2006/01/13(金) 16:58:55
青木さん
157デフォルトの名無しさん:2006/01/13(金) 16:59:11
そもそも>>152はJSPじゃねーだろ
158デフォルトの名無しさん:2006/01/13(金) 17:02:48
まるなげでどっかいくなんて宿題スレと間違えてるんだろ
>>152みればエラーメッセージどおりだし






またただの釣りかもしれん
159デフォルトの名無しさん:2006/01/13(金) 18:01:15
なにこれjavaプログラマ用に特化した荒らし?

昔スタックとレースが止まらない夢でうなされたことがある
Y/N
160142:2006/01/13(金) 18:24:56
学校の環境でも実行できません。本のソースコードそのままなんですが、
間違っているのですかね?
161デフォルトの名無しさん:2006/01/13(金) 18:34:32
>>160
指摘された箇所は無視かよ
162142:2006/01/13(金) 18:41:38
すいません。何がなんだかさっぱりです・・・すいません
163142:2006/01/13(金) 19:16:56
おまえら態度でかすぎ
教えてやろうって気ないだろ
そんな奴このスレに不要だ
164デフォルトの名無しさん:2006/01/13(金) 19:20:35
ワロス
165名無し募集中。。。:2006/01/13(金) 19:26:13
ワロス
166142:2006/01/13(金) 19:26:16
おさわがせしてます、142です
他の142は偽者です
実は>>142も偽者です
167デフォルトの名無しさん:2006/01/13(金) 19:26:41
すいません、EclipseとTomcatでJSPを作ってるんですが、JSPがJAVAになったもののパッケージがどのフォルダに置いても「org.apache.jsp」になってしまい、エラーになってしまいます。
どうすればいいですか?
168167:2006/01/13(金) 21:09:20
詳しくは>>142を見てください
169デフォルトの名無しさん:2006/01/13(金) 21:55:29
どこに書こうか迷ったけど人多そうだからここにする。
https://jep.dev.java.net/
JEPって言語のプロジェクトあるんだけど知ってた?
JSPの次って感じ?
170デフォルトの名無しさん:2006/01/13(金) 23:13:49
javaで今GUIをやっており、今画像がスクロールするものを作っております

キーボードの上(↑)が押されたら、その画像を消す見たいなのはどうやったらできるでしょうか?
171デフォルトの名無しさん:2006/01/13(金) 23:14:50
GUIで曲を流すにはどうすればいいですか
172名無し募集中。。。:2006/01/13(金) 23:24:57
>>171
ClipかSourceDataLineを使う

APIにJavaSoundの説明が詳しく乗っているので自分で調べろ
173デフォルトの名無しさん:2006/01/13(金) 23:35:44
そういやJavaSoundDemoって5.0からは動かないんだよね
174デフォルトの名無しさん:2006/01/13(金) 23:41:12
142みたいな空気読めないやつは現実でもこんな感じなの?
175デフォルトの名無しさん:2006/01/13(金) 23:50:44
現実では空気嫁愛用
176名無し募集中。。。:2006/01/13(金) 23:53:54
空気が読めるなんてエアマスターみたいだな
177デフォルトの名無しさん:2006/01/14(土) 00:31:03
mainメソッドであらかじめ用意してたものが、愛と同じだったらloveと表示させたいんですが
☆☆☆の部分にはどう記述すればいいんでしょうか?他にも違う箇所があったら教えてください。

public class Test{
public static void main(String args[]){
toE('愛');
}
static void toE( char ai ){
if (☆☆☆.equals('愛')) {
System.out.println("love");
}
}
}

178デフォルトの名無しさん:2006/01/14(土) 00:35:10
プリミティブ使うならイコールでかいていいよ
179177:2006/01/14(土) 00:55:21
>>178
ありがとう。できました。
180デフォルトの名無しさん:2006/01/14(土) 01:05:23
Microsoft の MSJVM ってもうダウンロードできないんだっけ?
ちょっと動作確認したいんだけどな。
181デフォルトの名無しさん:2006/01/14(土) 01:08:55
Swingコンポーネントのキーボードバインドを変更したいのですが
ActionMapとInputMapがよくわかりません。
いまは3種類のInputMapを再帰的に探して削除、追加としているのですが
なんか他にもっといい方法ありませんか?
182デフォルトの名無しさん:2006/01/14(土) 02:16:13
>>180
できる。
MSのページはわからない。が、Yahooチャットのヘルプのページに
置いてあることは知っている。
183デフォルトの名無しさん:2006/01/14(土) 04:32:31
すれ違いかも知れませんが質問。

PCを立ち上げてから最初にアプレットを読み込もうとすると、40秒くらい
PCが固まるのは、JVMを立ち上げているからだと理解しているのですが、
スタンドアロンのjavaアプリは、瞬間に立ち上がるのはなぜ? いずれもJVM
なしには走らないと思いますが。

逆にいえば、なぜアプレットは、初回のローディングにあんな時間がかかるの?
あれが、 あるため、Javaにたいして嫌悪感をもっている人は多いと思いますが。
184デフォルトの名無しさん:2006/01/14(土) 09:05:58
クラスロードがあるとか?

でもVM自体の起動はスタンドアロンと変わらないけど
185デフォルトの名無しさん:2006/01/14(土) 09:11:10
アプレットはフラッシュに惨敗しました。
186デフォルトの名無しさん:2006/01/14(土) 11:15:19
>>183
IEやNNとかがメモリーをいっぱい確保してるから
187デフォルトの名無しさん:2006/01/14(土) 11:31:40

windowsでutf-8のjavaファイルをコンパイル/実行すると、なぜ文字化けするのですか?
内容は全く同じなのにshift-jisでは問題ありません。

Java側の問題ですか?
それともwindows側の問題ですか?
utf-8で書かれたファイルも問題なく動かす方法はありますか?

よろしくお願いいたします。
188デフォルトの名無しさん:2006/01/14(土) 11:33:20
>>187
コンパイラにutf8だとおしえてる?
デフォがプラットフォームのエンコーディング使うだけだよ
189デフォルトの名無しさん:2006/01/14(土) 11:54:04
>>187
javacコマンドのドキュメント読もうぜ
最近Javadoc含めてドキュメント読まない人間増えたよね
190デフォルトの名無しさん:2006/01/14(土) 12:14:12
>>188-189

コンパイラに指定すればいいのですね。
調べてみます。
ありがとうございました。
191デフォルトの名無しさん:2006/01/14(土) 12:26:47
質問させて頂きます。
今学校の課題で、データファイルからデータを読み込んでグラフ表示するプログラムを作っています。
それで、JPanelで、縦に三つのPanelを作って、一番上にグラフ、二番目にデータの検索機能、
三番目にグラフを表示した時点での現在時刻を表示するようにしようとプログラムを組んでいたのですが、
Panel1にグラフを作れなくて困っています。

Panelを複数に分けて、そのうちの一つにグラフを表示したりすることはできるんでしょうか?
よろしくお願いします。
192デフォルトの名無しさん:2006/01/14(土) 13:32:12
できるよ。がんばれ。
193デフォルトの名無しさん:2006/01/14(土) 15:20:04
Javaで式を複数行に分ける場合に何か行末に記号ってつけないとダメなんでしょうか?

System.out.println(str +
str2);

みたいに書くと怒られるので
194デフォルトの名無しさん:2006/01/14(土) 15:24:01
>>193
別に単語の途中でなければどう切ってもいいよ
195デフォルトの名無しさん:2006/01/14(土) 15:26:38
何の理由で怒られてるかわかんねーんじゃねーの?
196デフォルトの名無しさん:2006/01/14(土) 15:29:36
>>194
なんかできました・・ありがとうございました
197デフォルトの名無しさん:2006/01/14(土) 16:30:45
すいません、質問させてください。

クライアントのJavaアプリでなのですが、
特定のURLに関連付けられてるCookieを取得する事ってできますか?

クッキーのセットの仕方は分かったんですが、そのクッキーをどこから
持ってくればいいのかが分からなくて困ってます…。
198197:2006/01/14(土) 16:37:35
補足します。

ブラウザはIEのみの前提とさせてください。
というか、そもそもローカルに保存されてるクッキーのファイルを
読み込んで処理するのが当たり前なんでしょうか。。

分かってない感じですね('A`;)
199デフォルトの名無しさん:2006/01/14(土) 16:58:14
クライアント側ってことは、アプレットなのかアプリケーションなのか。
200デフォルトの名無しさん:2006/01/14(土) 17:30:54
キーボードから数値(int型)での入力を読み込むようにしている。
もし文字(String型)で入力されたら、再度読み込み要求をさせるには
どう書けばいいんでしょうか?
201デフォルトの名無しさん:2006/01/14(土) 17:34:17
System.inからは数値だろうと何だろうとStringが返ってくる訳だが
202デフォルトの名無しさん:2006/01/14(土) 17:41:00
都合上、Stringで返ってきたのを、int型に変えてるんです。
str = br.readLine();
n = Integer.parseInt(str); 
入力されたのが文字だったら再読み込みにしたいんですが。
203デフォルトの名無しさん:2006/01/14(土) 17:44:42
while(true){
  str = br.readLine();
  try{
    n = Integer.parseInt(str);
    break;
  } catch(NumberFormatException ex){}
}
204デフォルトの名無しさん:2006/01/14(土) 17:44:57
NumberFormatException 捕まえて readLine もう一回やればいいじゃん
205204:2006/01/14(土) 17:45:38
……間に合わなかった orz
206デフォルトの名無しさん:2006/01/14(土) 17:53:18
ありがとうございました。
207191:2006/01/14(土) 18:34:08
先ほど質問させて頂いた者です。

>>192さん、ありがとうございます。引き続き作ってみようと思います。

いろいろ調べてみて、Panelの中に図を書くのにpaintComponentという関数を使ってみようと思ったんですが
Panel一つなら簡単にできるんですが、複数あった場合どうやってPanelを指定すればいいんでしょうか?

public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine( 0, 0, 100, 50);
}
Panelが一つなら、このプログラムを組み込むだけでできるようなのですが・・・・・。
208デフォルトの名無しさん:2006/01/14(土) 18:41:19
>>207
先ほど回答させていただいたものです。

JPanel と Panel のどっちを使っているのか、よく分かっていないのですが、
描画処理は大抵 paint(Graphcis g) に書きますね。paintComponent でも良いんですが。


そして肝心なことが一つ。paintComponent ないし paint はどこに書こうとしていますか?
っていうか Panel もしくは JPanel のサブクラスは作ってますか?
209191:2006/01/14(土) 18:52:34
どうも理解が行き届いてないようで恐縮です。

JPanelを継承したクラスは作っています。
paintComponentはそのクラスの中に入れてあります。
210デフォルトの名無しさん:2006/01/14(土) 18:56:43
ん〜。

>Panel一つなら簡単にできるんですが、複数あった場合どうやってPanelを指定すればいいんでしょうか?
この文がよく分からないです。複数あると何が具合悪いのか。
211211:2006/01/14(土) 19:06:21
Mac OSXで作ってOSXのjavacではコンパイルエラーのかったファイルを
Fedra core3 にj2sdk1.4.2.10をインストールして、コンパイルしようとすると、
次のようなエラーが出ます。

18: error: Class or interface `javax.imageio.ImageIO' not found in import.
import javax.imageio.ImageIO;
^
445: error: Class `MessagingException' not found in `throws'.
throws IOException, UnsupportedEncodingException, MessagingException {
^
455: error: Class `MessagingException' not found in `throws'.
throws IOException, UnsupportedEncodingException, MessagingException {
^
3 errors

javax.imageio.ImageIOのエラーもよくわかりませんし、
MessagingExceptionもインポートしています。

原因がよく解らないのですがどなたかお応え頂けませんか?
212191:2006/01/14(土) 19:07:28
>>210
どうも頓珍漢なことを書いてるのかもしれません・・・・。
えと、例えばp1とp2というPanelを作った場合、p1にボタンなんかを置こうと思ったら

private JPanel p1;
private JButtun bt1; と宣言して

p1.add( bt1 = new JButton("Test"));
といった感じでボタンを置いてるんです。

最後の一文を、Panel1に「Test」という名前のボタンを作るという意味で、
Panel1に図を書く場合も同じように書くのかと思っていたんですが・・・・・・・。
213デフォルトの名無しさん:2006/01/14(土) 19:12:08
>>212
図を描画するのと Component を配置するのは全く違うよ。
やるべきなのは 『paint メソッドにてグラフを描画する Panel』 クラスを作成して、それを扱うこと。
214デフォルトの名無しさん:2006/01/14(土) 19:17:25
>>211
Fedra ってデフォルトで gcj 使ってたような気がする。

javac -J-version するとか、where javac するとかして、
インストールした j2sdk1.4.2 使ってるか確認してみて
215211:2006/01/14(土) 19:24:11
>>214

ありがとうございます。

# whereis javac
javac: /usr/bin/javac

こんな感じになってます。
これじゃまずいのでしょうか?
216191:2006/01/14(土) 19:31:01
すみません、どうも仰っていることが今一理解できません。
クラスの中にpaintComponentの部分を入れて、尚且つ他の部分でpaint操作をしなければいけないということでしょうか?
217211:2006/01/14(土) 19:34:39
すいません、エラーメッセージはこちらが重要なのかもしれません
毎回出るのでこれはふつうのメッセージだと思っていたのですが、
どうなんでしょうか。

# javac
libgcj-javac-placeholder.sh

This script is a placeholder for the /usr/bin/javac
master link required by jpackage.org conventions. libgcj's
rmiregistry, rmic and jar tools are now slave symlinks to these
masters, and are managed by the alternatives(8) system.

This change was necessary because the rmiregistry, rmic and jar tools
installed by previous versions of libgcj conflicted with symlinks
installed by jpackage.org JVM packages.
gcj: no input files

218デフォルトの名無しさん:2006/01/14(土) 19:46:07
>>217
見るからに gcj 使ってますね。

私はFedraCore使ってないから
http://fedorafaq.yanbaru.dyndns.org/#java とか見て頑張れとしかいえないです。
219211:2006/01/14(土) 19:52:13
>128
ありがとうございます。

調べていたら、再インストールで何とかなりそうな
書き込みをみつけたのでやってみます

ttp://bbs.fedora.jp/read.php?FID=2&TID=558
220デフォルトの名無しさん:2006/01/14(土) 19:59:54
>>216
これくらいは出来てる?

public class Test {
    public static void main(String[] args) {
        JFrame  jf  = new JFrame();
        jf.getContentPane().add(new JPanel() {
            public void paint(Graphics g) {
                // ここでグラフを描画
            }
        });
        jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
        jf.setVisible(true);
    }
}
221デフォルトの名無しさん:2006/01/14(土) 20:18:41
>>219
インストールしたsun jdk のbinにPATHを通して、
rpm -qa | grep cgj
で出てきたrpmを
rpm -e gcjなんちゃらかんちゃら
ってやればいいだけとちゃうん?
222221:2006/01/14(土) 20:19:38
rpm -qa | grep cgj → rpm -qa | grep gcj
223デフォルトの名無しさん:2006/01/14(土) 20:33:52
SwingではpaintではなくpaintComponentを使う癖をつけよう
224191:2006/01/14(土) 20:44:08
どうもそこのmain文とクラス部分との繋がりがわからないです・・・。
基本的なところが理解できてないってことですね。
ちょっと勉強しなおしてきたほうがよさそうですね・・・・・。
225デフォルトの名無しさん:2006/01/14(土) 20:47:52
paint(〜)はイベントのタイミングで描画される
ウインドウを移動したり他のウインドウを重ねたりいろんなところでよばれる

ボタンクリックのイベントで描画が変わるとかやりたいのなら
描画バッファをあらかじめ用意しておいてそれをボタンクリックで変更、
paintComponentでは描画バッファをJPanelに描画する、というのが普通
226デフォルトの名無しさん:2006/01/14(土) 21:00:40
<<<<<<<<<<<<<<<
equals
>>>>>>>>>>>>>>>
==

???
227デフォルトの名無しさん:2006/01/14(土) 21:15:18
>>223
そだっけ?そいつは失礼。
228211:2006/01/14(土) 21:48:07
>>221

レスありがとうございます。

> >>219
> インストールしたsun jdk のbinにPATHを通して、
> rpm -qa | grep cgj
> で出てきたrpmを
> rpm -e gcjなんちゃらかんちゃら
> ってやればいいだけとちゃうん?
上記コマンドを試したのですがrpmは出てきませんでした・・・


gcjの存在を初めて知ったのですが、コンパイルできない理由は、
gcjにあるのでしょうか。それともgcjとjavacが衝突した事によるものなんでしょうか?

gcjでも動くなら良いと思ってるのですが・・。
229デフォルトの名無しさん:2006/01/14(土) 22:15:05
Exception in thread "main" java.lang.IllegalArgumentException: adding a window
to a container
at java.awt.Container.addImpl(Container.java:616)
at java.awt.Container.add(Container.java:307)

これってどういうエラーなんでしょうか?
230221:2006/01/14(土) 22:16:42
>>228
ぐぐれ

>>229
ぐぐれ
231デフォルトの名無しさん:2006/01/14(土) 22:47:12
>>199
アプリです。
アプレットならブラウザ依存になるからCookieも取れるのかな?
232デフォルトの名無しさん:2006/01/14(土) 23:31:30
test
233デフォルトの名無しさん:2006/01/15(日) 00:52:02
クラスをインスタンス化させる時に、コンストラクタを利用して
クラス名を表示させるにはどう記述すればいいんでしょうか?
234デフォルトの名無しさん:2006/01/15(日) 00:54:03
System.out.println(this.getClass().getName());
235デフォルトの名無しさん:2006/01/15(日) 01:06:13
ありがとう
236デフォルトの名無しさん:2006/01/15(日) 01:38:17
>>231
アプリなら取れる
アプレットならアプレットに発行したCookieなら取れるが
アプレットが乗っかっているブラウザに発行したCookieは取れない
このアプレットとブラウザは別のクライアントとみなされる
ブラウザ2枚立ち上げた場合は取れる、なぜなら通常Cookieの保存場所は同じブラウザでは共有するから
237デフォルトの名無しさん:2006/01/15(日) 02:01:00
別ファイルに作ったクラスを使いたいんだけどどうすればいいんでしょ?
たとえば、main.javaとexample.javaと二つのファイルがあるときに
main.javaからexample.javaに書かれたクラスの利用
238デフォルトの名無しさん:2006/01/15(日) 02:02:16
>237
同じパッケージならそのままクラス名書けば使える。
違うパッケージならインポートすればいい
239デフォルトの名無しさん:2006/01/15(日) 02:12:21
>>238
ありがとう でけた
240デフォルトの名無しさん:2006/01/15(日) 02:32:00
>>870
>インタフェースのメリット一つとして、
>実装を差し替えられることを挙げておこう。
>たとえば、以下のコードは便利だとは思わないか?

>interface Executale { public void execute(); }

>があったとして、

>Executable exec = (Executable)Class.forName("HogeExec").newInstance();
>exec.execute();

>この"HogeExec"という文字列を外部ファイル化しておけば、
>コードを再コンパイルせずに、実装を切り替えることができる。
>ファクトリーやランチャー、デバッグモジュールなど
>アイデア次第で使い道が広がるだろう?

すごいオブジェクツ思考ですな
否定はしないが、同じことが通常のクラスでも出来てしまう例だな
241デフォルトの名無しさん:2006/01/15(日) 02:46:54
>>240
プラグイン系は全部そういう実装だろ
242デフォルトの名無しさん:2006/01/15(日) 02:48:30
>>241
わからんやつだな
インターフェースの話になっていないと言うことだ
243デフォルトの名無しさん:2006/01/15(日) 02:52:41
だからさ、GCが走るタイミングなんて決まっていないだろ?
アレと一緒なんだよ文字列の==比較は・・・・
おまえら全くわかっていないよな
「文字列の==比較は常に答えが決まっているわけではない」と言うことだよ
「大抵の場合、trueになるが・・・」というだけ
244デフォルトの名無しさん:2006/01/15(日) 02:54:02
独り言はブログで
245デフォルトの名無しさん:2006/01/15(日) 02:59:16
===========================================================
243 のブログ                 ご来店 100000人突破記念
===========================================================

今日の訪問者  10人
次のキリ番は? 110000人目です

ごゆっくり
お茶でもどうぞ
^^)っ且

だからさ、GCが走るタイミングなんて決まっていないだろ?
アレと一緒なんだよ文字列の==比較は・・・・
おまえら全くわかっていないよな
「文字列の==比較は常に答えが決まっているわけではない」と言うことだよ
「大抵の場合、trueになるが・・・」というだけ

RSS

この記事のトラックバック
http://pc8.2ch.net/test/read.cgi/tech/1136960593/243
===========================================================
246デフォルトの名無しさん:2006/01/15(日) 03:43:41
>>243
何か嫌なことでもあったのか?
247デフォルトの名無しさん:2006/01/15(日) 08:28:47
今、swingを使って家計簿アプリケーションを造ろうとしているのですが、
まず最初にユーザIDとパスワードを入力するログイン画面を作りました。
ここからその画面にある「ログイン」というボタンを押してログイン後の画面
を描画したいのですがどのような記述をすればよいのでしょうか?
アプレットのようにrepaint()のようなメソッドが用意されているのでしょうか?
248デフォルトの名無しさん:2006/01/15(日) 08:31:43
ユーザ ID とパスワードの入力画面をモーダルダイアログにする。
249247:2006/01/15(日) 08:51:48
>>248
なるほど!それは使えそうです!
・・・でも、いくつか画面を遷移していくのでやっぱり画面を再描画する処理が必要なんです('A`)
250デフォルトの名無しさん:2006/01/15(日) 08:53:21
CardLayout
251247:2006/01/15(日) 09:23:26
>>250
それなんかいけそうっすね!ちょっと調べてみます
252247:2006/01/15(日) 10:38:47
あぁ・・・何か JTabbedPaneっていう素敵なコンポーネントがある・・・
これ簡単だ('A`)
253デフォルトの名無しさん:2006/01/15(日) 13:35:50
一人でじっくり考えてからきて欲しい
質問するレベルじゃない
254デフォルトの名無しさん:2006/01/15(日) 13:40:08
まずjavadoc読め
ほんと、馬鹿多いな
255デフォルトの名無しさん:2006/01/15(日) 13:42:16
質問です!!
現在JAVAで、4つの数字を四則演算を使い10にするゲームを作っています。
4つの数字をランダムメソッドで生成して、その4つの数字が10になるかを確かめて、10になる数字であれば、rabelに貼り付け、四則演算+−×÷記号はチョイスで選択する形にしました。
しかし、イベント処理で答え合わせの際、チョイスで選んだ四則演算が、答え合わせの式に使えません;_; 
この問題で行き詰っています。
どなたか、良いアイディアをいただけないでしょうか??
また、参考になるプログラム等ありましたら、教えてください!!
ご教授お願い致します。
256デフォルトの名無しさん:2006/01/15(日) 13:48:22
>>255
宿題スレ行け!
257デフォルトの名無しさん:2006/01/15(日) 13:54:46
"+"とか"x"って単に文字列だからなぁ

if("+") {
kotae=a+b;
}
else if("÷"){
kotae=a/b;
}

とかやるしかないんじゃないの?
258デフォルトの名無しさん:2006/01/15(日) 13:56:55
以前のチョイスチョイスtってたやつか
259デフォルトの名無しさん:2006/01/15(日) 13:59:07
>>255
オブジュクト指向言語使ってるんだから
それらしく考えれば答えは見つかるよ
メソッドとかメッセージってキーワード出てきたでしょ?
260デフォルトの名無しさん:2006/01/15(日) 14:02:46
>>255
イベントで取得した演算子を表すオブジェクトor数値だと、そのまま計算ができない
ということだろうか?

この流れは計算スタックの生成ですか・・・
261デフォルトの名無しさん:2006/01/15(日) 14:04:42
>>258
>>109とか?
チョイスって何なんだろ。。。
262デフォルトの名無しさん:2006/01/15(日) 14:05:47
Apache + mod_perl or lighttpd + FastCGI
を使えば全然速度も出ると思うんです。
(実際に1日数万PVのサイトを上記の構成で使ってます)
みたいなことを思わず面接で言ったら
「うちは Javaで飯食ってるので、そういう低レベルな言語を得意げに話されても困ります」
と言われました。
263255:2006/01/15(日) 14:06:35
>>やはり、最初の10になるか判定すると同様に、答え合わせも64通りやるしかないですよね;_;
javaを独学で学びゲームを作ってみることにしたのですが、初めてで、おそらくjava経験者にとっては単純なプログラムなのでしょうが、私は頭が混乱してきました。
もう一度やってみます。

>>256
宿題ではなく独学でやっているので、こちらに書いてしまいました。
申し訳ありませんでした。
264デフォルトの名無しさん:2006/01/15(日) 14:09:56
>>262
アセンブラの方が速いですよ
と言ってるのと変わらんな

とりあえず貴方は面接する会社を間違えている
265デフォルトの名無しさん:2006/01/15(日) 14:13:52
>>262
JAVAで10分間に6万トランザクションっていう
システムあるよ
266デフォルトの名無しさん:2006/01/15(日) 14:25:58
>>262
どっちみちレスポンスはJavaServlet/JSPの方が速いと言うのは知っているよな?
267デフォルトの名無しさん:2006/01/15(日) 14:26:21
最初の10になるか判定する処理と同時に、全ての正解のパターンを保持しておけばいいんじゃね?
268デフォルトの名無しさん:2006/01/15(日) 14:27:48
>>261
GUI で「チョイス」ならば、AWT の Choice かな
Swing だと JComboBox だし
269デフォルトの名無しさん:2006/01/15(日) 14:29:46
>>267
数字が0〜9まであったとして(0も含むと仮定して)
単純に最大でも10000パターン
正解パターンはそんなに無いからあらかじめ他のプログラムでprintしておくのもいいかもね
270デフォルトの名無しさん:2006/01/15(日) 14:31:52
そうか、AWTやSwingの場合ってHTMLの<option>タグみたいに
表示部分と値を格納できずに
選択されているそのもののオブジェクト(例えば文字列)か、選択されたインデックスしか拾えないのか
271デフォルトの名無しさん:2006/01/15(日) 14:46:37
Coiceに独自に定義した演算子クラスのオブジェクトを突っ込むのが
楽な気がする。
int cal(int i1
int i2)みたいな定義をしたインタフェースを用意して…
272デフォルトの名無しさん:2006/01/15(日) 14:52:44
いや、演算って左から順に計算するような仕様にしているのかどうかも考慮しないと単純にそれだけでは出来ない
全体の相関性も考慮しないといけない
273デフォルトの名無しさん:2006/01/15(日) 14:56:48
今ソケットプログラミングしてるんですが、
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
とすると文字列しか受け取れないのですが、
文字列以外を受け取りたい場合どうすればいいでしょうか?
274デフォルトの名無しさん:2006/01/15(日) 14:58:31
InputStream is = socket.getInputStream();
でいいじゃないか?
275デフォルトの名無しさん:2006/01/15(日) 15:03:18
>>273
(API から引用)
InputStreamReader はバイトストリームから文字ストリームへの橋渡しの役目を持ち、…
276デフォルトの名無しさん:2006/01/15(日) 15:04:23
>>273
普通、逆の質問が来るんだけどな
277273:2006/01/15(日) 15:10:45
本読みながらやっててこのやり方しか書いてなかったもので・・・
今までは
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
in.readLine();で受信できたのですが、
InputStream is = socket.getInputStream();
とすると、is.readLine()で出来るはずもなく・・・
どうすればよいでしょうか?
278デフォルトの名無しさん:2006/01/15(日) 15:20:29
>>277
とりあえず >>1 読んできてください
279デフォルトの名無しさん:2006/01/15(日) 15:21:35
InputStreamの場合は
int data;
while((data=is.read())!=-1) {
System.out.println(data);
}
とかやる

結果として何がやりたいのか全部言った方が話が早いと思うけど?
280273:2006/01/15(日) 15:32:23
ありがとうございます
ちなみにサーバとクライアントというものを作り、
クライアントが数式を送って、サーバが解析して、
答えを返すって感じなのですが、
サーバから帰ってくるのは文字列なので
一回一回doubleとかに変換してたので
変換せずにdoubleのまま受信できないかなと思いまして
281デフォルトの名無しさん:2006/01/15(日) 15:43:29
アプレットを使ってキーボードの読み取りとり・保存などは出来ますか?
たとえばアプレット起動中に「Ctrl」キーや「print screen」を押したことを読み取ったり、それを自サーバに送信するなど
282デフォルトの名無しさん:2006/01/15(日) 16:03:40
>>268
この人に文句言ってやってください><
http://homepage3.nifty.com/hippo2000/perltips/javaperl.htm
283デフォルトの名無しさん:2006/01/15(日) 16:51:43
皆さんどういった時に関数を定義しますか?
どうも1つの関数が長くなりがちなのですが・・・
284デフォルトの名無しさん:2006/01/15(日) 16:53:54
>>280

読み取り側でdoubleで扱いたいのなら、最初に、サーバ側でdoubleのデータとして送らないと意味が無いのだよ
OutputStreamでもいいけど、doubleって確定してるんならDataOutputStreamでwriteDouble()して
クライアント側でDataInputStreamでreadDouble()してやればらくだと思う

だから
>サーバから帰ってくるのは文字列なので
とは限らない

仮に文字列だとしてもDouble.parseDouble()っていうメソッドでdoubleに変換できる

285デフォルトの名無しさん:2006/01/15(日) 16:56:23
>>283
共通に使えそうな固まり部分だけを別関数にする
コレを究極まで押しすすめると、中身1行のみの関数がズラーっといっぱい出来ちゃって逆にわかりづらくなるという
286283:2006/01/15(日) 17:03:29
>>285
確かに、1行関数が多発しそうですね。
適度に使えそうな固まりを見つけられて居ないのがやはり原因でしょうか。

私は簡単に分かるような関数以外は
処理を一通り書いた後に分けようとするのですが、
余り上手い方法だと思えないのですが・・

固まりを見つける方法って色々あると思いますが、
皆さんはどういった見つけ方・分け方をしていますか?
287デフォルトの名無しさん:2006/01/15(日) 17:11:20
>固まりを見つける方法って色々あると思いますが、

■機能で分ける場合
・ファイル関係扱うもの
・DB関係扱うもの
・文字列の変換作業を行うもの

■オブジェクト指向設計をしていくと自然と決まっていく場合

>私は簡単に分かるような関数以外は
>処理を一通り書いた後に分けようとするのですが、
>余り上手い方法だと思えないのですが・・

開発初期の段階でクラス設計が完璧な人はいない
作っていくうちに設計上の矛盾とかがあって当然なので
その方法でいいと思う リファクタリング
288283:2006/01/15(日) 17:20:59
>>287
ありがとうございます。

とりあえず動く物を作ってからってのは
割と共通なんですね。
289デフォルトの名無しさん:2006/01/15(日) 17:38:10
眠い・・・
290273:2006/01/15(日) 17:58:33
>>284
クライアントの受信が
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
なので文字列しかないと思うのですが・・・
in = new DataInputStream(socket.getInputStream());
とすると、推奨されない API を使用またはオーバーライドしています
って表示されますorz

291273:2006/01/15(日) 18:01:39
自己解決しました
API見たらreadLineはダメみたいらしいですね
もうちょっといろいろいじってみます
292130:2006/01/15(日) 18:04:52
アプレットの貼り方がわからないと書き込んだ者ですが、今作ってるものをアップしたので
htmlへの貼り付け方教えていただけ無いでしょうか?
Eclipseでは正常に動いているので後はhtmlファイルだけだと思うのですが・・・

ttp://49uper.com:8080/html/img-s/105708.zip
293デフォルトの名無しさん:2006/01/15(日) 18:14:34
コードのいたるものにfinalをつけてる人がいるんだけど、
定数とか以外でもつけた方がいいのでしょうか?

例えば、
final HttpServletRequest request ・・・・。
とか。
294デフォルトの名無しさん:2006/01/15(日) 18:39:34
295デフォルトの名無しさん:2006/01/15(日) 18:45:24
>293 定数は付けて当然として、それ以外では。

クラス・メソッド→必要なものには付けること。必要でもないときは付けるべきでない。
メンバ変数→immutable目指すなら付けまくる。beansならあまり付けない

仮引数→付けること推奨。
一時変数→付けられるなら付けとけ。

仮引数・一時変数にfinal付けとくと後で変更されることがないので、
コードを読む時に頭の中で押さえておかなければならない要素が減らせて少し幸せになれます。

ちなみに、速度の点では変わらないと思って差し支えないです。
296デフォルトの名無しさん:2006/01/15(日) 18:53:31
>>292
<applet code="shooting.Shooting" width=350 height=600></applet>
297130:2006/01/15(日) 19:12:29
>>296
お、できました、ありがとうございます!
codeのところは.classいらないんですね・・・
298デフォルトの名無しさん:2006/01/15(日) 21:26:56
Tomcat 5.0のインストールでCLASSPATHを
%JAVA_HOME%\jre\lib;%JAVA_HOME%\lib;.;%CATALINA_HOME%\common\lib\servlet-api.jar
にしようとすると環境変数を置き換えることはできません。(%は1つしか使用できません)
となって設定できません。
[Monitor Tomcat]→[Start service]でhttp://localhost:8080/を表示させるというものなのですが
299デフォルトの名無しさん:2006/01/15(日) 21:29:44
ちなみにOSはMEです。
300デフォルトの名無しさん:2006/01/15(日) 21:48:39
>>294
クラスの final 宣言について、

>final の使用によって、そうした決定が設計を制限する可能性がある

>複雑でステートフルなクラスを final と宣言すると、オブジェクト指向の設計を妨害し、
>より小さく、より整合性のあるクラスに簡単にリファクタリングできない

と書いてあるが、よくわからん。必要になった時点で final を外せば良いんじゃないのか?

通常は、継承はカプセル化を壊すため、
継承を前提として注意深く作ったりドキュメントを充実させたクラス以外の public なクラスは
final を宣言すべきなのではないか?
301デフォルトの名無しさん:2006/01/15(日) 21:52:37
>>300
コンストラクタをprivateにしておく方がいいよ
302デフォルトの名無しさん:2006/01/15(日) 22:16:29
>>300
final つけるより、クラス自体を public にしない方が良いんじゃないか?
303デフォルトの名無しさん:2006/01/15(日) 22:33:52
>>302
public じゃなければ、そのパッケージを実装した人の責任において
継承すればいいからな。

仮引数に final を付けるかつけないかみたいなもの、
それを使う側にとっては、見掛けが変わらない。
304298,299:2006/01/15(日) 23:01:24
なんかTomcat 5.0はXP専用らしいので、MEや98では動かないようです。
たぶん父親はXPを持っているのでCD借りる&学校でやるしかないですかね。。
305デフォルトの名無しさん:2006/01/16(月) 00:13:21
>>270
マニュアル読まないで決め付ける人は嫌いです
306デフォルトの名無しさん:2006/01/16(月) 02:35:37
なんとなくJava入門本終わったので、サーブレットに手を出してみようかと思う。
JRunとかいろいろありそうなんだけど、転職にも有利になりそうな経験という
意味ではどこのを使ってたらいいの?
307デフォルトの名無しさん:2006/01/16(月) 03:38:36
>>306
それを調べるのも経験。
308デフォルトの名無しさん:2006/01/16(月) 03:43:16
Timerとsleepの違いって?

数分おきにタスクを実行したい場合にThread.sleep()使って
お手軽に作ってるんだけど、これとTimerの違いって一言で言うと
なんなんだろ?
309デフォルトの名無しさん:2006/01/16(月) 10:18:25
>>306
基本という意味ではTomcatですが、転職を考えているのなら
JRunなりWeblogicなりWebsphere Application ServerなりJOnAsなりResinなり、
幅広いサーバに慣れておいて損はないと思います。
その意味で>>307は正しい。
310デフォルトの名無しさん:2006/01/16(月) 12:21:31
>>308
マニュアル見ればTimerのやれることがわかるとおもうんだけど

実際定期処理するならsleepでまわすほうが面倒
311306:2006/01/16(月) 12:32:25
>>307 >>309
やっぱり近道なしかぁ。。。どのみち今の実力じゃ何でも同じかも知れないけど、
とりあえず聞いたことのあるTomcat,JRun,Websphereあたりから地道にはじめてみます。
どうもありがとう。
312デフォルトの名無しさん:2006/01/16(月) 13:08:28
んなこたあない

サービスに頼るからそうなるんだ。
まさかWinMeなんて穴だらけなトンデモOSをサーバとして
Tomcat運用するわけではあるまい。

拡張子がexeやmsiになってるの選ばないでzipやtar.gzに
なってるのを選んでインストールしろ
313デフォルトの名無しさん:2006/01/16(月) 13:09:31
いまのは>>304に対するレス
314デフォルトの名無しさん:2006/01/16(月) 13:16:34
Javaの動作環境について正しい説明を選べ。


a. OSの種類にかかわらず同じVMをインストールすれば、Javaプログラムを動作させることができる。

b. 使わなくなったメモリを自動的に開放する仕組みを「メモリリーク」と呼ぶ。

c. すべてのOSでマルチスレッドを実現する事ができる。

d. JavaとJavaScriptとは動作環境が違うだけで文法上は同じである。

315デフォルトの名無しさん:2006/01/16(月) 13:18:03
314です。。
お願い誰か解いて下さい。
316デフォルトの名無しさん:2006/01/16(月) 13:18:17
aが微妙だけど全部×じゃないか?
317デフォルトの名無しさん:2006/01/16(月) 13:18:37
e.
318デフォルトの名無しさん:2006/01/16(月) 13:20:44
運転免許の試験みたいだw
319デフォルトの名無しさん:2006/01/16(月) 13:21:45
一番微妙なのは c のような気もする
320デフォルトの名無しさん:2006/01/16(月) 13:21:55
ありがとうございます。
まだまだ問題あるのでどんどんいいっすか?
321デフォルトの名無しさん:2006/01/16(月) 13:22:32
問45:Stringオブジェクトstr1とstr2の文字列を比較する場合、正しいものはどれか。

a. str1 == str2

b. str1.equals(str2)

c. str1 = str2

d. equals(str1, str2)
322デフォルトの名無しさん:2006/01/16(月) 13:24:58
問45:Stringオブジェクトstr1とstr2の文字列を比較する場合、正しいものはどれか。

a. str1 == str2

b. str1.equals(str2)

c. str1 = str2

d. equals(str1, str2)
323デフォルトの名無しさん:2006/01/16(月) 13:25:50
問39:以下のようなクラスFooがある。追加するとオーバーロードになるメソッドを選べ。

public class Foo
public int calculate(int a, double b) {
//省略
}
}


a. public int calculation(int a, double b) {…}

b. public int calculate(int c, double d) {…}

c. public abstract int calculate(int a, int b){…}

d. public abstract int calculate(double a);
324デフォルトの名無しさん:2006/01/16(月) 13:25:59
問45:Stringオブジェクトstr1とstr2の文字列を比較する場合、正しいものはどれか。

a. str1 == str2

b. str1.equals(str2)

c. str1 = str2

d. equals(str1, str2)
325デフォルトの名無しさん:2006/01/16(月) 13:27:14
問45:Stringオブジェクトstr1とstr2の文字列を比較する場合、正しいものはどれか。

a. str1 == str2

b. str1.equals(str2)

c. str1 = str2

d. equals(str1, str2)
326デフォルトの名無しさん:2006/01/16(月) 13:27:24
327デフォルトの名無しさん:2006/01/16(月) 13:27:50
問39:以下のようなクラスFooがある。追加するとオーバーロードになるメソッドを選べ。

public class Foo
public int calculate(int a, double b) {
//省略
}
}


a. public int calculation(int a, double b) {…}

b. public int calculate(int c, double d) {…}

c. public abstract int calculate(int a, int b){…}

d. public abstract int calculate(double a);
328デフォルトの名無しさん:2006/01/16(月) 13:28:37
問39:以下のようなクラスFooがある。追加するとオーバーロードになるメソッドを選べ。

public class Foo
public int calculate(int a, double b) {
//省略
}
}


a. public int calculation(int a, double b) {…}

b. public int calculate(int c, double d) {…}

c. public abstract int calculate(int a, int b){…}

d. public abstract int calculate(double a);
329デフォルトの名無しさん:2006/01/16(月) 13:32:07
Java初心者は歓迎だがホントのアレは他で遊べ
330名無し募集中。。。:2006/01/16(月) 13:42:11
何この池沼?w
331デフォルトの名無しさん:2006/01/16(月) 15:22:27
eclipse+TomcatでWebアプリ開発勉強してます。
コンパイルエラーにはなっていないのですが、
サーブレット実行時に、「クラスが見つからない」というエラーが発生します。
なお、見つからないクラスは、フリーのjarファイルで、クラスパスには追加してあるんですが、
それ以外に何か設定が必要なんでしょうか?
どなたか教えてください。
332デフォルトの名無しさん:2006/01/16(月) 15:24:43
>>331
WEB-INF/libの下に置かない場合は、Tomcatの設定でクラスパスに追加しないとならないが
333デフォルトの名無しさん:2006/01/16(月) 15:29:48
>>332
ありがとうございます。
@WEB-INF/libの下に置く
ATomcatの設定でクラスパスに追加する。
@Aの両方とも試してみます。
Aは環境変数のclasspathに追加するのとは違うんでしょうか?
334デフォルトの名無しさん:2006/01/16(月) 15:46:29
>>333
1.WEB-INF/libの下に置く

これだけで十分。
クラスパスはいじるな。
335デフォルトの名無しさん:2006/01/16(月) 15:53:12
>>334
クラスパスをいじるのは、何か問題なんですか?
336デフォルトの名無しさん:2006/01/16(月) 15:55:28
黒くなる
337デフォルトの名無しさん:2006/01/16(月) 15:58:51
>>336環境がごちゃごちゃるする?
338デフォルトの名無しさん:2006/01/16(月) 16:02:55
>>335
・必要なクラスパスはビルド時と実行時で違う
・必要なクラスパスはアプリケーションによっても違う
 →なので、特定のアプリでしか使わないライブラリをコンテナや環境変数のクラスパスに設定するな!
339デフォルトの名無しさん:2006/01/16(月) 16:20:34
すんません、Java3Dのjavax.media.j3d.Morphを使ったサンプルなんですが…
http://www.javadrive.jp/java3d/morph/index1.html
動かないらしいです(;´Д`)
どなたか動かし方、分かりませんか??
340デフォルトの名無しさん:2006/01/16(月) 21:40:45
>332〜338
どうもありがとうございました。
341デフォルトの名無しさん:2006/01/16(月) 21:58:04
今、大学でJavaプログラミングの勉強をしてるのですが、
将来どんな仕事に役立つんですか?
今日は文字を出力する事を学びました。
342デフォルトの名無しさん:2006/01/16(月) 22:25:46
>>341
大学まで行ってるのにそんな事聞く様な奴には何の役にも立たないじゃない?
343デフォルトの名無しさん:2006/01/16(月) 22:27:20
はじめまして。現在以下の環境で簡単な携帯電話用のBBSを作成しており、アプリケーション上での絵文字の取り扱いに困っています。
・Apache2 + Tomcat5.0.28 (mod_jk2使用)
・java5
・MySQL-4.1.16-1
このような環境で作成したBBSに、将来的にはDoCoMo、au、vodafoneからの絵文字のフォーム入力も可能にしたいと思い、現在まずはDoCoMoの絵文字入力から、作業に取り掛かっているところです。
フォームより入力されたデータが、データベースに保存されるまでの手順としては、
1.フォームよりデータの送信
2.サーブレットでリクエストの受信
3.DBコネクター
4.MySQL
の流れだと理解しております。また上記のそれぞれの段階での文字列の処理は
1.HTMLのMETAタグでShift_JISを指定
2.サーブレットのフィルターで
  request.setCharacterEncoding("Shift_JIS");
をセット。
3.ドライバーはcom.mysql.jdbc.Driverを使用しURLは
  jdbc:mysql://localhost/chinaskink?
  useUnicode=true&characterEncoding=sjisに指定。
4.my.cnfの
  clientのdefault-character-setは、binary
mysqldのdefault-character-setは、sjis
mysqlのdefault-character-setは、binaryに指定。
と、このようになっています。また、レスポンスに関する手順は
1.DBよりデータの取得
2.レスポンスオブジェクトに
  res.setContentType("text/html; charset=Shift_JIS");
  をセット。
3.HTMLのMETAタグでShift_JISを指定
と、なっております。このような状態で、DoCoMoの携帯電話から入力フォームより絵文字を入力した場合、WEB上で表示すると??になってしまいます。
皆様はこのような問題をどのように解決されていますでしょうか?
344デフォルトの名無しさん:2006/01/16(月) 22:30:01
>>343 マルチ乙
345平井忠信:2006/01/16(月) 22:40:46
Javascript バックアップとらず暗号化してしまいました。。。
なんとか 復元できる方法ってないものですか?
346デフォルトの名無しさん:2006/01/16(月) 22:41:57
>>343
うちではちゃんと絵文字も認識できているけど
マルチには教えてやんない。
347デフォルトの名無しさん:2006/01/16(月) 22:50:16
>>344
>>346
すみません。初心者な者で・・・
マルチってなんですか。
348デフォルトの名無しさん:2006/01/16(月) 22:51:02
すみませんCPadとAntについて質問です(このスレでよいのかよくわかりませんが)

CPad for Java 2.31
にてAntが使えるというので、以下のページのやり方で設定してみました
ttp://javacafebreak.tripod.com/document/cpad_tips/cpad_ant.html

このページには「CPadで、Antを実行するには、『F6』キーを押すか、メインメニューの『実行』→『Ant』を選択します」
とかかれているのですが、『F6』キーを押しても何も起こらないし、
「メインメニューの『実行』→『Ant』」などというメニュ項目も見当たりません

CPadで、Antを実行して、さらにエラーメッセージをCPad上のメッセージウィンドウで表示させている人たちは
どうやっているんでしょう
(DOS窓でAntの実行を単独実行するやり方はわかっているのですが、それだとCPadのメッセージウィンドウに表示できないので不便なんです)
環境はWindows2000 JDK1.5.0_06 です
349デフォルトの名無しさん:2006/01/16(月) 22:58:10
>>347
マルチポストでググれ
350デフォルトの名無しさん:2006/01/16(月) 23:13:54
>>349
レスありがとうございます。すみません・・・
うざかったですね。

でも、本当に切羽詰っていたもので・・・。以後きおつけます。
351デフォルトの名無しさん:2006/01/16(月) 23:30:25
Javaアプレット上でローカルファイルを選択させて、
そのファイルの中身(またはファイルそのもの)を
サーバにアップロードする方法はあるでしょうか。

JDK:1.4.2
サーバ:Windows XP、Apache2.0.54、CGIやApacheモジュールは使用可

よろしくお願いします。
352平井忠信:2006/01/16(月) 23:32:22
....(((((っ*´_⊃`)っどんまい!
僕なんて スルーされてるんだから チッチキチー
353デフォルトの名無しさん:2006/01/16(月) 23:32:41
>>351
WebStartAppletならできる
354デフォルトの名無しさん:2006/01/16(月) 23:32:54
ない
355デフォルトの名無しさん:2006/01/16(月) 23:33:21
>>352
お前のはただの釣りだろ
356デフォルトの名無しさん:2006/01/16(月) 23:33:30
>>353
> CGIやApacheモジュールは使用可
357平井忠信:2006/01/16(月) 23:36:05
....(((((っ*´_⊃`)っ自分に対してどんまい!
チッチキチー
358デフォルトの名無しさん:2006/01/16(月) 23:40:14
java初心者です。課題で行き詰ってしまっていて困っています。
javaアプレットで、ペイントで作った画像をボタンしたいのですが
どうのようにすればよいのでしょうか。
ご回答おねがいします(>_<。
359デフォルトの名無しさん:2006/01/16(月) 23:41:44
import java. lang.*;
import java.applet.*;
import java.awt.Graphics;

public class Ex1 extends Applet {
public void init() {
public void paint(Graphics g) {
public abstract void drawString[]={"one","two","three","four","five",
"six","seven","eight","nine","ten",
"eleven","12","13","十四","十五"};
int n=str.length;
for( int i=0; i<n; i++ ){
System.out.println(" "+str[i]);
/*
<applet code="Ex1" width=400 height=400>
</applet>
*/
}
}
}
}

これが式の不正といわれる理由をおしえてくれませんか
360デフォルトの名無しさん:2006/01/16(月) 23:44:09
public abstract void drawString[]={"one","two","three","four","five",
"six","seven","eight","nine","ten",
"eleven","12","13","十四","十五"};

???
361359:2006/01/17(火) 00:14:30
それはそういうものみたいです
コンパイルすると15列にその文字がでてきて・・・

http://wisdom.sakura.ne.jp/system/java/awt/Gjava3.html

ここを参考にしました
362デフォルトの名無しさん:2006/01/17(火) 00:18:12
リンク先
public abstract void drawString( String str, int x, int y )

あなた(中略)
public abstract void drawString[]={"one","two","three"};

どう見ても別物です。
363デフォルトの名無しさん:2006/01/17(火) 00:31:33
Private JREをアプリに付属して配布する方法について解説のあるサイトって
ありませんか?
もしかしてJREディレクトリ配下を単に付属して、PATH、CLASSPATHの
設定を済ませばいいだけなのかな???
364359:2006/01/17(火) 00:32:15
ああ、もとのSting[]=はこっちの教材にあったものです
365デフォルトの名無しさん:2006/01/17(火) 00:35:46
>>363
binの下のjavaをつかわせるだけ
相対的にぜんぶやってくれる

配布する再の規定はreadmeみてくんなまし
366デフォルトの名無しさん:2006/01/17(火) 00:36:32
>>364
Javaを一から勉強し直した方がいいみたい
367デフォルトの名無しさん:2006/01/17(火) 00:45:30
>>347
初心者を言い訳にするやつも癪に障る
368デフォルトの名無しさん:2006/01/17(火) 00:48:05
>>351
AppletからSocket開いて
さばにデータを送って
サーバ側で保存すればいいよ
369デフォルトの名無しさん:2006/01/17(火) 00:50:35
>>365
サンクスです。簡単そうですね。
配布ライセンスについては、翻訳かけてみましたが意味わからず・・OTL
もう少しがんばってみます。
370367:2006/01/17(火) 00:52:15
まあそれじゃああまりにもかわいそうだから。

hint: windows-31j
371367:2006/01/17(火) 00:55:59
もうひとつ
mysql cp932
372359:2006/01/17(火) 01:02:38
ありがとうございます

あと48時間でがんばります
373デフォルトの名無しさん:2006/01/17(火) 01:04:44
>>372
Javaの宿題スレで丸投げしてみたら?
374デフォルトの名無しさん:2006/01/17(火) 02:32:49
ASがTomcat5.0.28で
Servletプログラムを書いているのですが

getServletContext.getResource(path)をやったときに
http://hogehoge:9090/〜っていう仮想パスが欲しいのに

jndi:://hogehoge/〜っていうパスしか貰うことができませんません
なんとかhttpで始まるパスを貰うことができないのでしょうか
375デフォルトの名無しさん:2006/01/17(火) 02:35:27
HttpServletRequest#getRequestedURL() とか何とか言うのがある
376デフォルトの名無しさん:2006/01/17(火) 04:14:59
アプレットを閉じる命令というのがみつかりません
close windowではだめみたいですし・・・

もしかして手動以外ではないんですか?
377デフォルトの名無しさん:2006/01/17(火) 04:31:17
ブラウザクローズの JavaScript だけ入った HTML ファイルに
AppletContext#showDocumet() で飛ばす。
378デフォルトの名無しさん:2006/01/17(火) 06:13:25
ありがとうございます
379デフォルトの名無しさん:2006/01/17(火) 06:33:17
ネットワーク上からクラスを動的にロードするクラスローダーを作成して、クライアント間でプラグインを共有するフレームワークを作成していて、
共有自体はできているんですが、悪用を防ぐために、ネットワークからロードしたクラスがソケットの接続やファイル操作を行うのを制限したいと考えています。

具体的には、プラグインあるいはクラスローダー単位でサンドボックスのようなものに閉じ込めて、制限を課すといった方向を想定しているんですが、このように、
同一VM上で動いているプログラムの一部分のみにセキュリティマネージャーなどを使って制限をかけることは可能ですか?

可能なら、具体的な方法あるいは、使えそうなAPIや参考になるドキュメントなどを教えていただけるとありがたいです。

開発環境はWindows2000/J2SE5.0.5、想定している動作環境は、OS不問(PureJava?最低限Mac/Windows/Linuxで動くこと)/J2SE1.4.2以上です。
但し動作環境は1.4で困難ならば5.0に妥協する余地はあります。

どうか趣味グラマーに救いの手を差し伸べて下さい。
380デフォルトの名無しさん:2006/01/17(火) 07:18:40
>>368
ほう。サーバに送るデータはどうやって読み込むつもりかね?
381デフォルトの名無しさん:2006/01/17(火) 08:33:13
すみません。教えてください。
自分自身のメソッドを呼び出すような処理はできる限り避けた方がよいのでしょうか?
内部では何度も同じようなSQLを読んでおり困っております。
あらかじめSQLで階層をメモリに展開しておいても差し支えなさそうなのですが
何か知ってましたら教えてください。
382デフォルトの名無しさん:2006/01/17(火) 08:49:50
はぁ・・・・
なんどやっても掲示板で入力されたi-modeの絵文字が上手く表示されません。
i-modeから入力された絵文字はデータベースを含むアップリケーション側でどのような処理を
すればいいのでしょうか・・・
383デフォルトの名無しさん:2006/01/17(火) 08:56:16
>>381
ORマッピングとかJDOとかでぐぐると良いぞ
384デフォルトの名無しさん:2006/01/17(火) 10:38:47
やったことがないのでわかりませんが、この辺を読めばできそうな気がします。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/spec/security-specTOC.fm.html
385384:2006/01/17(火) 10:39:18
あ、↑のは>>379へのレス
386デフォルトの名無しさん:2006/01/17(火) 11:11:24
おはようございます!
昨日からJavaの勉強を始めたんですけど、

public class Happy{
public static void main(String[] args){

上の場合、メソッドはどれなんでしょうか?
そもそもメソッドの意味が分かりません・・・。
宜しくお願いします!
387デフォルトの名無しさん:2006/01/17(火) 11:42:42
>>386
勉強を始めたんなら教科書ぐらいもってんだろうな?
388143:2006/01/17(火) 11:42:42
昨日からJDK5.0にはまってます。
HttpSessionクラスにMapを突っ込んでいるんですが、
それを取り出すときに警告が出てしまうんですが、この警告が取れません。

該当箇所はこんな感じです。

Map<String, Hoge> hogeTable = (HashMap)session.getAttribute("key.hoge");
if(hogeTable == null){
hogeTable = new HashMap<String, Hoge>();
hogeTable.put("hoge1", new Hoge(1));
}

(HashMap)session.getAttribute("key.hoge");
↑の部分で「型の安全性が・・・」の警告がでています。
どうやればいいんでしょうか?よろしくお願いします。
389367:2006/01/17(火) 11:46:14
>>380
java.policy
390デフォルトの名無しさん:2006/01/17(火) 11:55:18
>>388
キャストのところで型パラメタ指定しないHashMap 使ってるからなのでは?
391388:2006/01/17(火) 12:00:40
Map<String, Hoge> hogeTable = (HashMap<String, Hoge>)session.getAttribute("key.hoge");
こうやってもみたんですが、別の警告がでちゃうんですよ。
こう書くと(HashMap<String, Hoge>)の<String, Hoge>の部分は無視されます
みたいな警告が出ます。
392デフォルトの名無しさん:2006/01/17(火) 12:02:56
>>391
これでも駄目?
Map<String, Hoge> hogeTable = (Map<String, Hoge>)session.getAttribute("key.hoge");
393デフォルトの名無しさん:2006/01/17(火) 12:04:31
>>387
持ってないです(><)
394デフォルトの名無しさん:2006/01/17(火) 12:06:27
>>393
買えよ(><)
395デフォルトの名無しさん:2006/01/17(火) 12:15:42
>>391
erasure だから当然。
396デフォルトの名無しさん:2006/01/17(火) 12:43:45
説明下手なのでソースとかです。

while (rs.next()) {
sql = "SELECT * FROM テーブル WHERE カラム LIKE '%"+ rs.getString("WORD") +"%'" この後は(+? ;?)
if(rs.size()>1) {
+ "OR カラム LIKE '%" + rs.getString("WORD") + "%'"
}
topicss.add(topic2);
}

mysqlのコマンド
(1)SELECT * FROM テーブル WHERE カラム LIKE '%ワード%' (2)OR カラム LIKE '%ワード%' OR カラム LIKE '%ワード%' OR カラム・・・・
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
(1)の部分が絶対処理するところで、(2)の部分が条件次第で繰り返しになる部分です。
ワードの数だけORから後の部分は繰り返しになるのでwhile文を使いたいのですが、どうやればいいのかわかりません。
ワードが1個以上かどうか(繰り返すかの判断)をifの部分で判断させたいのですがこれの条件もわかりません。

"mysqlのコマンド"+ javaのコード + "mysqlのコマンド";
といった感じでjavaのコードを挟む場合「"」で一旦区切って、「+」で繋ぐと思うのですが、
ワードが一個だけなら繰り返す必要がないので、「"」の後に「;」が付き文章を終わらせれます。
しかし、ワードが2個以上の場合、一回目の「"mysqlのコマンド"」のあと、if文を入れるため「;」で区切っていいのか、
区切ったとしてどうやってORへと繋げるのかわかりません。
自分で書いててもわかりにくい説明ですが、どなたかご教授お願いします。
397デフォルトの名無しさん:2006/01/17(火) 13:08:02
>>396
StringBuffer sql = new StringBuffer();
if (rs.next()) { // rsが空でないときだけ処理をする.
String str = rs.getString("WORD");
if ((str != null) && !("".equals(str))) {
sql.append("SELECT * FROM テーブル WHERE カラム LIKE '%" + str +"%'");
while (rs.next()) {
str = rs.getString("WORD");
if ((str != null) && !("".equals(str))) {
sql.append("OR カラム LIKE '%" + rs.getString("WORD") +"%'");
}
sql.append(";");
topicss.add(topic2);
}
}
398391:2006/01/17(火) 13:10:47
>Map<String, Hoge> hogeTable = (Map<String, Hoge>)session.getAttribute("key.hoge");
やってみましたがだめでした。キャストの<String, Hoge>は意味ないです、みたいな警告が出ちゃいます
399デフォルトの名無しさん:2006/01/17(火) 13:17:49
>>398
じぇねりくす勉強してみるといいよ
googleにきいてごらん
400398:2006/01/17(火) 13:26:47
わかりました。勉強してきます
401デフォルトの名無しさん:2006/01/17(火) 14:05:26
>>397
ありがとうございます。
ですが、すみませんが文字列StringBufferを使わずにはできませんか?
String = sqlで宣言していまして、String型の引き数にもなっていてStringBufferだと適用できないとエラーが出てしまいます。
すみません。
402デフォルトの名無しさん:2006/01/17(火) 14:21:50
>>401
append を += にすればいいだけでは?
でもStringBufferのほうがいい
403デフォルトの名無しさん:2006/01/17(火) 14:37:03
StringBuilderのほうがよりいい

でも+=で連結でかまわんレベルのループ数に見えるが
404デフォルトの名無しさん:2006/01/17(火) 14:49:59
ありがとうございますありがとうございますありがとうございます
無事動きました!
StringBufferとStringBuilderはチラッとググッた感じ、パフォーマンス的な違いだけなのかな?

実は卒研のもので胃が痛い毎日でしたが、これで最低限の動作だけは確保されました。
まだ卒業できるレベルのものではないですがもし卒業できたら皆々様のおかげです。
本当にありがとうございます。
誰にも相談できず、誰に相談すればいいのかも分からず困っていたので本当に助かります。
405デフォルトの名無しさん:2006/01/17(火) 15:22:02
宿題かよ。
ってか String型で使いたいところは、StringBuffer::toString()すればいいだけだと思うが。
宣言なんか、変えればいいじゃんか。
406デフォルトの名無しさん:2006/01/17(火) 18:44:41
質問です。
ArrayListに格納してある文字列を、DBにVARCHARで格納したいんですが、
なんだかうまくいきません。キャストもできないしtoString()も使えないです。
どうしたらよいのでしょうか?教えてください。お願いします。
407名無し募集中。。。:2006/01/17(火) 18:47:23
どういうエラーが出て出ないのかぐらい書けば?
408デフォルトの名無しさん:2006/01/17(火) 19:01:46
>>407
すいません。
キャストしようとすると、できない旨の例外発生。
toString()ではクラスの文字列表現(xxx@数字)が表示されてしまう。
って感じです。
409デフォルトの名無しさん:2006/01/17(火) 19:04:15
>>402
1.5 だと文字の連結は StringBuilder を使っているので、
わざわざ StringBuffer を使うよりも速いらしいという噂
410デフォルトの名無しさん:2006/01/17(火) 19:10:05
>>408
なんでListの中に文字列入ってるのに
toString するんだ?
411デフォルトの名無しさん:2006/01/17(火) 19:14:21
>>406
こうやってると予想してみた。

ArrayList list = new ArrayList();
list.add("foo");
list.add("bar");
list.add("buz");
String str = list.toString();

もしそうならこうすべし。

for(Iterator iter = list.iterator(); iter.hasNext();){
String str = (String)iter.next();
// strを使ってしたい処理
}
412406:2006/01/17(火) 19:43:42
>>411
そのとおりです。実際にはlist.get(index)なのですが。
ありがとうございます。
できました!!
413デフォルトの名無しさん:2006/01/17(火) 22:54:59
質問です。

デュアルコアCPUの効果を最大限に受けることが出来るようにJavaでプログラムを書くには、
プログラムをマルチスレッドに対応させるだけでいいんですかね?
414デフォルトの名無しさん:2006/01/17(火) 23:06:02
たしかにそうだがシングルスレッドなアプリでもバックグラウンドコンパイルや
並列GCの恩恵受けれるからびっくりするくらいよくなるよ

ライブラリやフレームワークがマルチスレッド対応していれば
意識しなくていい部分も多少はあるだろう

並列時のネックになる場所はプロファイラでチェックだな
並列時waitなスレッドができまくってたら考えてみよう

まともに並列処理やろうとすると5.0以上が必須と思っていい
415413:2006/01/17(火) 23:44:02
>414
ありがとうございます。
416デフォルトの名無しさん:2006/01/17(火) 23:48:36
テキストフィールドでパスワードを打って、
それが正しかったら続きのプログラムを開くようにしたいんですが
どうしたらいいんですか?
417デフォルトの名無しさん:2006/01/17(火) 23:49:31
どうしたら良いと思いますか?
418デフォルトの名無しさん:2006/01/18(水) 03:20:54
パスワードを暗号化したものとのequalsでいんでね
419デフォルトの名無しさん:2006/01/18(水) 05:36:18
String型からboolean型への変換方法を教えてください
420デフォルトの名無しさん:2006/01/18(水) 06:03:29
Boolean.valueOf(str).booleanValue()
421デフォルトの名無しさん:2006/01/18(水) 06:07:57
>>420
ありがとうございます!!
422デフォルトの名無しさん:2006/01/18(水) 09:33:45
エスパー光臨か?
423デフォルトの名無しさん:2006/01/18(水) 10:18:27
こんにちは。どこで質問したらわからないのでとりあえずこちらに書かせていただきました。

質問はゲームサイト「Jgame.com for TOKAI」での事なのですが、このサイトでは使用に関してJAVAの最新バージョンのインストールを推奨しているので先日私もインストールしました。
で、そのサイト内では簡単なチャットのようなものが常時使われているのですが、インストール以降私のPCはそのチャットで誰かが書き込むたびに、画面全体が点滅するようになってしまいました。

そのサイトの常連さんたちのチャットはかなりの数で、そのたび画面が点滅し、かなり目が疲れます。

雑な説明で申し訳ありませんが、どなたか原因および対処法をご存知の方いらっしゃらないでしょうか?

ちなみに現在インストールされているのは「JAVA Platform Standard Edition(バージョン1.5.0」。OSはWindowsXPです。



424デフォルトの名無しさん:2006/01/18(水) 10:30:54
>>414
シングルベッドなアプリでも、
メインとなる処理をスレッド化してあげれば、
並列GCの恩恵にあずかれるってこと?
425デフォルトの名無しさん:2006/01/18(水) 10:33:35
>>423
そのゲームサイトに質問しろハゲ
426デフォルトの名無しさん:2006/01/18(水) 10:40:16
>>424
シングルスレッドで作ったプログラムでも、実は裏でいろいろなスレッドが動いているから
ということだとおもはら
427デフォルトの名無しさん:2006/01/18(水) 12:38:37
Webアプリで、非同期に処理を行う場合の方法について、どういった手段があるのか教えてください。

私が考えてみた方法
(1)JMS+MessageDriverBean
 サーブレットから、メッセージを送信して、MessageDriverBeanで非同期に処理を行う。
 →やったことない。こういう実装って一般的?このためにJMSを使うのが大げさな気もする

(2)Servletから子スレッド起動
 サーブレットからスレッドを起動。
 →コンテナ上でスレッドを起動してもよいの?(一度WebSphereのサポートに聞いてダメだと言われたことがある)

(3)Javaプロセス起動
 サーブレットからJavaプロセスを起動して、別プロセスで処理を行う。
 →プロセス起動の負荷大。DB接続なんかをコンテナの外で実装する必要あり。

上記の問題点や、他の手段とかあったら、教えていただきたいと思います。
428デフォルトの名無しさん:2006/01/18(水) 12:47:19
普通 (2)
君の会社よっぽどサポートに信用されてないみたいね。
429427:2006/01/18(水) 12:57:45
>>428

調べてみたら
http://www-06.ibm.com/jp/software/websphere/developer/nglist/8.html
http://www-06.ibm.com/jp/software/websphere/developer/nglist/9.html
こんなのがあった。

つまり、コンテナから取得したオブジェクトを使わなければ、
スレッドを起動してもよいということかな。
上記に注意して開発できるほど、ウチが信用されているかというと、されてないですハイ。。。
430デフォルトの名無しさん:2006/01/18(水) 15:30:45
すいません質問です

JPopupMenu内にJComboBoxを組み込んだらJComboBoxの項目を選択すると
JPopupMenuが消えてしまいます
どうやらJComboBoxの項目自体がpopupらしいので
複数のpopupを同時に表示することができれば消えないと思うのですが・・・
431デフォルトの名無しさん:2006/01/18(水) 15:38:59
結構面倒だが JPopupMenu じゃなくて JWindow から自分で作る。
432デフォルトの名無しさん:2006/01/18(水) 16:08:49
ということはの複数のポップアップの同時表示自体が不可能ということでしょうか
433デフォルトの名無しさん:2006/01/18(水) 16:16:09
X が動いているか分からない Unix 上で AWT が使えるかどうか確認したいんだけど、
GraphicsEnvironment.getGraphicsEnvironment() や Toolkit.getDefaultToolkie() とかで
例外出してみる方法はないの?
434デフォルトの名無しさん:2006/01/18(水) 16:30:17
>>433
java.awt.GraphicsEnvironment.isHeadless()
435デフォルトの名無しさん:2006/01/18(水) 16:43:10
>>434
サンキュー
だが X 使えなくても isHeadless() が false を返すね。5秒くらい待った後に例外になるから
あらかじめ分かるなら処理を回避したいんだが。

headless=false
java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
  at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
  at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:134)
  …
436デフォルトの名無しさん:2006/01/18(水) 16:52:28
>>429
リクエストとか、セッションのオブジェクトを、生成したスレッドから使わなければ問題なし。
あとは、普通のマルチスレッド処理と同様の注意点。
EJBからのスレッド起動はNG。
437デフォルトの名無しさん:2006/01/18(水) 17:40:07
>>435
何がしたいのかわからん。

Java2D/AWT/Swing使うアプリだったら X使えなければ例外吐いて落ちても差し支えないだろうし。
438デフォルトの名無しさん:2006/01/18(水) 17:41:37
>>437
Java2D だけしか使わんアプリだったらヘッドレスモードで十分だけど。
439デフォルトの名無しさん:2006/01/18(水) 18:38:24
質問です。
JSP→Servlet→Bean→Javaクラス
と処理が進んで1つのリクエストが終了しJSPに戻った場合
Bean以下のインスタンスはいつGCの対象になるのでしょうか?
教えてくださいお願いします。
440デフォルトの名無しさん:2006/01/18(水) 18:50:27
char型をint型に変換するメソッドってありますか?
441名無し募集中。。。:2006/01/18(水) 18:52:11
ある
442デフォルトの名無しさん:2006/01/18(水) 18:53:49
>>439
乱暴だが
Servlet JSPに処理を渡し終えた時点
Bean、Javaクラス セッションやリクエストに格納されてなければ、処理が終わった時点
な感じ
443439:2006/01/18(水) 19:07:15
>>442
ありがとうございます。
フィールドでListのインスタンス生成したら、
どんどん要素が増えていったもので・・・・。
444デフォルトの名無しさん:2006/01/18(水) 19:52:07
Javaプログラムの中で他のJavaプログラムを実行とかってできますか?
もし、できるなら方法を教えてください
445名無し募集中。。。:2006/01/18(水) 19:58:44
ProcessのAPI見ろ
446デフォルトの名無しさん:2006/01/18(水) 20:08:05
>>444
Runtime.exec を使って別のVMを立ち上げる
Runtime.exec("java -jar jarファイル main(String[]) を持つクラスの 完全限定名");
Runtime.exec("java main(String[]) を持つクラスの 完全限定名", null, "クラスパ階層のルート");

クラスを直接読み込んで、同じVM内で実行する
ClassLoader loader = new URLClassLoader(new URL[]{ new File( "クラスパ階層のルート or jarファイル").toURL() });
Class mainClass = loader.findClass("main(String[]) を持つクラスの 完全限定名");
mainClass.getMethod("main", new Class[]{ String[].class }).invoke(null, new String[]{ "コマンドライン引数1", "コマンドライン引数2" });
447デフォルトの名無しさん:2006/01/18(水) 20:10:46
>>446
> Runtime.exec("java -jar jarファイル main(String[]) を持つクラスの 完全限定名");
ダウト
448デフォルトの名無しさん:2006/01/18(水) 21:21:24
Javaでリバースエンジニアリングできないように(あるいは解析しにくいように)
コンパイルするやり方ってないでしょうか?

より具体的に言うとWebブラウザでJavaアプレットを動かす時の
コードを解析されたくないのですが、なにか解析を難しくする方法とかありませんか?
449デフォルトの名無しさん:2006/01/18(水) 21:29:08
>>448
難読化でググルよろし
450440:2006/01/18(水) 22:07:16
すいません、質問がまとまっていませんでした。
以下のことを教えていただけないでしょうか。

 1、char型をint型に変換するメソッドまたはその方法
 2、charAt(i)で持ってきた文字をString型へ変換する方法またはメソッド
 3、char型をString型へ変換するメソッドまたはその方法

「すべてのクラス」のサイトでメソッドを探してはみたのですが、数が膨大で
みつかりませんでした。
ご教授お願いします。

何がしたいのかというと、ファイルAから数式を読み込んで計算・処理し、ファイルB
へ結果を出力したいんです。
String型で読み込んで、int型に変換して・・・という型の変換処理に頭を抱えています。
451デフォルトの名無しさん:2006/01/18(水) 22:25:06
1. (int)<char_type>
2. String.valueOf(charAt(i))
3. String.valueOf(<char_type>)
452デフォルトの名無しさん:2006/01/18(水) 22:25:13
>>450
1・制度が上のプリミティブならなにを考える必要がある
2・APIくらいみろ
3・2とどうちがうのだ
453デフォルトの名無しさん:2006/01/18(水) 22:26:23
2人対戦型のBlackJackを作っている途中なのですが、
カードを引く部分でループしてエラーが出ます。
カードを引く前に引くかパスか選びたいのですが、どうすればよいでしょうか?
下はソースです。
ttp://0pt.net/up/src/up0327.java
454デフォルトの名無しさん:2006/01/18(水) 22:38:54
まるなげかよ
455デフォルトの名無しさん:2006/01/18(水) 22:40:05
2つのメソッドがお互いを呼び出してるんでループするのは当然。
456440:2006/01/18(水) 22:44:46
>>451,452
レスありがとうございます。
まだまだ分からないことが多くて。

参考にします、ありがとうございました。
457453:2006/01/18(水) 22:49:26
>>455
getyamafudaの部分でカードを引いてgetyamafuda2へ
getyamafuda2からgetyamafudaへ
という風になっているのは分かるのですが、
カードを引く前に引くかパスかを選んで、パスならpassmine1へ
引くならば引いてgetyamafuda2へ
という風にどうやってすればいいでしょうか?
458デフォルトの名無しさん:2006/01/19(木) 00:09:11
>>453
あまりにひどいコードなので絶句したが、とりあえずヒントだけ。
イベントドリブンを理解しよう。
この場合、ボタンによって一つ処理が進むってことだ。
つまり、getyamafuda()のなかでgetyamafuda2()は呼ばなくていい。
getyamafuda2();を呼ぶのは、相手が押したボタンでしょう。
同様に、getyamafuda2()のなかでgetyamafuda()は呼ばなくていい。
まずは、ここから考えてみよう。

次に、getyamafuda()とgetyamafuda2()は何が違うのか考えてみよう。
実はたいした違いはないんじゃないか?
今どっちの順かという違いだけで、やってることは同じだから
一つにできるはず。
パスの方も同様ね。

もっといえば、クラス設計を考えてみよう。
プレイヤー、ゲームマスタ、カード、デッキをオブジェクト化すると
もっと奇麗にまとまるはず。
459デフォルトの名無しさん:2006/01/19(木) 00:59:48
配置則はページングの場合には問題にならないのはなぜですか?
460デフォルトの名無しさん:2006/01/19(木) 01:09:33
>>440>>450-452>>456
エスパーです。もしかして>>440の要望を本当に満たすのは
実はJava.lang.Integerクラスのstatic int parseInt(String s)
だったりするんじゃないか?
461デフォルトの名無しさん:2006/01/19(木) 01:14:10
ひょっとすると Character.digit(ch, radix) かもしれんね。

>>440 が「変換」としか書かかず、変換前と変換後が
たったの一例もないので答えようがない。
462デフォルトの名無しさん:2006/01/19(木) 01:16:31
エスパーです。もしかして>>440の欲望を本当に満たすのは
実は ttp://www.backimg.com/lolibabex/lolikko_sm_1/005.zip
だったりするんじゃないか?
463デフォルトの名無しさん:2006/01/19(木) 02:50:42
Collections.unmodifiable*のインスタンスは同期とらなくてもいいのですか?
書き換えないんだから壊れなくて当然ですか?
464デフォルトの名無しさん:2006/01/19(木) 05:58:01
>>463
複数スレッドからの同時アクセスで壊れる事はないと思うけど、
それとは関係ないところで壊れないかどーかは別問題。

reflection 使って壊そうと思えばいくらでも壊せるし、
HashMap とかに hashCode() が変更できるオブジェクトを
キーとして前もって入れておけば壊せるし。
465デフォルトの名無しさん:2006/01/19(木) 10:56:37
携帯のカメラで撮影したjpg画像をjavaで読み込んだとき、元の画像とRGB値
が多少異なるんで、誤差を修正する方法を教えてください。
466デフォルトの名無しさん:2006/01/19(木) 11:01:18
・携帯画面と PC のディスプレイを厳密にキャリブレーションする。
467デフォルトの名無しさん:2006/01/19(木) 11:19:01
素朴な疑問だが匿名内部クラスにローカル変数を渡すとき final 宣言しなきゃならんのは何で?
468デフォルトの名無しさん:2006/01/19(木) 11:55:59
>>467
匿名内部クラスは、宣言されたメソッドが終了してからも生き残る(可能性がある)わけで、
その場合にfinalでない変数にアクセスしようとして
スタックフレームの無効になった領域に触ろうとすると拙いから。

すぐに思いつかないのは技術者として相当ヤバいと思う。
469デフォルトの名無しさん:2006/01/19(木) 12:07:26
最近の新人さんスタックあんまわかってねーよ
浮動小数点もよくわかってねーし
470デフォルトの名無しさん:2006/01/19(木) 12:38:34
>>468
オイオイ、普通に考えりゃ暗黙的に匿名内部クラスにインスタンス変数用意して
値 (または参照) コピーすりゃ済むやんけ (実際逆アセンブルしてみれば
そう動いてる)。スタックを共有するような無茶な方法で思考停止してる方が
技術屋として相当ヤバいだろ。

というか、final 宣言されたローカル変数がスタックに乗らないと
思ってる時点でおまえは アフォ 確定
471デフォルトの名無しさん:2006/01/19(木) 12:38:38
やべー理解できない
472デフォルトの名無しさん:2006/01/19(木) 12:41:16
プリミティブのbyte型に入っている、asciiコードの97を
String型のaに変換する方法を教えてください。
473デフォルトの名無しさん:2006/01/19(木) 12:50:34
>>470
468のいってることとずれてるぞ
474デフォルトの名無しさん:2006/01/19(木) 12:51:12
>>470
コピーで済んでるのは final 付いてるからだろ。

final 無しの場合に、匿名クラス内で外側のローカル変数を変更した場合とか
メソッド内でローカル変数変更した場合どーすんの?
475デフォルトの名無しさん:2006/01/19(木) 13:08:34
>>473
そうか? なんか 468 が final ローカル変数を C/C++ の static ローカル変数
みたいなものと勘違いしてるみたいだったから (スタックが云々のあたり)。

>>474
コピーした時点で別の変数だから final が付いてるのとは関係ないだろ。
「どちらかの値が変更されたら、見た感じ相手の変数にもその値が反映されて
そうで紛らわしいから」 って理由でこうなってるならなんとなく納得。

ちなみに

class Foo{
  void f(final x){
    new Thread(){
      public void run(){System.out.println(x);}
    }.start();
  }
}

は↓とほぼ等価。javap で見るか jad で逆コンパイルしてみれ。

class Foo{
  void f(final x){
    new Foo$1(x).start();
  }
}
class Foo$1 extends Thread{
  final int val$x;
  A$1(int x){val$x =x;}
  public void run(){System.out.println(val$x);}
}
476デフォルトの名無しさん:2006/01/19(木) 13:09:30
>>472
byte b = 97;

//1バイトだけだと、まだるっこしいけど基本的なやり方
String str = new String(new byte[]{ b }, "ASCII");

//97 が ASCII でも Unicode でも 'a' である事を利用する。
str = Character.toString((char)b);
str = "" + (char)b;
477デフォルトの名無しさん:2006/01/19(木) 13:12:20
>>475
> コピーした時点で別の変数だから final が付いてるのとは関係ないだろ。
普通はコピーしないし、同じ変数として扱われるんだよ。
もっと他の言語勉強しろ。
478デフォルトの名無しさん:2006/01/19(木) 13:17:57
>>475
また論点ずれてるよ・・・
479デフォルトの名無しさん:2006/01/19(木) 13:20:20
>>472さん

アリガトウございます!!
480デフォルトの名無しさん:2006/01/19(木) 13:33:33
>>477
わざわざ (参照) と書いたのは見えなかった事にですかそうですか。
ここで他言語は関係ないな。とりあえずアセも C/C++ も君より使えるからご心配なく。

>>478
で結局は >>475 みたいなバイナリになるのに final が必要な理由はなんだろかな。
大昔に JavaHouse で T 氏が「紛らわしいからじゃね?」と言ってた記憶があるけど
そうなのかな〜。

コンストラクタ名間違えてるな。誤 A$1(int x) → 正 Foo$1(int x)
481デフォルトの名無しさん:2006/01/19(木) 13:39:00
質問です。
byteの配列(Shift_JIS)からマルチバイトの部分だけ取り出したい場合、
なんかいい方法ありませんか・・・。

byte[] b = body.getBytes("iso_8859_1");
for (int i=0; i< b.lenght(); i++) {
if (isMultiByte(b[i]) {
//ここでマルチバイトの処理。
}
}

public void boolean isMultiByte(byte b) {
//ここの部分のいい判別方法ありませんか・・・
}
482デフォルトの名無しさん:2006/01/19(木) 13:46:13
>>481
Shift_JIS のリーダーバイト (1バイト目) は 0x81〜0x9F, 0xE0〜0xEF, 0xF0〜0xFC だから
b がこの範囲かどうか判定すれば分かる。トレーラーバイト (2バイト目) は半角領域と
カブってるから単体で取り出しても判定不能。

バイト配列のある位置がリーダーバイトなら次の位置はトレーラーバイト、って判定の
仕方しかない。
483デフォルトの名無しさん:2006/01/19(木) 13:57:00
>>481
boolean isSJISLeadingByte(byte b){
 int c = b & 0xFF;
 return (0x81 <= c && c <= 0x9F) || (0xE0 <= c && c <= 0xFC);
}
boolean isSJISTrailingByte(byte b){
 int c = b & 0xFF;
 return 0x40 <= c && c <= 0xFC && c != 0x7F;
}
boolean isMultiByte(byte b1, byte b2){
 return isSJISLeadingByte(b1) && isSJISTrailingByte(b2);
}
484デフォルトの名無しさん:2006/01/19(木) 14:03:04
>>468
スタックフレームなんて関係ないだろ。
485デフォルトの名無しさん:2006/01/19(木) 14:06:34
>>482
>>483

ありがとう!俺って本当に勉強不足・・・
486デフォルトの名無しさん:2006/01/19(木) 14:09:12
>>480
コピーしてる時点で値は不変のもの
ならfinalはもっともだろうが

変数いじってるのにインナークラス側で反映されてないとか
勝手にへんな誤解受けるよりよっぽどまし
487デフォルトの名無しさん:2006/01/19(木) 14:21:27
>>480
今回の場合はメソッドローカルなネストした関数(クラスじゃないけどね)が書けて、
その中で外側のローカル変数にアクセス可能で、ネストした関数内でも外側でも
その変数が変更可能で影響を与えあえるような言語って意味なんだけど。

具体的には JavaScript とか Ruby とか D言語とかだね。
488デフォルトの名無しさん:2006/01/19(木) 14:44:32
>>487
JavaScript のネストされた関数は外部のローカル変数触れるな。
あれは完全に内部の 1 ブロックっていう風に見てたから、言われて
みればそういう見方もあるか。内部の関数が処理している間は
外のスタックは生きてるから可能なことであって、スタックに言及した
のはそういう意図か? (当人か知らんが) おりゃまた 「final 宣言
すればスタックに置かれないからインスタンスまたいで渡せるんじゃ」
とか意味不明な事言ってるのかと思った。
489デフォルトの名無しさん:2006/01/19(木) 16:38:41
や ら な い か ?
490デフォルトの名無しさん:2006/01/19(木) 17:07:07
arrayScore[m]
に値が入っているときと入っていないときの分岐をしたいんですが、
phpのisset()
に相当するような 変数や配列の要素の有無をbooleanで返してくれるような魔法はないでしょうか。
いろいろ検索してみたんですが1時間探しても出ませんでした。
お願いします・・・。
491デフォルトの名無しさん:2006/01/19(木) 17:11:04
public class mojio {
public static void main(String argv[]) {
TurtleScreen screen = new TurtleScreen();
Turtle t = screen.newTurtle();
t.moveTo(-400,0);
t.setAngle(0);
String s;
s = screen.inputString("文字列を入力してください");
t.drawString("あなたが入力した文字列は,「" + s + "」");
}
}
これをこんぱいるしようとすると
mojio.java:8: シンボルを解決できません。
シンボル: メソッド inputString (java.lang.String)
場所 : TurtleScreen の クラス
s = screen.inputString("文字列を入力してください");
           ^
エラー 1 個
と出てコンパイル不能です。解決法を誰か教えてください!
492デフォルトの名無しさん:2006/01/19(木) 17:19:50
>>490
無い。Javaの配列は可変長配列じゃないし連想配列でもないので isset みたいので調べる必要が殆ど無い。

配列限定で似たような事するなら m < arrayScore.length && arrayScore[m] != null みたいな感じか?
493490:2006/01/19(木) 17:50:41
>>492
「無い」とわかっただけでもありがたいです。
しかも重要なヒントまでありがとうございます。
arrayScore[m] == ""とか間抜けなことしておりました。
無事解決しました!
ありがとうございました。
494デフォルトの名無しさん:2006/01/19(木) 18:43:34
>>491
TurtleScreenクラスのソースも晒して。
それからクラス名のmojioってのはいただけん。
間違いじゃないが。ひいひい祖父ちゃんの遺言でなければMojioにしとけ。
クラス名は大文字ではじめる癖をつけといたほうがいい。
495デフォルトの名無しさん:2006/01/19(木) 21:50:32
質問させていただきます。
Javaアプレットって、セキュリティの問題でソケット通信できないようにしてるってどこかに書いてあったんですが
どうやっても使えないものなんでしょうか?
496デフォルトの名無しさん:2006/01/20(金) 00:30:36
>>495
実行環境のポリシーファイルで許可するように設定すれば使える。
497デフォルトの名無しさん:2006/01/20(金) 00:31:42
つーか普通に使えるはずだが

サンドボックスの制限についてもうちっと勉強したほうがよさゲ
498デフォルトの名無しさん:2006/01/20(金) 01:08:38
>>467
ローカル変数はメソッドが終了するとオブジェクトがいつか破棄されてしまう。
しかし、内部で宣言されたインナークラスのインスタンスは生き残る可能性がある。
この時、インナークラス内からローカル変数を参照しようとすると、参照できない可能性があるため。

この問題を解決するため、コンパイラがfinalキーワードを使用したローカル変数がある場合に、
インナークラスのコンストラクタに引数として渡すことになった。

こんな理由だったはず。たぶんね。
499デフォルトの名無しさん:2006/01/20(金) 01:14:14
>>389
こ、これは・・・?
具体的にはどうすればよいのでしょうか。
500デフォルトの名無しさん:2006/01/20(金) 01:15:07
>>497
君は死んだ方がよさげ。
501デフォルトの名無しさん:2006/01/20(金) 01:17:47
499=500
502デフォルトの名無しさん:2006/01/20(金) 01:21:05
>>501
どうでもいい。
503デフォルトの名無しさん:2006/01/20(金) 01:23:13
501=502
504デフォルトの名無しさん:2006/01/20(金) 01:27:28
>>503
501≠502
503=死者
505デフォルトの名無しさん:2006/01/20(金) 01:27:50
匿名な内部クラスってこんなやつ??
言葉がわからないから話題についていけない・・・OTL

  public void foo(){
    String s = null;
    
    new Stack(){
      public Object push(Object item) {
        return null;
      }
      class Sub{
        public void func(String s){
          
        }
      }
    }.new Sub().func(s);
  }
506デフォルトの名無しさん:2006/01/20(金) 01:28:37
506=506
507デフォルトの名無しさん:2006/01/20(金) 01:29:30
質問があるのです。
『適当な数字をいくつか入力すると、それらの標準偏差を
 計算して表示するjavaプログラムをつくれ
 データの個数に上限はないものとする』、、、と言う課題が出ました。
作ってみましたが、最初から最後まで一行も合っている気がしません。
山の様に出たエラーも、何が言いたいのか皆目分かりません。
もう疲れました。もう頑張れません。どなたか答えを教えて下さい(x_x)

全くの初心者です。こいつのせいで私は虫の息です。
どうかどうかどうかお助けください(;_;)
508デフォルトの名無しさん:2006/01/20(金) 01:33:00
答えも何も標準偏差が何かわかればそのまま書くだけだが。
初心者だから〜とかぬかしてるやつは死んで。
509デフォルトの名無しさん:2006/01/20(金) 01:45:27
標準偏差の式→ sqrt(1/nΣ[i=1〜n](Xi-X平均)二乗)
510デフォルトの名無しさん:2006/01/20(金) 01:53:29
>>507
宿題スレいきなさい
何が言いたいのか皆目分かりません。
511デフォルトの名無しさん:2006/01/20(金) 02:03:35
final じゃないと、こんなのがややこしいからジャマイカ

public void test() {
 int x = 1;
 Runnable r = new Runnable() { public void run() { System.out.println(x); } }
 x = 2;
 r.run();
}
512デフォルトの名無しさん:2006/01/20(金) 07:51:58
遅延(実行時)評価じゃないんだっけ?
本来runメソッド実行時にxを評価するのが正しいと思うんだけど
メソッド定義ってただの処理手順じゃん
513デフォルトの名無しさん:2006/01/20(金) 08:23:59
>>498
前半は分かる。聞きたかったのは後半の 「なんでそこで final?」 だったんだが、
なるほどね。内部クラスのコンストラクタに渡すべきパラメータがどれかをコン
パイラが知るためにか。

そのほうが内部クラス内で未宣言かつローカルで宣言されてる変数を探さなくて
済むし、そもそも内部クラスで未宣言の変数がローカル変数なのか、単にミスなのか
はっきりして良い。ついでに >>511 みたいなややこしさも回避できるってことか。
ありがとう、すっきりした。
514デフォルトの名無しさん:2006/01/20(金) 08:35:14
文章じゃ理解できずにコード示されないと理解できない馬鹿っているよね。
特にアセンブラできます、とか言ってる奴に多い。
515デフォルトの名無しさん:2006/01/20(金) 08:40:25
としか言えない馬鹿よりマシ
516デフォルトの名無しさん:2006/01/20(金) 08:42:11
>>511
それは比較的ややこしくない。
517デフォルトの名無しさん:2006/01/20(金) 08:43:52
あぁ、>>475のfinalなしバージョンよりはややこしくないねぇ
518デフォルトの名無しさん:2006/01/20(金) 08:47:37
>>475 のどこに final なしバージョンが?
519デフォルトの名無しさん:2006/01/20(金) 08:59:14
JTextFieldやJTextAreaをアクティブ(カーソルが点滅している状態)にする場合は何を使えばいいでしょうか?
520デフォルトの名無しさん:2006/01/20(金) 09:57:44
>>519
hasFocus() が false なら requestFocus()
isEditable() が false なら setEditable(true)
isEnabled() で false なら setEnable(true)
521デフォルトの名無しさん:2006/01/20(金) 09:58:59
522デフォルトの名無しさん:2006/01/20(金) 10:38:39
実例で示せってのはどの世界でもあることだと思うけど。アセンブラ使いに多いのかね?
523名無し募集中。。。:2006/01/20(金) 10:47:24
文章で示す奴の文才がない場合に言われることが多いよね<実例で示せ
実例を示せって言われるのがコンプレックスなのかな?
524デフォルトの名無しさん:2006/01/20(金) 10:51:28
>>522
実例じゃなきゃ理解できないのがダメなんじゃね?
アセンブラ使いに多いかは知らね
525デフォルトの名無しさん:2006/01/20(金) 11:17:36
学校の先生の観点だと「理解できない方が馬鹿」なんだけど
塾の講師の観点だと「うまく説明できない方が馬鹿」になるんだよな

いい加減な説明しといて「馬鹿」と罵倒するのは上手い釣りだとは思うが
526デフォルトの名無しさん:2006/01/20(金) 11:20:48
アセンブラとJavaScriptが使えて>>467の理由が即座に想像できない奴は馬鹿
527名無し募集中。。。:2006/01/20(金) 11:44:14
30過ぎのPGって本当につかえねぇ
528デフォルトの名無しさん:2006/01/20(金) 12:00:05
釣りならどっか他所いってやれよ
529デフォルトの名無しさん:2006/01/20(金) 12:15:25
いやいや、プログラミングは実例がものを言うので、理屈だけではだめ。
530名無し募集中。。。:2006/01/20(金) 12:29:17
実践なくんば証明されず。

証明なくんば信用されず。

信用なくんば尊敬されず。
531デフォルトの名無しさん:2006/01/20(金) 12:30:00
いやいやいや、理屈だけでは理解できない実例を示せ、っていうのはだめな奴だろ
532デフォルトの名無しさん:2006/01/20(金) 12:32:28
すいません。
今GUIのプログラムを作成しているのですが JEditoPaneを使用していて
ちょっとした疑問ができました。

JEditoPaneにいろんな結果を表示するのですが、
表示結果を直接いじれないようにするときに
setEnabled(false)とするのとsetEditable(false)とするのではどう違うのでしょうか?
533デフォルトの名無しさん:2006/01/20(金) 12:43:55
>>531
理屈で良いと思う香具師、テストは必ずしてるんだろうな。
534デフォルトの名無しさん:2006/01/20(金) 12:57:44
いい加減スレ違いウザイ
535デフォルトの名無しさん:2006/01/20(金) 13:14:55
>>532
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JComponent.html#setEnabled(boolean)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/text/JTextComponent.html#setEditable(boolean)

ちょっと試してみたけど、Sunの実装では
setEditable(false) では編集不能だけど文字列の選択は可能、
setEnable(false) では文字列の選択も不可能になって文字列の色も変わる?
536532:2006/01/20(金) 13:18:00
>535
あ〜なるほど。
setEnable(false)だと文字列の選択も不可能になるってことか・・・

迅速な回答ありがとうございました┏oペコ
537デフォルトの名無しさん:2006/01/20(金) 13:46:11
多言語コンプレックスな粘着がいるな。
538デフォルトの名無しさん:2006/01/20(金) 16:18:25
>>536
プラットフォームやGUIによって結果が違うから注意な
539デフォルトの名無しさん:2006/01/20(金) 17:18:14
jarにするとImageIconが読み取れなくて困ってます。
どうすればいいでしょうか?

public class CopyAction extends AbstractAction{
 public CopyAction(){
  super("コピー", new ImageIcon("icon/copy_b.png"));
 } 
 public void actionPerformed(ActionEvent arg0) {
  hoge.jTextArea.copy();
 }
}
540デフォルトの名無しさん:2006/01/20(金) 17:38:32
>>539
別にクラスをjarにしても普通に画像ファイル読めるけど?

画像ファイルをどこに置いたの?
リソースとしておいたんじゃないの?
541デフォルトの名無しさん:2006/01/20(金) 17:58:32
>>539
CopyAction が入ってる jar に画像も入ってる事が前提だけど。

>  super("コピー", new ImageIcon("icon/copy_b.png"));
super("コピー", new ImageIcon(CopyAction.class.getResource("/icon/copy_b.png")));
542デフォルトの名無しさん:2006/01/20(金) 17:59:15
>540
説明不足ですみません。
CopyActionと画像は別々のパッケージに入っています。
大体こんな感じです。

hage┬hige
   │ └CopyAction
   ├icon
   │ └copy_b.png
   └hoge
      └jTexeArea
543デフォルトの名無しさん:2006/01/20(金) 18:11:52
じゃあ"/hage/icon/copy_b.png"だな
544デフォルトの名無しさん:2006/01/20(金) 18:17:23
>541
すみません。
やってみましたがよく分かりませんでした。
>542をまとめて1つのjarにしているんですが…
ためしにjarにしてみたら、起動すらできないようです。
545デフォルトの名無しさん:2006/01/20(金) 18:27:25
Javaのレイアウトマネージャを用いて、ボタンやテキストエリアなど複数種類のGUIコンポーネントを配置し、3種類のGUIウィンドウを作成せよ。但し、次の条件に従うこと。

* SwingのGUIコンポーネントを利用すること(授業で説明したGUIコンポーネント以外を利用してもよい)
* フローレイアウト、グリッドレイアウト、グリッドバッグレイアウト、ボックスレイアウトの4つはいずれも最低1回は利用すること
* 一つのGUI画面を設計するのに複数のレイアウトを利用してもよい(その場合はJPanelを使うことになる)
* 配置したGUIコンポーネントを操作した場合、画面上のどこかにその操作に対応したメッセージを表示すること
* 作成したGUIに関する説明書きのテキストファイル(README)を作成すること...という課題が出されたんですが初心者なのでわかりません。やり方わかる人教えてください。
546デフォルトの名無しさん:2006/01/20(金) 18:38:15
>543
やはり表示できません。困った。

CopyActionとcopy_b.pngを同じパッケージに
入れてみてもできないようです。
どこか根本的なところがおかしいのでしょうか?
初心者な質問ですみません。
547デフォルトの名無しさん:2006/01/20(金) 18:42:54
>>546
どうしたいの?
画像が外だしなら今までのコードそのままでいい

リソースとしてjarにいれてるならリソースから取り出すように修正すべし
コンストラクタとかちゃんと見てみた?
Imageが取り出せるならそれを渡すだけだよ
548デフォルトの名無しさん:2006/01/20(金) 18:51:37
正しくとJARが作成できているのか、確認してみたら?
classしか入っていないとかではないか?
549デフォルトの名無しさん:2006/01/20(金) 19:00:04
>547
言葉を知らないのでうまく説明できないのですが、
これはデスクトップ用アプリケーションの一部なんです。

なので、アイコン画像として表示できればいいんですが、
あれらを1つのjarとして出力・実行しても表示できません。
表示できない=Imageが取り出せていない、ということですよね?
パスが間違っているから取れていないという理解でいいですか?

リソースとして…の部分が理解できなかったので、
的外れな答えかもしれませんがよろしくお願いします。

>548
eclipseでやっているのですが、iconのパッケージも含めてエクスポートしています。
ただ、この作業にも理解が不足している点があります…
今ぐぐって調べています。
550デフォルトの名無しさん:2006/01/20(金) 19:03:08
つまりjarにclassも画像も入れてワンパッケージにしたいってことね?
ならリソースとして扱う必要がある
クラスパスルートからの画像のアドレスをImageIOでロードして
そのImageをImageIconにいれるのがいい

ちゃんとjarに画像が入っているかどうかもチェックしてください
拡張子を変えればWinXPなら標準で中身を確認できるし
551デフォルトの名無しさん:2006/01/20(金) 19:04:03
初心者が使うならEclipseよりNetBeansのほうがその辺楽だし
デスクトップアプリならSwing使うだろうからなおさらだよね・・・

552デフォルトの名無しさん:2006/01/20(金) 19:11:20
>>551
そもそもリソースをわかってないんだからIDEがなんだろうが
関係ないだろ。
553デフォルトの名無しさん:2006/01/20(金) 19:14:41
>>552
画像等をリソースとして埋め込むのはNetBeansは分かりやすいと思うよ
エクスポートがどうのこうのということはないし
554デフォルトの名無しさん:2006/01/20(金) 19:18:20
>550
>つまりjarにclassも画像も入れてワンパッケージにしたいってことね?
そういうことです!
jarにはちゃんと画像が入っていました。
ImageIOを調べてみます。

>511
NetBeansのほうが優しそう、というイメージはあるのですが
ちょっと引き返せない状況で無理なんです。
Eclipceからすぐには移行できませんよね?
興味はあるので、次から試します。

本当に皆さんご丁寧にありがとうございます。大変助かります。
555デフォルトの名無しさん:2006/01/20(金) 20:32:31
どのIDEつかおうがsrcフォルダコピーすればいけるだろ
ただ、IDEに密着したもの、たとえばGUIエディタとかそのへんはつかえんが

仕事で使う場合はこの辺がネックになるのでそれらを考慮してIDEを選択すべき
どのIDEも一長一短で完璧なIDEってのはないよ
556デフォルトの名無しさん:2006/01/20(金) 21:14:53
スケジュール管理のプログラムを書くことになって曜日を求めるプログラム
をグレゴリアンカレンダークラスを使っているのですが、思うとおり動いてくれません。
import java.util.GregorianCalendar;
..........
public final static String getYoubi(int year, int month, int day){
        GregorianCalendar r = new GregorianCalendar(year, month, day);
        System.out.println(r.get(GregorianCalendar.DAY_OF_WEEK));
     //   r.set(year, month, day);
      //  System.out.println(r);

        return null;
}
こんな感じで書いているんですが、オブジェクトを作って、
2006年の1月20日(本日)を指定しても2(月曜日)と
なってしまいます。オブジェクトに年月日を指定しないでやるとちゃんと6になるのですが
ちなみに SystemUtility.getYoubi(2006, 1, 20); で実行してます。

557デフォルトの名無しさん:2006/01/20(金) 21:17:47
>>556 それ、来月。
558デフォルトの名無しさん:2006/01/20(金) 21:20:41
>>554
リソースわかってないんでしょ?リソースから読み込んでないんじゃね?
>>547が言ってるけど、たぶん理解してないと推測。

ImageIO.read(this.getClass().getResource(画像のパス));
で幸せになれるような気がするぞと。
559デフォルトの名無しさん:2006/01/20(金) 21:22:07
>557
なるほど、ああ月0から始まるんでしたね・・・
間違えているはずがないから年の指定がわるいのかなぁとか考えていました・・・
本当に即レスありがとうございます。
560デフォルトの名無しさん:2006/01/20(金) 21:24:53
>>ファイズ
CalendarのMONTHは1月を0として表す。
1月→0 2月→1 3月→2 ... 12月→11
561デフォルトの名無しさん:2006/01/20(金) 21:31:09
>557, >560 さん
本当にありがとうございました。
562デフォルトの名無しさん:2006/01/20(金) 21:47:27
まずCalendarクラスのインスタンスを取得するようにしましょう。
GregorianCalendarは基本的に使わない方向で。
563デフォルトの名無しさん:2006/01/20(金) 21:49:01
なぜ?
564デフォルトの名無しさん:2006/01/20(金) 22:08:51
これはスレ違いになってしまうかもしれませんが、
JTextFieldで自動的にカナ変換や半角入力指定をすることなどできますか?
入力後の文字のチェックは文字コードを調べればできるのですが、入力時に変換を押す手間を省きたいです
恐らくRuntimeクラスを使ってnativeで呼ぶことになりそうですが
使用OSはWindowsです。googleで探したのですがでてこないで宜しくお願いします。
565デフォルトの名無しさん:2006/01/20(金) 22:16:10
>563
Utilityだからコール度にオブジェクトを作っていたらメモリと時間がもったいない
からじゃないのかな?
漏れにはそれぐらいしか分からないけど・・・
とGregorianCalendarはCalendarクラスの子供だからメソッドをコールするのに
少しばかり時間がかかるということかな。
566デフォルトの名無しさん:2006/01/20(金) 23:12:14
>>564
> JTextFieldで自動的にカナ変換や半角入力指定をすることなどできますか?
「カナ変換」とか「半角入力」ってのが曖昧なので、要求と合致するかは知らんが
jtextfiled.enableInputMethods(true) すればインプットメソッドが有効、
jtextfiled.enableInputMethods(false) すればインプットメソッドが無効になる。

「カナ変換」ってのが ローマ字入力/カナ入力 を制御したい、とかだとやった事ないから分からん。
jtextfiled.getInputContext().getInputMethodControlObject()
jtextfiled.getInputContext().setCharacterSubsets()
とかで何とかなるかもしれんが????

> 恐らくRuntimeクラスを使ってnativeで呼ぶことになりそうですが
やるならRuntimeじゃなくてJNIを使う事になると思われ。
567デフォルトの名無しさん:2006/01/20(金) 23:25:53
>>565
どのカレンダーを使うかはロケールで切り替えるべきものだから。
568デフォルトの名無しさん:2006/01/20(金) 23:31:38
>566
どうもです。
ちょっと挑戦してみます。
InputMethodってあったんですね。1.3から実装されているんですか・・・
コマンドをcallして指定できれば、JTextFieldがフォーカスされたときに
Runtimeからコマンドコールすれば出来そうな気がしたんですが無理なのかな・・・
これで無理そうならJNIやってみます。InputMethodはいじったことがないので
よく分かりませんが挑戦してみたいと思います。
ありがとうございました。
569デフォルトの名無しさん:2006/01/20(金) 23:42:18
>567
localeの指定はどっちでもできるし作られるときはどちらのクラスも
デフォルトlocal and time zoneで作られる見たいだけど・・・
自分には違いが分からないです (><)
でも曜日だけを知りたいならCalendarクラスを使えればいいのは納得っす
570デフォルトの名無しさん:2006/01/20(金) 23:45:00
日本の日付だけならカレンダーのロケール指定(もしくはなし)でインスタンスを取得
これだけでいい

>>568
なにをしたいのかまだようわからんけど
JNI使えるようなレベルには見えないけど

SwingってOSのコンポーネントとか使ってないよ
571498:2006/01/21(土) 00:28:34
>>513
さらに補足。
インナークラスに限らず、コンパイル時点で参照が割り当ててないものを使用しようとすると、
エラーが発生するでしょ?
String str1;
String str2 = str1; <--ここでエラーになるはず。

というこで、インナークラスをインスタンス化しようとした時に、
暗黙的に渡される変数はその時点で、nullでもなんでもいいから
「確実に代入(参照や値)」されていないといけないよね。
なので、ローカル変数宣言時に強制的に代入を強要するfinalが必要ってこと。

たぶんね。たぶん。
572デフォルトの名無しさん:2006/01/21(土) 01:15:35
auとvodafoneについての質問です。

入力フォームで送られてきたbyte列の
それぞれの絵文字の部分をauとvodafoneが提供している
web表記用文字列に変換しDBにインサートしたいのですが、
byte列から絵文字部分をスマートに取り出す方法を教えてください。
573デフォルトの名無しさん:2006/01/21(土) 10:27:58
>570 
やりたいことを説明すると、万一かなの切り替えをコマンドラインでcall出来れば、
JNIを使うまでもないのかと思ったわけです・・・
で自分のやりたいことは
JTextField1: 半角入力
JTextField2: 全角入力

例えばJTextField1 から入力チェック後リターンでJTextField2 に移動したときに
いちいち切り替えをキーボードで変更する方法ではなく例えばJTextField2に移動
したときに全角入力に切り替わるということをしたいのです。通常ならAlt+半角で切り替えなきゃ
いかんじゃないですか。これをキーボードをいじることなくやりたいのです。
574デフォルトの名無しさん:2006/01/21(土) 11:03:11
>570
おまえさんが冷静に見て一番分かってないような気もするが。
Javaがどうやってロケールを判断しているのか分かっていっているのかな?
GregorianCalendar はほとんどの地域で使えるけどね 
>565あたりの言っているのが正しいだろ?なぜわざわざ子クラスのGregorianCalendar使うということで。
ああやって一々リソースを無駄にすることはないだろう。曜日を知りたいだけなんだからな。
おまえさん分かっているようでまるっきりわかっていないようだね。プログラム組んだことあるのかな?
「SwingってOSのコンポーネント使ってないよ」ってワロス
Windows上で開発することを仮定してプログラムを呼び出すと彼は言っているんではないのかね?
なんでWindows上で縛られているものを彼がJavaを使用しているのかは
知らんけど。

>573
おまえさんのやりたいことはだいたいわかったけどWindowsだけだったら下参照すれば?
http://java-house.jp/cgi-bin/namazu.cgi?query=%C6%FE%CE%CF%A1%A1%C0%DA%A4%EA%C2%D8%A4%A8&whence=0&max=50&result=normal&sort=score
http://java-house.jp/cgi-bin/namazu.cgi?query=InputMethod&whence=0&max=50&result=normal&sort=score
Java Houseのアーカイブ当たり見れば大抵のことは載っているから上のが参考にならんでも調べてみるといいよ。
575デフォルトの名無しさん:2006/01/21(土) 11:13:51
Calendar.getInstance() がリソース節約のために用意されてると
勘違いされてる方が一人いらっしゃるようです。
576デフォルトの名無しさん:2006/01/21(土) 11:25:49
>574
早速のレスdクスです
今はとりあえずWindowsで走ればいいのかなと・・・
データのやり取りをするわけでもないので
コマンドラインで入力モードの切り替えができれば
JNIを使うまでもないと思ったのですが・・・
入力モードの切り替えなんてOSで用意されていると思ったので
例えば"setinputmethod KATAKANA" とか・・・
わざわざJNIを使うというのがなんか理解できなくて・・・
データのやり取りをしないのにJNIを使うメリットって何なんでしょうか?
JNIで遊ぶことぐらいだとしか認識していないのですが・・・

Unix上でMotifで昔使っていてその後Javaで少し組んでいたのですが、
急遽Javaで作らなければいけなくなってしまったというわけです。
577デフォルトの名無しさん:2006/01/21(土) 11:28:09
Calendar.getInstance()は通常GregorianCalendarのインスタンスを生成します。
ただし、Localeの国名がTH(タイ)のときsun.util.BuddhistCalendarのインスタンスを生成します。
578デフォルトの名無しさん:2006/01/21(土) 11:38:51
>575
ソースをみれば、574が少し勘違いしているけど
JavaのCalendarライブラリ開発のあの書き方は漏れは素朴に?
を昔から持っているけどね。

579デフォルトの名無しさん:2006/01/21(土) 11:40:58
>575, >577-578
スマソン、今改めてソース見たらry
580デフォルトの名無しさん:2006/01/21(土) 11:43:19
>>576
574にも574のリンク先にもJNIなんてことは書いてないのになんで576の
頭がJNIでいっぱいなのか理解に苦しむ。まともに回答読んでないだろ。
あとWindowsではIMEの状態はプロセス/ウィンドウごとに違うから
Runtime.execしても意味ないだろ。

>>574
http://www.amazon.co.jp/exec/obidos/ASIN/4756134815/
これカレンダー関連の国際化についてよくまとまってるから
よく読め。
581デフォルトの名無しさん:2006/01/21(土) 11:50:25
>578
コレを見れば、カレンダークラスにこだわっている香具師もryというか
正確なんだけどそれほど目くじら建てる問題かと。
要するにタイ以外では通用するっつうことだしょ?

それよりもSingletonパターンかなんかでCalendaのインスタンスを
クラス変数でひとつ持っておけばResourceも無駄にしなくてすむん
じゃないのかな?まぁ頻繁に使うならということだけど。newするコストは馬鹿にならん。
もっともシステムが大きければの話だけど。
まぁ世界中で使うなら話は別だがry
582デフォルトの名無しさん:2006/01/21(土) 11:54:25
>>581
Singleton パターンは作成するプログラム側ですればいいこと。
583デフォルトの名無しさん:2006/01/21(土) 11:55:22
>>556
Calender1個程度のリソースすら気になるなら
Javaによるアルゴリズム辞典からパクってくるとか。

http://oku.edu.mie-u.ac.jp/~okumura/java-algo/ にある
java-algo.zip or java-algo.tar.bz2 内にある DayOfWeek.java
584デフォルトの名無しさん:2006/01/21(土) 11:58:07
>>581 いやだからライブラリ側でSingletonパターン使ってインスタンス
保持してんだからそれ使えって話でしょ。世界中とか関係ないんだよ。
それを知らずに自分で生成したらアホってこと。
585デフォルトの名無しさん:2006/01/21(土) 12:01:17
>>584
どのライブラリで?
少なくても java.util.Calendar ではしてないよ?
586デフォルトの名無しさん:2006/01/21(土) 12:06:03
>>574
Swingではウインドウしかネイティブ部分はもってねーよ
テキストボックスとかすべて自前で描画してる
それをトラップして使うとかまずできないのさ

IME制御だけならJavaだけでできるしね
587581:2006/01/21(土) 12:06:05
なんかカレンダーひとつでなにか盛り上がってますイイ!!
>580の意見には基本的には賛成だがその本を読んでもry
しかしIMEの解決方法は未だにワカラン(・O・)



 
588581:2006/01/21(土) 12:09:23
>584
ライブラリ側ではやってないよ。
ライブラリのソースみれば分かるよ。
>575がソースみて早速謝ってるっす。
IMEの制御は上にでてきたInputMethodを使えばできるのかしらん?
589デフォルトの名無しさん:2006/01/21(土) 12:10:01
IMEは>>573によればInputMethodのon/offがやりたかったらしいが、それは>>566が提示済み。
590デフォルトの名無しさん:2006/01/21(土) 12:12:56
556です。
なんか本当にありがとうございました。

591デフォルトの名無しさん:2006/01/21(土) 12:27:07
>>584
>>584
>>584
>>584
>>584

(´゚c_,゚` )
592デフォルトの名無しさん:2006/01/21(土) 12:28:03
Calendar を Singleton でとか言ってる アフォ よ、
mutable/immutable という言葉くらい覚えておいたほうが良いぞ。
593デフォルトの名無しさん:2006/01/21(土) 12:32:26
>592
556は曜日調べるだけなんだぞw
ミュータブルなんてイラネ
言葉知ってるだけでryだなwww
594デフォルトの名無しさん:2006/01/21(土) 12:41:35
クラスGregorianCalendar をインスタンク化するほうが Calenda クラスのgetInstanceメソッドを使う
よりもリソースの節約になる場合もある。(繰り返しテストをしてみられよ)
595デフォルトの名無しさん:2006/01/21(土) 12:45:41
おまえはさっきからコアライブラリの中で Singleton 持ちしてるとか
アフォ な主張してるだろ。Calendar は immutable じゃねぇから
そんなことできねェって指摘してやってんだよwww
596デフォルトの名無しさん:2006/01/21(土) 12:46:17
>>587
http://java-house.jp/ml/archive/j-h-b/024765.html#body
を参考にしてサンプルを作成。

import java.awt.BorderLayout;
import java.awt.event.*;
import java.lang.Character.UnicodeBlock;
import javax.swing.*;
public class Q_79_587 {
public static void main(String[] args) {
JFrame frm = new JFrame();
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTextField tf1 = new JTextField("IM off");
frm.getContentPane().add(tf1);
final JTextField tf2 = new JTextField("全角ひらがな");
frm.getContentPane().add(tf2, BorderLayout.SOUTH);
final Character.Subset[] ss1 = {UnicodeBlock.HIRAGANA};
final Character.Subset[] ss2 = {UnicodeBlock.BASIC_LATIN};
tf1.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
tf1.getInputContext().setCharacterSubsets(ss1);
}
});
tf2.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
tf2.getInputContext().setCharacterSubsets(ss2);
}
});
frm.pack();
frm.setVisible(true);
}
}
597596:2006/01/21(土) 12:48:27
>>596
tf1とtf2のタイトル逆だわ。
598デフォルトの名無しさん:2006/01/21(土) 12:51:43
>>584
      oOO
(´ー`)yー┛


   ゆとり教育ですか
599581:2006/01/21(土) 12:54:49
>596
dクス!!
このスレ見ていたらIMEどうやってやんだろって気になっていまって
見ていたしだいですw


>594
そうですね。getInstanceはnew GregorianCalendar(mmmm)をしていますから

>595
そりゃそうだお前さんが正しいお
偉い!!
そしてカワイソッス
Singletonを主張しているのはユーザライブラリに
使うべきだといっていると思うんだけど・・・
600デフォルトの名無しさん:2006/01/21(土) 13:01:48
>>599
↓これのどこが?

> >565あたりの言っているのが正しいだろ?なぜわざわざ子クラスの
> GregorianCalendar使うということで。 ああやって一々リソースを無駄に
> することはないだろう。

> いやだからライブラリ側でSingletonパターン使ってインスタンス
> 保持してんだからそれ使えって話でしょ。
601デフォルトの名無しさん:2006/01/21(土) 13:04:56
もう痛々しいからやめてやれ
602名無し募集中。。。:2006/01/21(土) 13:07:51
このスレは礼節というものを知らない者共が多すぎる
質問者も回答者もお互いを尊重しなさい
言葉の乱れは精神の乱れですよ^−^
603デフォルトの名無しさん:2006/01/21(土) 13:09:20
>>511
遅レスだが、このコードの x に final をつけると・・・
604デフォルトの名無しさん:2006/01/21(土) 13:09:38
>>596
それ、 enableInputMethods とか setCompositionEnabled が無かったJDK1.2時代のやり方だよ。
605デフォルトの名無しさん:2006/01/21(土) 13:10:27
>>603
どっちにしろ、x = 2 でコンパイルエラー
606デフォルトの名無しさん:2006/01/21(土) 13:16:59
>>603
だから 「こういうコードが通っちまってややこしい」 って例だろ。
607581:2006/01/21(土) 13:18:40
>600
上575の発言だけど彼は勘違いしていたんだねきっと。Calendarクラスが最初Singletonだって
速攻でソースみて謝ってたみたいなので許してチョ

後の人は自分のライブラリで作れって話で。
 
p.s.そういう漏れもソース見るまではシングルトンだと思ったお
グローバルに考えればJava libraryのカレンダーがシングルトンではいけないっつうのは分かるけど。
日本という狭い範囲でアプリを時々書いている自分にとってはと

>602
全面的に賛同しまつ
608デフォルトの名無しさん:2006/01/21(土) 13:40:58
>>604
そういう話ではないよ
609596:2006/01/21(土) 13:51:33
>>604
確認してみた。環境は Windows XP + IME2003 + J2SE 5.0

void Component.enableInputMethods(boolean enable)
デフォルトで true 。false にするとキーボードの半角/全角キーでも日本語入力状態にならず。

void InputContext.setCompositionEnabled(boolean enable)
InputContext Component.getInputContext() でインスタンスを取得。
true で日本語入力可能状態。

setCompositionEnabled(true) の後に enableInputMethods(false) をやると
半角/全角キーでも日本語入力状態にならず。
610デフォルトの名無しさん:2006/01/21(土) 14:16:36
>>609
enableInputMethods(false) だと単にInputMethodがサポートされなくなるのか。
setCompositionEnabled すれば良いってことね。
611デフォルトの名無しさん:2006/01/21(土) 17:41:12
System.out.println(String s) の意味がわかりません。
println()はprintstreamクラスのインスタンスメソッドですよね?
ってことは、
printstreamクラスのインスタンス.println(s)
っていう使い方になるんじゃないんですか?
しかもoutはフィールドだし。詳しくおしえてください。
612デフォルトの名無しさん:2006/01/21(土) 17:45:22
System.outは何クラスのインスタンスですか?
613617:2006/01/21(土) 17:50:45
>>618
わかりません。でもインスタンスを作るときは
コンストラクタを呼ばなきゃいけないから
System.outはインスタンスじゃないよーな気がする・・・
614611:2006/01/21(土) 17:52:31
>>613
は私です。マカエレがバグった。
618宛ではなく612宛です。
615デフォルトの名無しさん:2006/01/21(土) 17:54:44
public class System {

PrintStream out = new PrintStream(...................

}

簡単にあらわすとみたいな感じですが。
616デフォルトの名無しさん:2006/01/21(土) 17:56:40
>>615
public static final付きな。
617611:2006/01/21(土) 18:03:17
>>615,616
なるほど。どうもありがとうでした。今日も一つ成長しました。
618デフォルトの名無しさん:2006/01/21(土) 18:34:49
System クラスのソースより
public static final out = nullPrintStream();

final なので、一生ダミーな PrintStream のままです。
あなたがコンソールで目撃する標準出力は、あなたの幻想です。

そもそも public static final なフィールドなのに、
小文字だけの名称だなんてとんでもない
619デフォルトの名無しさん:2006/01/21(土) 18:38:37
昔の慣例的には定数だから大文字なのであって、public ststic final だからってわけじゃない。
620デフォルトの名無しさん:2006/01/21(土) 18:43:21
finalなのにsetOutで変更できる不思議な仕様ですし。
621デフォルトの名無しさん:2006/01/21(土) 19:24:35
System.out は変更できるので、
このようなむき出しのフィールドにアクセスする場合
ダブルチェックのようなスレッドセーフの問題を引き起こさないよう、
何かしらのオブジェクトを用いて同期を取らなければなりません。

したがって、System.out.println の正しい使い方はこうです。

setOut メソッドで同期をとるために用いるオブジェクトを o とすると
synchronized(o) {
 System.out.println("kuma-");
}
622デフォルトの名無しさん:2006/01/21(土) 19:41:30
     /|| ̄ ̄|| 〇_〇  
 ∫  l ||__||((ェ)・ )  呼んだくま?
 旦 [l | ,,― とノ  ⌒ヽ
 | ̄ ̄ ̄ ̄ ̄(____)
623デフォルトの名無しさん:2006/01/21(土) 20:11:55
Sun Java Studio Creatorなんですが、インストールの途中、17%のところでSun Java Application Server Platform Edition 8をインストール中です・・・・ってなってずっと止まってしまいます。どなたか解決策をご指導願います

624623:2006/01/21(土) 20:49:59
ちなみにWindows XP HomeEditionです。Sun Java Studio CreatorはHomeEditionではインストールできないんですかね?ずっと止まったままです
625デフォルトの名無しさん:2006/01/21(土) 20:54:07
privateで保護されたArrayListを、継承したクラスから全要素数を得ることは可能でしょうか?

あと、ArrayListに格納された文字列を、
昇順降順に並べる方法というのはあるのでしょうか?
どなたかヒントだけでも良いのでよろしくお願いします。
626デフォルトの名無しさん:2006/01/21(土) 21:02:27
>>625
>privateで保護されたArrayListを、継承したクラスから全要素数を得ることは可能でしょうか?
リフレクション使えばできるかもしれないが、継承したクラスから
使いたいなら素直にprotectedにしとけ

>昇順降順に並べる方法というのはあるのでしょうか?
Collections#sort
627625:2006/01/21(土) 21:07:25
>>626
師匠と呼んでいいですか?
師匠、ありがとうございます!!!
頑張って今夜中に解決します!
628デフォルトの名無しさん:2006/01/21(土) 23:00:55
今四角形を書くプログラムを作っているのですが。
書くたびに画面が白くなってしまいます。(四角が1つしかかけない)
これを解決するにはどうすればいいですか??
(前半)
public class Mouse6A extends Frame{

/********** グローバル変数 ***********************/
int x0 = 0;/*第1点のx座標*/
int y0 = 0;/*第1点のy座標*/
int x1 = 0;/*第2点のx座標*/
int y1 = 0;/*第2点のy座標*/
booleanflag=false;/*true:ドラッグ中 false:ドラッグ中でない*/

/******* コンストラクタ *******************************/
public Mouse6A(){
setSize(400,300);

//マウスイベントを有効にする
MyListener myListener = new MyListener();
addMouseListener(myListener);
addMouseMotionListener(myListener);

addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
629デフォルトの名無しさん:2006/01/21(土) 23:01:28
(中盤)
/************** paint **********************/
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D)g;

Point p = new Point();//左上の座標値
Dimension d = new Dimension();//幅と高さ

/*破線のストロークの定義*/
float[] dash1 = {3.0f};
BasicStroke dash
= new BasicStroke(1.0f,BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER,10.0f,dash1,0.0f);

/*四角の座標*/
p.x = Math.min(x0,x1);//小さい方を左上の座標とする
p.y = Math.min(y0,y1);
d.width = Math.abs(x0-x1);//差を幅とする
d.height = Math.abs(y0-y1);//差を高とする

if(flag){
/*ドラッグ中だったら*/
g2.setStroke(dash);
g2.drawRect(p.x,p.y,d.width,d.height);//四角を描く(破線)
}
else{
/*ドラッグ中でないとき*/
g.drawRect(p.x,p.y,d.width,d.height);//四角を描く(実線)
}

}
630デフォルトの名無しさん:2006/01/21(土) 23:05:07
(後半1)
/************** main ***********************/
public static void main(String[] args)
{
Frame w = new Mouse6A();
w.show();
}
/*********** マウスイベントを受け取るクラス ********************/
class MyListener extends MouseInputAdapter{
/************** マウスが押されたら *************************/
public void mousePressed(MouseEvent e){
/*第1点の保存*/
x0 = e.getX();
y0 = e.getY();
x1 = x0;
y1 = y0;
flag = true;/*ドラッグ中*/
}
631デフォルトの名無しさん:2006/01/21(土) 23:07:30
(後半2)
/************** マウスがドラッグされたら *************************/
public void mouseDragged(MouseEvent e) {
/*現在位置を第2点とする*/
x1 = e.getX();
y1 = e.getY();
/*再描画!*/
repaint();
}
/************ マウスが離されたら ***************************/
public void mouseReleased(MouseEvent e){
/*現在位置を第2点とする*/
x1 = e.getX();
y1 = e.getY();
/*再描画!*/
repaint();
flag = false;/*ドラッグ終わり*/
}
}
632デフォルトの名無しさん:2006/01/21(土) 23:10:04
paintのイベントはいつ呼ばれるか分からない
ウインドウ動かしたりしても再描画はいるよ

描画バッファに描画するようにすべし
paintの中には描画バッファを描画するだけにしてね

あとは細かいことだとGraphics2D使ってるなら
JFrame使ったりしたほうがよいように見える
633デフォルトの名無しさん:2006/01/21(土) 23:10:47
なぜ、java.io.Fileにcopyメソッド無いのだろう?
誰か知りません?
createNewFileとかdeleteがあるなら、
copyがあってもよさそうなのに。
なんでだろ?
634デフォルトの名無しさん:2006/01/21(土) 23:19:47
アトミック性を保障したファイル作成もファイル削除もコアライブラリが
提供してなきゃ使えないが、copy は自作で簡単に作れるからじゃね?
ファイルの大きさやパフォーマンスで最適なバッファサイズとか
変わってきそうだし。


バグパレード漁ってみたらだいたい同じ理由だった。

> Huh? Since when does the File class have a copy method?
>
> It doesn't, and we have no plans to add such a method because (1) You can easily
> do this yourself, and (2) Its behavior would vary widely across platforms.
635デフォルトの名無しさん:2006/01/21(土) 23:23:12
今日から本を読みながら勉強を始めたばかりなのですが
早速行き詰ってしまいました。
本の通りに書いたのですが「シンボルを解決できません」と表示されて
コンパイル出来ません。どこが悪いんでしょうか ご教授ください!

import jaba.io.*;
class SampleA
{
public static void main(String args[]) throws IOException
{
System.out.println("文字列を入力してください。");

BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

String str = br.readLine( );


System.out.println(str+"が入力されました。");



}
}
636デフォルトの名無しさん:2006/01/21(土) 23:25:57
メール欄が悪いな。
637デフォルトの名無しさん:2006/01/21(土) 23:26:27
import jabaって・・・
638デフォルトの名無しさん:2006/01/21(土) 23:45:01
インデントが気に食わんな
639635:2006/01/21(土) 23:48:33
すみません、さっきのは出来心です。
これは釣りでなくホントにわかんないです、教えて頂けませんか。

import java.io.*;
class SampleA
{
public static void main(String args[]) throws IOException
{
System.out.println("整数を入力してください。");

BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

String str = br.readLine( );

  int num = Integer.parseInt(str);    

System.out.println(num+"が入力されました。");



}
}


int num = Integer.parseInt(str);   
↑の部分を付け足したくらいなのですが
コンパイルできません>w<
640デフォルトの名無しさん:2006/01/21(土) 23:50:12
全角空白。
641635:2006/01/21(土) 23:51:47
>>638
コピーして張り付けただけなんですけどズレちゃったのかな。
そこは勘弁してください。
642デフォルトの名無しさん:2006/01/21(土) 23:51:58
見えないものが見える霊能者が居るスレはここですか?
643635:2006/01/21(土) 23:54:03
>>640
うぁ、全角でやってたのか><;
ありがとうございました。
644デフォルトの名無しさん:2006/01/21(土) 23:56:08
あれ?tryとキャッチがないみたいだけどそれのエラーは出なかったの?
645635:2006/01/21(土) 23:56:54
>>644
私かな?
646644:2006/01/21(土) 23:57:23
あ、ごめんthrowしてるですねはい
647デフォルトの名無しさん:2006/01/22(日) 01:39:02
java.net.Socket.getInputStream
ってどうやって使うんですか?
戻り値が入力ストリームってのが良く分かりません。
648デフォルトの名無しさん:2006/01/22(日) 01:45:40
>>647
通信相手が送ってきたデータはその入力ストリームから取り出すことが出来る。
649デフォルトの名無しさん:2006/01/22(日) 02:01:54
>>647
>戻り値が入力ストリームってのが良く分かりません。
戻り値の InputStream が良くわからないのか
戻り値が InputStream になってることが分からないのか
650デフォルトの名無しさん:2006/01/22(日) 08:02:33
(・∀・)ニヤニヤ
651647:2006/01/22(日) 10:16:40
>>648
つまり、
Socketのインスタンス.getInputStream
ってやると、相手から送られて来たデータが戻り値になるってことですか?

>>649
戻り値の InputStream が良くわからないです。
652デフォルトの名無しさん:2006/01/22(日) 10:25:47
冷たくって甘くてバニラとかあるアレだよ
653デフォルトの名無しさん:2006/01/22(日) 10:47:49
ゲラゲラ(´∀`)
654伝説新人タクシ:2006/01/22(日) 12:01:15
>>651
データの流れをストリームという。
デバイス同士が物理的に接続しているだけでは、ストリームにならない。
ストリームは論理的にも接続していなければならない。
いわば、「水が流れるためのパイプを用意しました」
と言っているようなものだ。つまり、getInputStreamは受け取るパイプを用意して、
「オブジェクトからのデータはここに流れるよ」とそのパイプをくれるわけだ。
655647:2006/01/22(日) 12:30:21
>>654
なるほど。
その戻り値を例えば、DataInputStreamの引数にしたりして
ゴニョゴニョするってこと?
656デフォルトの名無しさん:2006/01/22(日) 12:31:50
質問です。よろしくお願いします。

プロセス稼動状況みたいなものを見ることって出来ますか?

if ( ! MySQLが起動中 )
MySqlを起動する

みたいなことを行いたいのです。
657デフォルトの名無しさん:2006/01/22(日) 12:35:30
BufferedReader reader= new BufferedReader(new FileReader(filename));
String line;
while((line = reader.readLine()) != null){.....}

ってやるとコンパイルできるけど

BufferedReader reader= new BufferedReader(new FileReader(filename));
while((String line = reader.readLine()) != null){

だと、コンパイルできなです。なぜですか?一緒のような気がするんですが。
エラーは")"がありませんって言われます。")"はありますが・・・
658デフォルトの名無しさん:2006/01/22(日) 12:39:38
String line = reader.readLine();
↑これは、式を返さない。
変数の宣言と初期化であって、式じゃない。
659デフォルトの名無しさん:2006/01/22(日) 13:55:29
int num = (int)args[0];
だとコンパイルエラーになります。なぜでしょうか?
変換できない型って言われるorz
660デフォルトの名無しさん:2006/01/22(日) 13:57:45
argsって何の配列だよ
String配列とかか?
661659:2006/01/22(日) 14:05:07
>>660
引数です。
java 何チャラ 第一引数 第二引数
args[0]は第一引数です。String型かな。教え下さい。
662デフォルトの名無しさん:2006/01/22(日) 14:07:11
>>661
答えは出てるだろ

int foo = (int)"1";
これ無理だろ?
663デフォルトの名無しさん:2006/01/22(日) 14:13:59
int num=0;
try{
num = Integer.parseInt(args[0]);
}catch(NumberFormatException nfe){nfe.printStackTrace();
}
664デフォルトの名無しさん:2006/01/22(日) 14:14:43
>>659
int num = String.parseInt(args[0]);

とかやりたいんじゃないのか
665デフォルトの名無しさん:2006/01/22(日) 14:15:16
>>664
出直してこい
666664:2006/01/22(日) 14:17:43
>>664は間違い、すまん>>663氏のを参考に
667659:2006/01/22(日) 14:22:02
>>662
それは無理なんですか。
(int)はlongとかを変換するときに使うということですか?

>>663
どうもです。
668デフォルトの名無しさん:2006/01/22(日) 14:33:49
int foo = (int)'1';
はOK。String と char のタイプの違い。
669659:2006/01/22(日) 14:38:14
>>668
なるほど。キャラ型も出来るんですね。
670デフォルトの名無しさん:2006/01/22(日) 14:39:12
オブジェクトでないもの同士はOK
671デフォルトの名無しさん:2006/01/22(日) 14:39:58
String タイプはプリミティブタイプではない事に注意。
672デフォルトの名無しさん:2006/01/22(日) 14:58:16
>>670
booleanもできません。
673デフォルトの名無しさん:2006/01/22(日) 18:02:11
public class rei8 extends Applet implements MouseMotionListener,MouseListener { // 解説(1)
Image imgs;
int px,py;
boolean flag=false;
public void init( ) {
imgs = getImage(getDocumentBase(),"img1.jpg");
addMouseMotionListener(this);
addMouseListener(this);
public void paint( Graphics g ) {
g.drawImage( imgs, px, py, this );
}
public void mousePressed(MouseEvent e) {
if (px<=e.getX() && e.getX()<=px+64 && py<=e.getY() && e.getY()<=py+64)
flag=true;
repaint();
}
public void mouseReleased(MouseEvent e) {
flag=false;
}
public void mouseClicked(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mouseDragged(MouseEvent e) {
if (flag){
px=e.getX(); py=e.getY();
repaint();
}
}
public void mouseMoved(MouseEvent e) { }
}
img1.jpgがゴミ箱の画像に重なって、放すと画像1img.jpgが消えるにはどう
すればいいですか?消えるところだけでいいんです。
674デフォルトの名無しさん:2006/01/22(日) 18:34:47
>>673

public void mouseReleased(MouseEvent e) {
 flag=false;
 repaint();
}

public void paint( Graphics g ) {
 if (flag) {
  g.drawImage( imgs, px, py, this );
 }
}
675デフォルトの名無しさん:2006/01/22(日) 20:37:30
>>577
遅レスだが、J2SE6から和暦カレンダが追加されるらしいぞ。

ロケールが ja_JP_JP だと、
JapaneseImperialCalendar のインスタンスを返すんだってさ。
676デフォルトの名無しさん:2006/01/22(日) 20:43:08
クラスローダーを作成してるのですが、バイナリを Class にする
defineClass のところで JDK 1.1 環境でエラーになってしまいます。
ロード対象のクラスは JDK1.1 使用できることは確認してあります。
最小セットのソース書いてみたんですが、ちょっと見てもらえませんか?

protected Class loadClass(String className, boolean resolve) throws ClassNotFoundException {
  Class clazz = findLoadedClass(className);
  if(clazz == null && this.getClass().getClassLoader() != null){
    try{
      clazz = this.getClass().getClassLoader().loadClass(className);
    } catch(ClassNotFoundException ex){/* */}
  }
  if(clazz == null){
    byte[] binary = loadBinary(className);
    System.out.println("BINARY SIZE[" + className + "]: " + binary.length + "B");
    clazz = defineClass(className, binary, 0, binary.length);  // ←ここで例外
    System.out.println("SUCCESS: " + className);
  }
  if(resolve){
    resolveClass(clazz);
  }
  return clazz;
}
private byte[] loadBinary(){
  // ... クラスファイルのバイナリをロード
}
677デフォルトの名無しさん:2006/01/22(日) 20:44:39
(続き) 実行結果

C:\a>java b
java version: 1.1.8
BINARY SIZE[a]: 539B
java.lang.NoClassDefFoundError

C:\a>java b
java version: 1.5.0_05
BINARY SIZE[a]: 539B
SUCCESS: a
hello, world

JDK 1.1 の頃に作られたクラスローダーってどこかにないですか?
678デフォルトの名無しさん:2006/01/22(日) 21:11:56
>>676-677
それjava.lang.NoClassDefFoundError投げてるの誰ですか?
スタックトレース晒してよ。
679デフォルトの名無しさん:2006/01/22(日) 21:12:58
はじめまして、最近JAVA3Dを使い始めたばかりの初心者です。

本を見ながら、アプレットをつくりました。
オブジェクトが左から、右に移動するアプレットなのですが、実行したら勝手に
アプレットが開始されるのですが、ボタンか何かをつけて、スタートをさせるよ
うにするにはどうすればいいでしょうか?
自分の持っているJAVA3Dの本には視点変更などをする方法としてボタンの追加の
方法がのっているのですが、よくわかりませんでした。

ボタンの追加と、それをクリックしたら開始する方法を教えてください。
よろしくおねがいします。
680デフォルトの名無しさん:2006/01/22(日) 21:15:04
その本の通りにやれば?
681デフォルトの名無しさん:2006/01/22(日) 21:15:49
>>678
それがスタックトレース出ないんですよ。OutOfMemoryError と同じようなタイプだと思います。
System.out.println で definelClass 内だということまでは分かるんですけどね。
682デフォルトの名無しさん:2006/01/22(日) 21:21:56
本にはスタートの方法は書いてなかったので。

ボタンもいっぺんに4つくらい出るプログラムで、どのボタンのプログラムが
どのプログラムに対応しているか、よくわからなかったのです。
すいません、もしよかったらおねがいします。
683デフォルトの名無しさん:2006/01/22(日) 21:28:07
>>681 思いつくとこ適当に書いてみる。
ああAPIのソース見たとこdefineClassのなかでdefineClass(name, b, off, len, null);をさらに
呼んでいるから、そこでjava.lang.NoClassDefFoundErrorが投げられてるのか。
で、例外投げる条件は`If name is not equal to the name of the class
specified by b'だけどそこはだいじょうぶ?
あとaはちゃんと-target 1.1してるの?
つーかaが小文字なの気持悪い。デバッガ使おう。
684デフォルトの名無しさん:2006/01/22(日) 21:44:10
質問です。
今RMIについて勉強しようとしているのですが、
ttp://www.hellohiro.com/rmi.htm
の通りにrmicを実行させようとすると
error: クラス HelloWorldObj が見つかりません。
エラー 1 個
とでます、どのようにしたらコンパイルが通るでしょうか。
どうかご教授お願いします。
環境はwindows j2se 5.0です。
685デフォルトの名無しさん:2006/01/22(日) 21:46:48
>>676
うちでやってみたら、ロードしたクラスの親クラスである
java.lang.Object も自作クラスローダで解決しようとしてた。
で、それ解決してやったら動いたんで、大筋はそのコードでいいと思う。
たぶん 1.1 の場合は this.getClass().getClassLoader() が null になってて
システム側のクラスが解決できないんだと思う。

以下みたいに直せば動くんじゃないかと思われ。

>   if(clazz == null && this.getClass().getClassLoader() != null){
>     try{
>       clazz = this.getClass().getClassLoader().loadClass(className);
>     } catch(ClassNotFoundException ex){/* */}
>   }

if(clazz == null){
  try{
    if(this.getClass().getClassLoader() != null){
      clazz = this.getClass().getClassLoader().loadClass(className);
    }else{
      clazz = findSystemClass(className);//1.1 には getSystemClassLoader() が無い?
    }
  }catch(ClassNotFoundException e){} //Ignore
}
686デフォルトの名無しさん:2006/01/22(日) 21:53:41
>>683
JDK 1.1 の ClassLoader のソースだと native メソッド呼んでるだけみたいです。
protected final Class defineClass(String name, byte data[], int offset, int length) {
  check();
  Class result = defineClass0(name, data, offset, length);
  if (result != null) classes.put(result.getName(), result);
  return result;
}
private void check() {
  if (initialized == true) return;
  throw new SecurityException("ClassLoader object not initialized.");
}
private native Class defineClass0(String name, byte data[], int offset, int length);

対象のクラスは 1.1 の javac でコンパイルして 1.1 の java コマンドで main が
実行できます。クラス名はすみません、確認用に適当に作ったソースなんで。
C:\a\classes>java -version
java version "1.1.8"
C:\a\classes>java a
hello, world
C:\a\classes>type a.java
public class a{
  public String toString(){return "hello, world";}
  public static void main(String[] args){System.out.println(new a());}
}

name と b が等しいのは 1.5 でロードできてるので大丈夫だと思うんですが。
ネットで 1.1 っぽいクラスローダー作るサンプルとか見てもこんな感じなんですけど、
どこがおかしいのか orz
687デフォルトの名無しさん:2006/01/22(日) 22:01:55
>>685
できた!!
おっしゃる通り java.lang.Object のロードでも呼び出されるみたいだったんで、システム
クラスローダーからロードされるクラス (this) のクラスローダーの loadClass べば良いか
と思ってたんですが、それでもまだ不足だったみたいですね。

どうもありがとうございました。
688デフォルトの名無しさん:2006/01/22(日) 22:12:07
>>684
rmic の前に javac *.java とかやっとく必要あるんじゃないの?
689デフォルトの名無しさん:2006/01/22(日) 22:17:34
>>688
それをやっても駄目でした。
色々試したり、調べてはいるのですがわかりません。
690688:2006/01/22(日) 22:25:24
>>689
いや、そのページ見て真似して試してみたけどできたぞ
691デフォルトの名無しさん:2006/01/22(日) 22:39:07
まじですか、ということは自分がおかしい。
もう少し試してきます。駄目だったら戻ってきます。
692デフォルトの名無しさん:2006/01/22(日) 23:18:30
質問です。
ここに10個の数字があります。
33 35 36 37 38 39 48 52 75 79
7桁の重複しない組み合わせをすべて出力しなさい。
例)33 35 36 37 38 39 48
33 35 36 37 38 39 52
33 35 36 37 38 39 75
33 35 36 37 38 39 79
33 35 36 37 38 48 52




ってどうやってプログラム組めばいいですか?

俺の頭の中では、むりぽ。
693デフォルトの名無しさん:2006/01/22(日) 23:31:37
宿題は自分で。
694デフォルトの名無しさん:2006/01/22(日) 23:32:42
>>692
宿題スレいった方がいいかもね。

ところで問題文が曖昧じゃね?
・同じ数字を2回使ってもいいの?
例: 33 33 33 33 33 33 33 は却下?
・7桁?(80進法?)って事は、単に順番並べ替えただけで
別の数字って解釈もできるけど、重複になるの?
例: 33 35 36 37 38 39 48 と 48 39 38 37 36 35 33 は重複?
695デフォルトの名無しさん:2006/01/22(日) 23:46:13
case 32://戦闘0-2
   switch(e1.getKeyCode()) {
      case KeyEvent.VK_SPACE:
      try {
         Thread.sleep(100);
      } catch(Exception e) {}
      iba11 = 600;
      iba12 = 0;
      repaint();
      s += 1;
   break;
   default:
   break;
   }
break;
case 33://戦闘0-3
   try {
      Thread.sleep(100);
   } catch(Exception e) {}
   iba12 = 600;
   iba13 = 0;
   repaint();
   s += 1;
break;
case 34://戦闘0-4
   iba13 = 600;
   iba14 = 0;
   try {
     Thread.sleep(100);
   } catch(Exception e) {}
repaint();・・・・・・・・・・・・・・・・・・・・・・
アニメーションの一部なんですがうまく動きません。なんでですか?
696デフォルトの名無しさん:2006/01/22(日) 23:48:24
「うまく動きません」とだけ言われてもねぇ。
697デフォルトの名無しさん:2006/01/22(日) 23:50:53
>>696
2〜3コマ動くと止まり、キーを押すとまた2〜3コマ動きます
698デフォルトの名無しさん:2006/01/23(月) 00:21:10
つーか、J2SE5.0ってRMIはRMICいらんぞ
通常のコンパイルだけで動くようになってるし

目玉機能だったのだが他にも拡張多すぎて目立ってない罠

http://d.hatena.ne.jp/nowokay/20060114#1137228975
で分かりやすく書いてる

閉じたネットワークでのリモート実行だけならEJBやらWEBサービスやらより現実的になったよね
699デフォルトの名無しさん:2006/01/23(月) 00:22:02
>>697
そういう動きになるように作ってるんでしょ?
どこがおかしいとか仕様とかがわからんとなんとも
700695:2006/01/23(月) 00:30:07
0.1秒ずつ連続に表示したいのですがなぜか止まります。
画像をスムーズに流す方法を教えてもらえませんか?
701デフォルトの名無しさん:2006/01/23(月) 00:33:39
そもそもこれでは全体の流れがわからんし
702695:2006/01/23(月) 00:35:59
ええと、CASE文でアニメーションが動けば何でもかまいません!
何でも良いので方法を教えていただけませんか?
703デフォルトの名無しさん:2006/01/23(月) 00:38:21
メインループとかどうかいてるの?
704695:2006/01/23(月) 00:52:29
http://mrj.fc2web.com/aaaaa.htm

tabが効いてないんですごく見づらいかも知れませんが・・・・
705デフォルトの名無しさん:2006/01/23(月) 01:13:53
while ( (line = in.readLine()) != null ) {
System.out.println(line);
}

サーバから送られてきた文字列をこれで出力すると
出力が完了した後、固まって動かなくなります(´・ω・`)
何故でしょう?
706デフォルトの名無しさん:2006/01/23(月) 01:18:57
>>705
鯖側はストリーム切ってるの?
707デフォルトの名無しさん:2006/01/23(月) 01:21:39
>>704
あまりにも長すぎて驚いたが、キーイベント中に処理を書くのをやめなされ
イベントの処理は簡潔であれ、というのをおぼえておいたほうがいい

それにこれはすでに言語に関係なくて、ゲームのループ処理勉強したほうがいい
708デフォルトの名無しさん:2006/01/23(月) 01:23:40
サーバにリクエストを送信して返ってきた文字列を出力してるので
鯖側のストリームがどうなってるかは・・
709デフォルトの名無しさん:2006/01/23(月) 01:27:13
>>708
DOS 窓開いて netstat と打て。
切れてないなら ESTABLISH と出るだろ。
710デフォルトの名無しさん:2006/01/23(月) 01:30:15
切れてなかったです
711デフォルトの名無しさん:2006/01/23(月) 01:30:42
ならそのまま待機状態で正しい
712デフォルトの名無しさん:2006/01/23(月) 01:33:55
よくわかんないお(´・ω・`)
もうちょっとヒントくださいお
713デフォルトの名無しさん:2006/01/23(月) 01:36:20
while を if に変えれば済む悪寒
714デフォルトの名無しさん:2006/01/23(月) 01:39:55
while を if にしたら1行しか出力されないです
もう少し調べてみます
715デフォルトの名無しさん:2006/01/23(月) 01:43:37
i-modeのプログラミングなど初めてみたいと思っているのですが、
i-modeのjavaからシステムの時刻を変更できますか?
716デフォルトの名無しさん:2006/01/23(月) 01:58:23
>>705
受信自体は問題ない。

一般的にはどうだか知らないが、
終わりがいつになるかわからない処理を行っている時に、
他の作業もしたい場合は別スレッド (java.lang.Thread) を使う。

受信を終了するための条件を決めてあるなら、別の方法で解決できるかもしれない
717695:2006/01/23(月) 02:07:36
>>707
そうですよね・・・そっちのほうが絶対良いんですよ。
時間なくてループを勉強しなかった僕が悪いんです。

で、やっぱり
アニメーション処理は今の状態じゃ無理ってことでしょうか?
718デフォルトの名無しさん:2006/01/23(月) 02:18:16
無理と思っていたほうがいい
repaint使ってる以上な

あれもイベントで処理するから
719デフォルトの名無しさん:2006/01/23(月) 02:35:20
イベントの処理は原則変数操作のみだろ
Thread.sleepなんてもってのほか
720デフォルトの名無しさん:2006/01/23(月) 06:14:12
インターフェースの便利さが良く分かりません。
わざわざインターフェースを実装しなくくても
元々、実装したかった2つのクラスで同じ名前の
メソッドを書けば無問題ですか?
どうせ書かなきゃいけないわけだし。
721デフォルトの名無しさん:2006/01/23(月) 06:20:26
>>720
インターフェイスはメリットが感じられるようになったら使えばいいのです。
722デフォルトの名無しさん:2006/01/23(月) 06:51:24
俺もそう思す
ある程度でかいコードかけるようにならなきゃ必要なもんでもない
723デフォルトの名無しさん:2006/01/23(月) 07:49:56
むしろ無理して使うと変なクセがつく
724デフォルトの名無しさん:2006/01/23(月) 09:26:42
インターフェースにはデータだけを(静的変数として)保存しておくという使い方もある。
725デフォルトの名無しさん:2006/01/23(月) 10:00:10
↑ 言うまでもないけど、保存するのは公開可能なデータだけね。
726デフォルトの名無しさん:2006/01/23(月) 12:00:48
本来の使い方は誰も教えてやらないのかよ。>>721-722の言うこともわかるけど、興味や疑問をもったときに、
きちんと理解して覚えておくと言うのはいいことだと思うけどなぁ。

>>720
> わざわざインターフェースを実装しなくくても
> 元々、実装したかった2つのクラスで同じ名前の
> メソッドを書けば無問題ですか?

インターフェースを実装する事で、実体は別々のクラスのオブジェクトであっても、実装したインターフェースの型で
同じように扱えるから、ひとつの呼び出し方法で複数の実装(クラス)を扱いたいのならインターフェースを実装すべし。

同じ名前のメソッドでも、呼び出す場所や呼び出し方が異なる場合はインターフェースは必要ない。
ただしそれならメソッドを同じ名前にするのは混乱を招くので好ましくないと思う。

詳しくはインターフェイス、多態性、ポリモーフィズム、継承などでググると良いかと。
継承や抽象クラスとインターフェイスの使いどころ違いを理解しておくと後々楽。
あと、覚えたからと言って必要のない所にまで使いまくるのは、害悪にしかならないので注意してな。

>>723
変なクセ?どんなクセ?参考までに教えてほしぃ。
727723:2006/01/23(月) 13:11:58
なんでもかんでもインターフェイスをつけたがって、半日無駄にした奴がいた。
とりあえず2ヵ月放っておいたらそのクセは勝手に直った。
というわけで、OOPをし続ける以上、勝手に身についていくものかと。
OOの概念も、無理に教えてもちんぷんかんぷんだけど、そのうち勝手に覚えるのと同じで。
# 教えるのが下手な香具師の言い訳ですハイ
728720:2006/01/23(月) 14:37:37
>>726
詳しい説明どうもです。
つまり、インターフェースはメソッドのテンプレを
用意するようなものですかね。

みなさんもありがとです。
729デフォルトの名無しさん:2006/01/23(月) 20:53:42
SWTでウェブブラウザを作成していて、
ボタンを押した時に、キーボードのCtrl+Fを押した時と同じ動作を
させたいんですがどうしたら良いでしょうか?

730デフォルトの名無しさん:2006/01/23(月) 21:41:15
SWTはSWTスレ行くが吉
標準ライブラリじゃないからな
731デフォルトの名無しさん:2006/01/23(月) 23:28:44
>>730
ありがとうございます。
SWTスレで聞いてみます。
732デフォルトの名無しさん:2006/01/24(火) 00:23:19
>>698
遅レスですが、ありがとうございます。
733デフォルトの名無しさん:2006/01/24(火) 01:21:29
携帯電話用のアプリを作りたいんですけど
ぶっちゃけ、開発環境ってどれが良いですか?
734デフォルトの名無しさん:2006/01/24(火) 01:25:55
MIDP用ならご自由に
735以下、名無しにかわりましてVIPがお送りします:2006/01/24(火) 01:59:11
1000番目の素数を求めるにはどのような
アルゴリズムを取ればいいですか?
736735:2006/01/24(火) 01:59:48
間違えました
取り下げます
737デフォルトの名無しさん:2006/01/24(火) 09:26:01
>>735
数一つ一つについて既に求めた素数全て割れるかどうかを調べ、
割れなかったら新たに発見した素数とする。

但し全ての数を調べる必要はなくて、わかりきっている 2, 3 は
最初から素数として扱い、偶数の値は調べない。
738名無し募集中。。。:2006/01/24(火) 10:26:25
何とかのふるい使えばええやん
739デフォルトの名無しさん:2006/01/24(火) 10:37:55
エラトステネスのふるいだな
740デフォルトの名無しさん:2006/01/24(火) 15:35:55
sunのjava5.0をダウンロードしてインストールしようとしたら使用許諾書みたいなのがでてきました
90日以内に領収書がどうたらこうたらと書いてありました
気にせずインストールしたのですがお金を払わなければいけないのでしょうか??
741デフォルトの名無しさん:2006/01/24(火) 15:40:08
ちゃんと使用許諾を読め
742デフォルトの名無しさん:2006/01/24(火) 15:43:02
人ととおり読んだんですがそのときはなんか急いでたんで・・
やっぱり払わないといけないんでしょうか?
743デフォルトの名無しさん:2006/01/24(火) 15:47:48
>>742
もう一度落ち着いて>>741
744デフォルトの名無しさん:2006/01/24(火) 15:53:46
読み返したけどなんかよくわからない・・
すいません頭悪くて
745デフォルトの名無しさん:2006/01/24(火) 16:04:14
>>744
日本語を勉強し直して>>741
746デフォルトの名無しさん:2006/01/24(火) 16:04:25
まあ、普通売ってる場合(商品)は90日試用とかで自動的に機能しなくなるし、
どうせ寄付金とかのウインドウだろ。
747デフォルトの名無しさん:2006/01/24(火) 16:07:08
無償でって書いてるので無料なんですか??
748デフォルトの名無しさん:2006/01/24(火) 16:08:50
じしょぐらいひこうね
むしょう
むりょう
749デフォルトの名無しさん:2006/01/24(火) 16:13:22
>>748
辞書の無償の説明に無料ってかいてる
750デフォルトの名無しさん:2006/01/24(火) 17:04:02
すみません。
Javaアプリケーションをwebで動作するアプレットへと移植しようとしているのですが、
外部の設定ファイルがうまく読み込めずエラーとなります。

で、元のアプリでは

private static final String TP = "/設定ファイル名";

となって、ローカルからの読み込みになっているのですが、
これをURL指定して読み込むようにするにはどうすればいいのでしょうか?
751デフォルトの名無しさん:2006/01/24(火) 17:07:03
ファイル読み込んでるところをHTTPで読み込む様にすればいいんじゃね?
752デフォルトの名無しさん:2006/01/24(火) 17:19:58
URL って、設定ファイルをネットワーク越しに読み込ませる気か?
ファイルをサーバのローカルに置きゃ良いだろ。
753750:2006/01/24(火) 17:50:26
>>751
>ファイル読み込んでるところをHTTPで読み込む様にすればいいんじゃね?

一応、
private static final String TP = "http://www.hogehoge.ne.jp/設定ファイル名";
ってやってみたんですけど、エラーになりました。

>>752
説明不足ですみません。
設定ファイルはJavaアプレットと同じサーバの同じ階層に置いてあるものを読み込ませようとしてます。

754デフォルトの名無しさん:2006/01/24(火) 18:03:15
失礼、「webで動作する」 と来たから「サーブレット」と自動補完してた。
アプレットと同じ JAR ファイルに入れて ResourceBundle クラス使え。
755デフォルトの名無しさん:2006/01/24(火) 18:03:29
肝心の読み込む部分のコード公開してないがな
756750:2006/01/24(火) 18:22:56
>>754
JARファイルに入れるやつですか。ちょっとやってみます。

>>755
おそらく読み込んでいるコードはここだと思います。

Properties p = new Properties();
p.load(new FileInputStream(TP));
map.put(TP, p);

よろしくお願いいたします。
757デフォルトの名無しさん:2006/01/24(火) 18:30:54
>>756
なんでファイルのストリーム使ってるのさ
HTTPのストリーム使いなさい
758デフォルトの名無しさん:2006/01/24(火) 18:32:47
質問させていただきます。
Javaでフレームを使ってウィンドウアプリケーションを作成しようといるのですが、
文字列を配置して、その文字列を右から左にスクロールさせたいのですが、やり方がわかりません。
よろしければご教授ください。
759デフォルトの名無しさん:2006/01/24(火) 18:37:10
>>758
まずJPanel配置までは出来てる?
できているならそのコンポーネントに描画するだけ

あとはタイマーで動かす処理をかく
760デフォルトの名無しさん:2006/01/24(火) 19:15:20
JavaアプレットからローカルPCのファイルに書込みたいのですが、
そういうことはムリなのでしょうか。
761デフォルトの名無しさん:2006/01/24(火) 19:19:37
無理です
Java Web Start 使ってください。
762デフォルトの名無しさん:2006/01/24(火) 19:31:12
ポリシーファイルでもいじれば?
763デフォルトの名無しさん:2006/01/24(火) 20:08:31
質問です。

RedHat で、java 1.4.2_05 使っています。
MD5を使った練習コードを書いたのですがですが、エラーが出ます。
どうやらライブラリに問題がありそうなのですが…
マシンは大学のサーバーで、他ソフトの兼ね合いもあり、
JAVAのバージョンを上げることはできません。
何とかこのバージョンでMD5を使いたいのです。
よろしくお願いします。

コードは以下の通りです。

import java.security.MessageDigest;
class Digest {
public static void main (String[] args) {
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] hash = digest.digest("hoge".getBytes());
System.out.println(hash);
}
}

結果は、以下の通りです。

md5.java: In class `Digest':
md5.java: In method `Digest.main(java.lang.String[])':
md5.java:5: Exception `java.security.NoSuchAlgorithmException' must be caught, or it must be declared in the `throws' clause of `main'.
MessageDigest digest = MessageDigest.getInstance("MD5");
^
1 error

764デフォルトの名無しさん:2006/01/24(火) 20:11:12
>763
問題があるのはライブラリでなくお前の頭。
味噌汁で顔あらって出直してこい
765デフォルトの名無しさん:2006/01/24(火) 20:17:28
ライブラリって別にコアライブラリのことじゃなくてプロバイダが入ってる Sun の奴のことだろ。

>>763
MD2、SHA-1、SHA-256、SHA-384、SHA-51 なんかはどうよ?
766デフォルトの名無しさん:2006/01/24(火) 20:21:13
>765
てめぇも同類の能無しか?エラーメッセージ読め
767デフォルトの名無しさん:2006/01/24(火) 20:22:14
ああ、コンパイルエラーか。失礼
768デフォルトの名無しさん:2006/01/24(火) 20:24:10
>>764,765
スンマセン、マジで分からんです(その程度のレベルです)。
WEBで拾ったサンプルコードを使ってるんですが。


769デフォルトの名無しさん:2006/01/24(火) 20:26:24
>>763
Exception `java.security.NoSuchAlgorithmException' MUST BE CAUGHT!
770デフォルトの名無しさん:2006/01/24(火) 20:29:59
763です。ご迷惑おかけしました。ありがとうございます。
771デフォルトの名無しさん:2006/01/24(火) 20:46:34
J2EEで、

JSP - Servlet - Stateless SessionBean

っていうふうに呼び出したいんだけど、
処理ごとにServletは分けるべき?
SessionBeanは分けるべき?
772デフォルトの名無しさん:2006/01/24(火) 21:01:20
>>771
今の流行の流れでは・・・
・Servletは一つでいいだろう
・アプリの規模にもよるが、SessionBeanはユースケース単位で分けるぐらいがちょうどいいだろう
・ビジネスロジックの呼び出しはCommand Patternで隠蔽するのがいいだろう
773デフォルトの名無しさん:2006/01/24(火) 21:56:00
>>772
あんがと!
774デフォルトの名無しさん:2006/01/24(火) 23:47:22

アプレットからjspを呼び出したい。

今、アプレットでゲームを作っています。アプレットにマウスリスナーを実装しておいて、
ゲームをクリアするとクリックイベントで他のページにジャンプしたいのですが、
どうすればアプレットからjspを呼び出せるのですか?

jspには

response.sendRedirect("遷移先のページ");

とか言うのがあるのは知っているのですが、、

誰か助けてください。
775デフォルトの名無しさん:2006/01/24(火) 23:49:58
getAppletContext().show("JSPのURL");
776デフォルトの名無しさん:2006/01/24(火) 23:50:33
間違えた。showDocument だ
777デフォルトの名無しさん:2006/01/24(火) 23:57:44
>>775
今から試してみます。
どうもありがとうございました。
778749:2006/01/25(水) 00:11:22
結局無料なの??
779デフォルトの名無しさん:2006/01/25(水) 01:24:50
780デフォルトの名無しさん:2006/01/25(水) 04:13:01
JEditorPaneにHTMLを表示させています。
このときCSSをいじりたいんですが、うまくスタイルが変更してくれません。
原因などわかるかたいたら教えて下さい。
781デフォルトの名無しさん:2006/01/25(水) 04:13:55
import java.awt.*;
import java.io.IOException;

import javax.swing.*;
import javax.swing.text.html.*;

public class StyleSheetTest extends JFrame{
JEditorPane editorPane;

public static void main(String[] args){
StyleSheetTest f=new StyleSheetTest();
f.setBounds(0,0,400,400);
f.setVisible(true);
}
public StyleSheetTest(){
editorPane=new JEditorPane();
editorPane.setEditable(false);
editorPane.setContentType("text/html");
StyleSheet ss=new StyleSheet();
ss.setBaseFontSize(5);//ベースフォントサイズを設定しているつもり。
HTMLDocument doc = new HTMLDocument(ss);
editorPane.setDocument(doc);

try {
editorPane.setPage("http://www.yahoo.co.jp");
}catch(IOException e){
editorPane.setContentType("text/html");
editorPane.setText("指定したページは見つかりませんでした");
}
getContentPane().add(new JScrollPane(editorPane),BorderLayout.CENTER);
}
}
782デフォルトの名無しさん:2006/01/25(水) 05:09:29
この期に及んで(ワラ

ライブドアってPerl.PHP信者しかいないところだろ。おまけに*BSD信者の巣窟だし。
Java嫌いな奴がかなり集まってるはず。

長期戦略的にものを見ず、短期戦術的にしかものを見ることができず、
即座に金にならないものは拒否するという
堀江貴文の性格がそのまま会社に現れてしまった結果だな。
783デフォルトの名無しさん:2006/01/25(水) 07:11:33
質問です。BufferedInputStreamなんかで読み込んだ画像ファイルを
文字列で出力できるようにしたあと
その文字列をまた画像ファイルに変換するような(もしくは元に戻す)クラスって存在しますでしょうか?
784デフォルトの名無しさん:2006/01/25(水) 07:24:31
>>783
OCRがしたいの?
785デフォルトの名無しさん:2006/01/25(水) 08:08:03
ArrayListでつくったリストからから配列を作りたいです
リストのサイズから配列を作り、をIteratorで値を代入するしか方法はないのでしょうか?
786デフォルトの名無しさん:2006/01/25(水) 09:06:17
ノートパソコンでEclipseかNetbeensを使ってJavaをしたいと思ってるんですが
どのくらいのスペックが必要でしょうか?
当方、マカーなので良く分かりません。
うちのMacじゃお話にならなかったので・・・
一応、Thinkpad X21(2662-65J)の中古を狙ってるんですが。
Solarisもインストールできるみたいなんで。
それとメモリはどのくらい積めば快適でしょうか?
787デフォルトの名無しさん:2006/01/25(水) 09:11:49
EclipseスレかNetBeansスレの方がいいんでないかね
788デフォルトの名無しさん:2006/01/25(水) 09:54:34
>>785
ArrayList(List) から配列へ変換するのは以下の二つ
Object[] toArray()
<T> T[] toArray(T[] a)
#1.4までは Object[] toArray(Object[])

型指定が必要な後者は、size()で長さを取得し、必要な長さの配列を作成してから使うこと。
# 長さが足りないと、内部で戻り値の配列を生成することになる(通常より重たい実行時処理で)
# 長すぎても for 文で null チェックをする必要がある
# private で保持している配列を arraycopy してるから、考えられる中では最速では?
789デフォルトの名無しさん:2006/01/25(水) 11:45:29
>>788
なるほど。ありがとうございます。
早速やってみます 
790デフォルトの名無しさん:2006/01/25(水) 14:12:15
>784
いや、そういうわけではないのですが
どうしてもやる必要になりでもなかなか出来ないものでして・・
791デフォルトの名無しさん:2006/01/25(水) 14:18:18
>>790
バイナリを ASCII 化したいだけなら符号化くらい簡単に出来るだろ。
単純に 16 進数で出力するとか Base64 でも作れば?
792デフォルトの名無しさん:2006/01/25(水) 17:14:44
SunのJVMならBase64のエンコ・デコードは簡単だな
793デフォルトの名無しさん:2006/01/25(水) 17:40:25
URLConnection を使って通信してるのって、読み込みブロックに入ってるスレッドを
割り込んだり出来る? Socket の setSoTimeout() みたいなのでも良いんだけど。
794デフォルトの名無しさん:2006/01/25(水) 17:54:19
URLConnection#setReadTimeout ってのがあるけど、これじゃダメなんか?
795デフォルトの名無しさん:2006/01/25(水) 17:57:18
>>794
Since1.5だな
1.1の頃これが無くて悲しい思いをした思い出がある
796デフォルトの名無しさん:2006/01/25(水) 18:02:42
java3dでファイル操作をしたいのですが、いまいちわかりません。
座標(x,y,z)を入力したメモ帳を用意して、その座標に球を置くという
ものです。で最終的には、座標を1万と作り、その座標に球(1万個)
を置きたいのですが…。誰か教えてください。
797デフォルトの名無しさん:2006/01/25(水) 18:05:41
>>794
さんくす。でも 1.5 か…
リフレクション使ってそのメソッドあったら呼ぶようにしておくか。
798デフォルトの名無しさん:2006/01/25(水) 20:59:05
コマンドラインでパスワードを入力させたいんですが
エコーバックなしか、せめて * で表示することって出来ませんか?
799デフォルトの名無しさん:2006/01/25(水) 21:05:59
>>798
Mustangのjava.io.Console#readPassword()使えばできる
800デフォルトの名無しさん:2006/01/25(水) 21:16:08
むう、1.4 じゃ無理か。
801デフォルトの名無しさん:2006/01/25(水) 23:24:52
PureJavaで画像のリサイズ(画像のファイルサイズを小さく)を行いたいのですが、
いい方法もしくはどこかサンプルになるページを教えていただけますでしょうか?
802デフォルトの名無しさん:2006/01/25(水) 23:29:11
>>801
それどこで躓くんだ

まずどういう動作をしたくてどこが分からないのか順を追って考えてごらん
803デフォルトの名無しさん:2006/01/25(水) 23:34:23
来年就職なので、JAVAについて少しお聞きたいのですが
皆さんはJAVAが好きですか??
804デフォルトの名無しさん:2006/01/25(水) 23:35:06
それともHSPやC++ですか?
805デフォルトの名無しさん:2006/01/25(水) 23:35:10
>>762
ポリシーファイルということは、クライアントPCのファイルを
あらかじめいじっておく必要がある、ということなんですよね。

>>761
Java Web Start(全然分かっていないのですが)を使えば
クライアントPC側で特に設定なしでローカルファイルを
読めますか?
806デフォルトの名無しさん:2006/01/25(水) 23:36:05
>>805
詠めない
807デフォルトの名無しさん:2006/01/25(水) 23:37:06
>>803
さあね。今時Javaなんてほとんど使われてないから。
仕事で使うのは95%MFCだよ。
808デフォルトの名無しさん:2006/01/25(水) 23:38:56
>>806
マジですか・・・>>761の書込みってなんなんでしょうね・・・
809デフォルトの名無しさん:2006/01/25(水) 23:39:34
>>802
その前にお前に死んでほしいのですが。
810デフォルトの名無しさん:2006/01/25(水) 23:40:42
>>807
じゃぁ、ATL覚えてクライアントアプリの名人になります
811デフォルトの名無しさん:2006/01/25(水) 23:42:47
>>810
ATLは使われていない。
812デフォルトの名無しさん:2006/01/25(水) 23:43:42
じゃぁWTL (つ_゜)゜。涙
813803:2006/01/25(水) 23:45:20
就職するころにはMFCが終わってなければいいのですが。。
814デフォルトの名無しさん:2006/01/25(水) 23:47:30
>>805
JNLPAPIではユーザーが選択して保存や読み込みが可能です。

>>809
あの文章ではどの部分が分からないのかがわからない。
画像のロードや保存が出来ないのかJava2Dのほうの問題なのかといったところが。
815デフォルトの名無しさん:2006/01/25(水) 23:47:45
>>802
早速のレスありがとうございます。
機能としては、とあるフォルダ内の画像をサムネイル表示したいと考えています。
ただ、1つの画像が数十MBで、フォルダ内には画像が100枚くらいあるのです。
それをMacで表示するとメモリ不足になるため、どうしたらいいものかと悩んでいます。
Macのメモリは512MBで、開発はWinXP SP2 JavaSDK1.4.1でしています。
些細な事でも構いませんのでアドバイスお願いできますでしょうか?
816デフォルトの名無しさん:2006/01/25(水) 23:49:25
>>813
職業プログラマになりたいのならOJTの名の下に
その場で言語をすぐに覚えて作るのが普通になります。
もちろん、そんな状況でのコードはすごいことに。

プロジェクトが終わるころに技術力がついてくるといった無駄さがポイントです。
マイナーで表に出てこない環境を使わされることももちろんあります。

プログラマに夢を持ったらいかんよ。死人も普通に出る業界だし。
817デフォルトの名無しさん:2006/01/25(水) 23:49:50
>>808
つーか署名しろよ。署名すればアプレットでもJWSでも大丈夫。
あとJWSの場合、JNLP API使えば、限定的にだけど
アクセスできたはず。
818デフォルトの名無しさん:2006/01/25(水) 23:51:55
>>814
>あの文章ではどの部分が分からないのかがわからない。
聞いてない。
819デフォルトの名無しさん:2006/01/25(水) 23:52:18
>>815
サムネイルをしたいってことね
まず画像は一つ一つロードする
そこまではOKね?

ならそれを新しく作ったImageにリサイズして描画するだけ

BufferedImageってのですきなピクセルフォーマットで作成が可能です
たとえば元画像がフルカラーだとしても16bitカラーあたりにしておけば
サイズが変わらなくても小さくなります

これで任意のサイズ/カラーのバッファを用意してあとはそこへdrawImageするだけ
ロードした描画元の画像は破棄します
820デフォルトの名無しさん:2006/01/25(水) 23:52:59
>>816の書き込みに、真実は1つもありません。
ここまでウソを並べられるのは逆にすごい。
821デフォルトの名無しさん:2006/01/25(水) 23:53:25
>>816
有難うございました(つ_゜)゜。涙
822デフォルトの名無しさん:2006/01/25(水) 23:54:05
え!(つ_゜)゜。涙
823デフォルトの名無しさん:2006/01/25(水) 23:54:37
ちゃちゃいれしかできない>>809,818,820は消えてください。
824デフォルトの名無しさん:2006/01/25(水) 23:55:07
JNLP APIってJDK1.4でも使えますか?
825デフォルトの名無しさん:2006/01/25(水) 23:55:46
>>823
ちゃちゃいれ以外に何かしてほしいことでもあるのですか?
826デフォルトの名無しさん:2006/01/25(水) 23:57:46
>>824
WebStart自体は1.3時代からある
オプショナルパッケージだから>JNLP
ただ1.3.1あたりから標準装備だったっけ
827デフォルトの名無しさん:2006/01/25(水) 23:59:01
アプレットに署名したらなんでもありになるの?
828デフォルトの名無しさん:2006/01/26(木) 00:06:06
>>819
>BufferedImageってのですきなピクセルフォーマットで作成が可能です
>たとえば元画像がフルカラーだとしても16bitカラーあたりにしておけば
>サイズが変わらなくても小さくなります
ここで言うサイズは画像の大きさ(縦、横の幅)で、
小さくなるのはファイルサイズですよね。
フルカラーから16bitカラーにすれば、
色情報が減るので画像容量が減るという事ですね。

早速試してみます。
ありがとうございました。
829デフォルトの名無しさん:2006/01/26(木) 00:22:34
さらに補足するとサムネイル画像が128*128未満なら256色にするのもあり
830デフォルトの名無しさん:2006/01/26(木) 00:47:29
>>829
それも一緒に試してみます。
ありがとうございます。
831デフォルトの名無しさん:2006/01/26(木) 04:06:01
Eclipse関連の質問ってOK?

VisualEditor使ってたら突然ぬるぽエラーが発生するようになって
ビューが見れなくなってしまいました。Eclipseを再起動しても直りません。

どなたか原因をご存じないでしょうか・・(´・ω・`)
832デフォルトの名無しさん:2006/01/26(木) 04:12:28
>(´・ω・`)
そんな顔をしても駄目だ。
涼しい顔をして平気で人を殺す、、、、、。俺はそんなやつをゴマンと見てきた
833デフォルトの名無しさん:2006/01/26(木) 04:15:16
>>831
初心者用と本スレ>eclipse

【SDKから乗換】EclipseでJAVAの勉強【初心者歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1105811745/1
【Java/C/PHP/D/他】統合開発環境Eclipse M19
http://pc8.2ch.net/test/read.cgi/tech/1131604081/1
834デフォルトの名無しさん:2006/01/26(木) 04:23:27
>>833
ありがとー

>>832
|・ω・`)
835デフォルトの名無しさん:2006/01/26(木) 08:03:38
具体的に、Javaにはどんなメリットがありますか?
一般的なこと以外にも、みなさんが使ってみて思ったことを教えてください。
836デフォルトの名無しさん:2006/01/26(木) 12:48:57
JavaにCで言うところのsystem関数のようなメソッドはありますか?
もしあったら教えてください
837デフォルトの名無しさん:2006/01/26(木) 12:53:04
exec関数みたいの(Runtime.exec())はあるけど、system関数みたいのは無い。
って回答でいいか?
838836:2006/01/26(木) 12:56:58
>>837
はい、ありがとうございました
839デフォルトの名無しさん:2006/01/26(木) 15:21:21
>>835
APIが豊富に用意されている、開発環境に(Eclipse,NetBeansなど)お金かからない
資料が多い、ガベコレ
840デフォルトの名無しさん:2006/01/26(木) 15:39:58
>>827
なんでもありなのかはわからないけど、少なくともローカルファイルへの
アクセスはできるようになる。
841デフォルトの名無しさん:2006/01/26(木) 17:44:22
758です・・
Jpanel貼り付けはできるんですが、Timerを使っても描画方法がわかりません;
明日が課題の締め切りなのでやり方を教えてもらえないでしょうかorz
842デフォルトの名無しさん:2006/01/26(木) 19:04:50
宿題スレ池禿
843デフォルトの名無しさん:2006/01/26(木) 19:44:03
パスワードを含めたユーザー情報をiniファイルに保存しといて、
初回以降は自動でログインできるようにしたいんだけど、
平文のまま保存するとやばいじゃん?

何かいい方法ない?(´・ω・`)
844デフォルトの名無しさん:2006/01/26(木) 19:54:30
暗号化しかないだろ禿
845デフォルトの名無しさん:2006/01/26(木) 19:59:08
禿とか言うな
846デフォルトの名無しさん:2006/01/26(木) 20:01:21
じゃあ,パゲ
847デフォルトの名無しさん:2006/01/26(木) 20:03:54
やめろよマジで気にしてるんだから。
848デフォルトの名無しさん:2006/01/26(木) 20:11:43
じゃあフッサフッサ(仮)
849デフォルトの名無しさん:2006/01/26(木) 20:12:33
>>843
java.security.MessageDigest
850デフォルトの名無しさん:2006/01/26(木) 20:39:02
DAOってどういう単位で作るとやりやすい?

例えば一般的な掲示板というものを作る場合、
DAOとして「掲示板DAO」のみでOKなのか、「記事DAO」も必要なのか・・・?
どうなんだぼけ?
851デフォルトの名無しさん:2006/01/26(木) 20:54:15
掲示板だお
記事だぉ
852デフォルトの名無しさん:2006/01/26(木) 21:01:18
>>849
MessageDigestしたら、戻せないよ
853デフォルトの名無しさん:2006/01/26(木) 21:03:34
戻す必要ないだろ
854デフォルトの名無しさん:2006/01/26(木) 21:05:58
>>850
テーブルまたはビュー1つにつき1つだろ。
855デフォルトの名無しさん:2006/01/26(木) 21:22:18
どういう認証かも分からないのに不可逆ハッシュなんか薦めんな。
856デフォルトの名無しさん:2006/01/26(木) 21:23:21
では、

「記事を編集して保存する」

という動きを考えた時、記事オブジェクトの属性をコネコネして、
記事.保存()
とするわな。


そうした時にDBへ更新者と更新時間を保存したいということになったら
記事.保存(更新者,更新時間)
となるのか?
857デフォルトの名無しさん:2006/01/26(木) 22:02:40
おまけ

「記事を非公開にする」

という動きもふまえてDAOとサービスクラスの位置付けをどう考えるか教えてくれ
858デフォルトの名無しさん:2006/01/26(木) 22:04:25
DAOほど曖昧な言葉もないよね
859デフォルトの名無しさん:2006/01/26(木) 22:07:43
記事
+非公開にする
+公開する
*保存する(protected)

記事DAO
+保存する
+削除する
-更新する
-追加する

掲示板
+記事を書き込む

掲示板DAO
+記事を検索する


でどーよ。
860デフォルトの名無しさん:2006/01/26(木) 22:33:37
>>837
「いいですか?」の打ち間違いです。

861デフォルトの名無しさん:2006/01/26(木) 22:34:30
>>840
じゃあローカルファイルに対してはなんでもありになるのかな。
その辺のことが記述してあるサイトとかってありますか?
862デフォルトの名無しさん:2006/01/26(木) 22:36:29
1つのパッケージにmainメソッドって普通は1つなの?
863デフォルトの名無しさん:2006/01/26(木) 22:54:34
1つのクラスに main メソッドが複数あっても問題ないよ。
864デフォルトの名無しさん:2006/01/26(木) 23:52:01
ArrayListからカンマ区切りの文字列を作りたいです。
[0]aaa
[1]bbb
[2]ccc
これを
aaa,bbb,cccというふうに。
865デフォルトの名無しさん:2006/01/27(金) 00:01:20
ArrayList list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
String text = list.toString();
text = list.substring(1, list.length() -1);
866デフォルトの名無しさん:2006/01/27(金) 00:26:10
>>864-865
toString() メソッドの戻り値を利用するのは、あまりお奨めしません。
# 期待する出力だと楽でいいけどね
867デフォルトの名無しさん:2006/01/27(金) 00:27:28
>>865 はネタだろ
868デフォルトの名無しさん:2006/01/27(金) 00:37:12
ArrayList<String> list = new ArrayList<String>(Arrays.asList(new String[]{"aaa", "bbb", "ccc"}));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
if (i != 0) {
sb.append(',');
}
sb.append(list.get(i));
}
String result = sb.toString();
System.out.println(result);
869デフォルトの名無しさん:2006/01/27(金) 00:52:25
ArrayList<String> list = new ArrayList<String>(Arrays.asList(new String[]{"aaa", "bbb", "ccc"}));
StringBuilder sb = new StringBuilder();
for (String s : list) sb.append(sb.length() == 0 ? "" : ",").append(s);
String result = sb.toString();
System.out.println(result);
870デフォルトの名無しさん:2006/01/27(金) 00:53:33
ArrayList<String> list = new ArrayList<String>(Arrays.asList(new String[]{"aaa", "bbb", "ccc"}));
String result = "";
for (String s : list) result += (result.length() == 0 ? "" : ",") + s;
System.out.println(result);
871デフォルトの名無しさん:2006/01/27(金) 01:43:17
ArrayList list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
String result = StringUtils.join(list.iterator(), ",");
System.out.println(result);

要 Jakarta commons の Lang
872862:2006/01/27(金) 01:46:19
文法的にじゃなくて普通はどうすんのかって事を聞きたいんだ僕は
873デフォルトの名無しさん:2006/01/27(金) 01:48:17
>>872
パッケージといういいかたがおかしくないか?
874デフォルトの名無しさん:2006/01/27(金) 01:59:24
慣例的にはどうでもいい
875デフォルトの名無しさん:2006/01/27(金) 02:01:31
>>872
自分で考えろ禿
876デフォルトの名無しさん:2006/01/27(金) 02:57:08
禿とか言うな
877デフォルトの名無しさん:2006/01/27(金) 03:52:22
class Signal{
static final int GREEN=1;
static final int YELLOW=2;
static final int RED=3;

String getMessage(int n){
String str;
swich(n){
case 1:
str="進め";
break;
case 2:
str="止まれ";
break;
default:
str="絶対止まれ";
break;
}
return str;
}
}
これで8行目に";"がありませんってなっちゃうんですが・・・・間違ってる?
878デフォルトの名無しさん:2006/01/27(金) 04:18:24
うん
879デフォルトの名無しさん:2006/01/27(金) 04:39:32
switchね・・・・すんません〜
880デフォルトの名無しさん:2006/01/27(金) 04:42:23
>>877
> static final int GREEN=1;
> static final int YELLOW=2;
> static final int RED=3;

せっかく宣言してるんだから、switch 文で使えばいいのに?
881デフォルトの名無しさん:2006/01/27(金) 05:24:12
グラフを表示するアプリケーションを作ったのですが、
作成したアプリケーションをアプレットとしても使用できるようにしようと改良しました。、

しかし、アプレットビューアではグラフが表示されるのに、htmlで読み込むとグラフ部分が表示されません。

後、スクロールバーを動かしたり、ウィンドウの大きさを変える度に描いた物が消えてしまいます。

何か解決策があれば教えて下さい。

一応ソースです。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26900

本を参考にしながら、それを改良して作ったのでとても見辛いと思います。
すいません。
882デフォルトの名無しさん:2006/01/27(金) 07:15:41
>>872
死ねばいいのに。
883デフォルトの名無しさん:2006/01/27(金) 08:16:28
昨日までコマンドプロンプトで実行できたのに、今出来なくて
Exception in thread "main" java.lang.NoClassDefFoundError
というエラーがでます。
クラス生成できるけど、実行ができません。
助けてください!
884デフォルトの名無しさん:2006/01/27(金) 08:45:58
>>883
自動でpath設定しちゃうようなアプリでもインストールしたとか
885883です:2006/01/27(金) 08:58:28
>>884
環境変数が変ってました。何故だろう・・・
クイックTIMEをインストールしたのが原因かな?
パス設定し直したのでもう大丈夫です!
それにしても何故だ・・・
886367:2006/01/27(金) 09:30:03
QuickTimeは最悪だよ。
PATHはやられる。
CLASSPATHは大丈夫のような気がしたけど。
あとhttp経由のMP3のファイルの関連付けも承諾なしに変えるし
887デフォルトの名無しさん:2006/01/27(金) 12:41:17
TextFieldに文字を入力してもらい
エンターを押された時点でイベントを感知して処理できるようにするにはどうしたらいいのですか?
888デフォルトの名無しさん:2006/01/27(金) 13:12:54
最低限APIぐらい読んでから書いてください禿
889デフォルトの名無しさん:2006/01/27(金) 13:13:31
読んでもわかんねーよあの糞ページ
890デフォルトの名無しさん:2006/01/27(金) 13:14:35
>>887
javax.swing.JTextFieldの場合だけど。
JTextFieldのオブジェクトを指してる変数名をtextFieldとすると

textField.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
// イベントの処理
}
});

こんな感じでActionListnerを登録すればできるんじゃ?



891デフォルトの名無しさん:2006/01/27(金) 13:18:11
甘やかすなよ(笑)
892デフォルトの名無しさん:2006/01/27(金) 13:31:42
>>890
どうもありがとうございます
適当にイベント受け取ったら出来ました
893デフォルトの名無しさん:2006/01/27(金) 15:14:08
jmfでビデオチャットを作っているのですが、
1台目のカメラでは問題なく通信できたんですが、2台目に買ってきたものでは無理でした。
どうもProcessorが正しく動作してないようです。

medialocator = new MediaLocator("rtp://" + mainpanel.ipadress.getText() + ":" + mainpanel.port.getText() + "/video");
datasource = Manager.createDataSource(devicelocator);
Processor = Manager.createRealizedProcessor(new ProcessorModel(datasource,format,descriptor));
datasink = Manager.createDataSink(Processor.getDataOutput(),medialocator);

上記の手順でやったところ2台目のみエラーを吐きます。
NoRealizedException です。

そこでCreateRealizedProcessorではなくCreateProcessorでProcessorを作成し、その後設定をしていきバグの原因を探そうとしたのですが
CreateRealizedProcessorを使わない場合formatの設定の方法が分かりません。
どのようにすればよいでしょうか?
894883です:2006/01/27(金) 15:32:14
なるほど。クイックTIME最悪なのか!
そっこくアンインス致します。
895デフォルトの名無しさん:2006/01/27(金) 15:51:53
1.4.2とTigerの性能比較のデータを探しているのですが、
どなたかご存知でしたらお願いします。
896デフォルトの名無しさん:2006/01/27(金) 16:05:34
何の性能比較だ
物によってピンキリなので機能での比較が分かりやすい
1.4.2とだと速度はさほどかわってないよ
1%も変わってないと思う
GCはそれなりに早くなってるのが分かる
897デフォルトの名無しさん:2006/01/27(金) 16:32:40
あるクラスから、子クラス、さらに孫クラスをつくったのですが、
孫クラスから一番親のスーパークラスのクラス変数を参照しようとしたときに
解決できないと怒られてしまいます。

ひとつ上の親クラスは参照可能なのですが…。
2つ上の親クラスには何か特別なことをしなければならないのでしょうか。

もちろんprotectedで宣言しています。
どうぞご教授ください。
898デフォルトの名無しさん:2006/01/27(金) 16:41:00
GCは速くなってるんですかー
ダイナミックGCとかできないかなー
GC情報を取得してどんどん最適にしてくれるやつとか
899デフォルトの名無しさん:2006/01/27(金) 16:42:03
ダイナミックGCってなんだ?
900デフォルトの名無しさん:2006/01/27(金) 16:50:14
>>897
俺できるんだけど?
901デフォルトの名無しさん:2006/01/27(金) 16:53:21
902デフォルトの名無しさん:2006/01/27(金) 17:02:51
>>901
どのへんが動的なGCなのかようわからんが
GCとメインのタスクとの比率とかそういうのはちゃんとSunので設定できるよ

それと細かい制御が必要になるならそんな単純な設定だけに頼らないのが普通

そもそも5.0かどうかの問題というよりはSunの実装が、とかBEAの実装がとかいう話だ
903デフォルトの名無しさん:2006/01/27(金) 17:13:01
>>902
このドキュメント見るとまるで動的にMaxNewSizeとかNewRatioとかパーマネント領域とかを設定して、
最適化した値を考えてくれるように見えるけど、
http://www.nminoru.jp/~nminoru/diary/2003/12.html
この人の日記の12月19日を見ると、どうやらそうじゃなくて、
起動時に最適なものを探すらしい。
あと、コンカレントとかパラレルとかのGCアルゴリズムの変更もしてくれないらしい。

これらを動的に最適にするようなVMあれば素敵じゃない?

まあ今実際JRockit使わずに何度も何度もデータとって、
sunの静的なもの使ってるんだけどね
904デフォルトの名無しさん:2006/01/27(金) 17:25:20
z[0] = new Random().nextGaussian();
z[1] = new Random().nextGaussian();

って書くと同じ数値になっちゃうんだけどなんでですか?
905デフォルトの名無しさん:2006/01/27(金) 17:31:44
擬似乱数の精子が一緒だから
906デフォルトの名無しさん:2006/01/27(金) 17:50:57
>>904
電子計算機概論くらいおぼえようや
907デフォルトの名無しさん:2006/01/27(金) 17:53:41
>>903
それダイナミックというのか・・・詐欺だな

でも、アプリレベルでGCってのはきまることはなくて、ゲームだと初期化ルーチンや
場面切り替えでスループットが欲しい、ゲーム中はフレームレート維持したいから
レスポンス重視で、とか欲しいからアノテーションかなんかでヒントを与えれるようにしたいよね

ゲームだとは0.5msのいつ動くか分からないGCよりは毎フレーム指定した場所でGCがおきるのなら
5msかかってもいいという場合がほとんどだということをsunはしってるのだろうかと心配になるが
908897:2006/01/27(金) 18:09:20
>>900
Eclipseの挙動が変だったようで…ご迷惑おかけしました。
909デフォルトの名無しさん:2006/01/27(金) 18:27:26
>>905
セーシ言うな。セーシって。
910デフォルトの名無しさん:2006/01/27(金) 19:06:03
JTableでセルの編集を確定すると次のセルに自動的にフォーカスが
移りますが、このフォーカスの移動順をカスタマイズするには
どうすれば良いでしょうか?
911デフォルトの名無しさん:2006/01/27(金) 19:55:25
>>910
自動でカーソルが移動するのをまずなくす
そのあと自前で処理を追加

InputMapを調べてみてごらん
あらゆるコンポーネントのデフォルト動作はちゃんと一つ一つ作られているわけだ
912デフォルトの名無しさん:2006/01/27(金) 20:52:50
ゲームプログラムでよくある「1リフレッシュに一度バックバッファを書き換え、
垂直帰線期間中にバッファをスワップする」相当のことをJavaでしたいんですが、
専用のクラスやメソッドはありますか?

単純にJPanelのダブルバッファリングをONにして1000/60ミリ秒に一度
書き換えてもいいような気がするのですが、何か広く知られたテクニックが
他にあれば教えて欲しいです。
913デフォルトの名無しさん:2006/01/27(金) 21:52:46
>>912
この程度ネットで検索すればいくらでも出てくると思うが

BufferStrategyを調べてみなされ
914デフォルトの名無しさん:2006/01/27(金) 22:41:32

ArrayListに入ってる要素を
forループ内でget( i )で取り出すのと、
Iteratorに変換してwhile内でnext( )で取り出すのとで
何か違いはあるのでしょうか?
都合によりJDK5.0は使えない環境です。
915デフォルトの名無しさん:2006/01/27(金) 23:02:28
Iterator は順繰りに参照するしか出来ないが、List の for ループは前後の要素や
長さなどが参照できる。そうする必要が無く純粋にコレクションとしての抽象度を
高めた操作がしたければ Iterator 使えばヨロシ
916914:2006/01/27(金) 23:30:08
>915
どうもありがとうございます。
>915さんの発言を読む限りだとIteratorのメリットがあまりないような気がするのですが
どんなときが「純粋にコレクションとしての抽象度を高めた操作をしたいとき」なんでしょうか?
具体的廚でスイマセン。。
917デフォルトの名無しさん:2006/01/27(金) 23:42:55
で、貴様らの一番戸得意な言語はJavaなわけ?
918デフォルトの名無しさん:2006/01/27(金) 23:44:15
昔からのプログラマでカウンタにiとか変数使ってまわすのに慣れてると
かえって見にくかったりするんだよな

これは順次処理、複雑なことは何もしてませんよ、というアピールだと思っておいてください
つまり、一度限りの作成というよりは保守が入ったときそのコードを見てすぐに分かるか
ということだと思われ

速度的にもイテレータ使わないほうが早いしねぇ

順序不問でまわしていいような場合があれば、今後並列用のコレクションとして
イテレータと違うのが出てくると予想
919914:2006/01/27(金) 23:49:27
>918
どうもありがとうございます。納得できました。
920912:2006/01/27(金) 23:55:57
>>913
書き方がよくなかったですが、私が聞きたいのは“どうやればフリッピングできるか”では
ないです(そもそもJComponentは裏でBufferStrategyを使用していて、特にJPanelは
デフォルトでダブルバッファリングをやってるはずです)。

例えば600枚の画像を毎リフレッシュ切り替えつつ10秒間のアニメを表示しようとしたときに、
“リフレッシュごとに適切なタイミングで”表示している画像を書き換える、
その“タイミングを取る”方法です(例えばあるクラスイベントリスナを登録すると
1秒間にリフレッシュの回数だけイベントを受信できる、とか)。

リフレッシュレート自体はDisplayModeで取得できるようですが。
921デフォルトの名無しさん:2006/01/27(金) 23:58:26
×あるクラスイベントリスナを登録
○あるクラスにイベントリスナを登録
922デフォルトの名無しさん:2006/01/28(土) 00:32:59
過去ログにあったらすいません、アプレットでブロック崩しに挑戦してるんですが、
オフスクリーンつかっても画面がちらつくんですが、なぜかわかりますか?
923デフォルトの名無しさん:2006/01/28(土) 00:37:16
>>920
BufferStrategyをかってにはやってくれないよ
ダブルバッファリングはしてくれるけど

勘違いしてるとしか
BufferStrategyはフルスクリーンモード時はちゃんと垂直同期取るし
WindowsはDirectX使って処理されてますよ
924デフォルトの名無しさん:2006/01/28(土) 01:41:16
サーブレットで、ゲーム等の得点をランキング表示させるプログラム
どこかに落ちてないですか???
925デフォルトの名無しさん:2006/01/28(土) 02:54:11
みなさんはWindowsでjavaを書くときは何を使ってるんですか?
私はマックでXcode使ってるんですが、スイッチしようかなと思って。
Eclipseは重いし・・・・
他にどんな環境があるんでしょうか?
メモ帳以外で教えてくださいm(__)m
926デフォルトの名無しさん:2006/01/28(土) 04:19:15
tera pad
927デフォルトの名無しさん:2006/01/28(土) 04:29:13
メモ帳暦 10年
Tera Pad暦 8年

ですが、何か?
928デフォルトの名無しさん:2006/01/28(土) 04:56:28
秀丸
929デフォルトの名無しさん:2006/01/28(土) 05:29:17
>>923
>BufferStrategyはフルスクリーンモード時はちゃんと垂直同期取るし
>WindowsはDirectX使って処理されてますよ
どうもやはり私の最初の質問文を読み返すと舌足らずで、フリッピングの仕方を
聞いてるように読めてしまいますね。これはこちらの手落ちです。

でもくどいようですが「バックバッファとフロントバッファの切り替えをリフレッシュ毎に行う
(=フリッピング)」の方法を聞いてるんじゃないです。“そこ”は全くあなたの言うように
BufferStrategyのしくみをそのまま使えばいいでしょう。でも“そこ”じゃないんです。

「バックバッファへの描画そのもの(例えばdrawImage()を呼び出す)をリフレッシュごとに
行う」ことがしたいんです。例えば「0」〜「59」と書いてあるだけのビットマップがあって、
それをちょうど1リフレッシュごとにバックバッファに書き込みたいと。

実際ネット上で
while(...) {
g = strategy.getDrawGraphics(); // バックバッファのコンテキストを取得
(gを用いて毎ループ違う内容を描画)
srategy.show(); // フリッピングはここにお任せ
try { sleep(...); } catch (...) {} // ここで再描画のタイミングを指定しているんだけど…
}
といったサンプルをいくつか見ました。

sleep()にリフレッシュレートを指定すれば一応はこちらの用件は満たしているのですが、
sleep()自体正確さに欠けるようですし、“ループの中でsleep()して待機”という原始的な
記述法よりもっとスマートな同期法が提供されていないのかを探しているのです。

VC&DirectXのPresent()メソッドみたいにフリッピングしたあと次のリフレッシュを
自動的に待機してくれる関数とか、先述のように毎リフレッシュ、フレームワーク側から
イベントコールバックが来るなどのしくみが最初からあればそうしたものを
使いたいわけです(どうもなさそうな気がしていますが…)。
930デフォルトの名無しさん:2006/01/28(土) 06:44:09
java.util.Timerかjavax.swing.Timerじゃだめ?
931695:2006/01/28(土) 10:32:02
あの、自分のパソコンでは起動するのに他人のパソコンで起動しない理由ってなんでしょうか?
JAVAのヴァージョンも同じでメモリも他人の方がおおいのに・・・?
932デフォルトの名無しさん:2006/01/28(土) 10:36:25
>>931
考えられることが多すぎる
シェルか、プロンプトで起動後のログを見ないと無理
933デフォルトの名無しさん:2006/01/28(土) 10:37:28
必要なライブラリが実行時のクラスパスに含まれてないとか。
934デフォルトの名無しさん:2006/01/28(土) 10:38:28
>>931
まずコマンドラインで起動してコンソールに出るメッセージ見てみたら
935695:2006/01/28(土) 11:21:36
http://mrj.fc2web.com/aaaaa.htm

長くて読みづらいけどソースおいときます
936デフォルトの名無しさん:2006/01/28(土) 11:25:17
精神的ブラクラ[超糞コード]
とでました。
937デフォルトの名無しさん:2006/01/28(土) 11:32:20
>>932
> プロンプトで起動後のログを見ないと無理

$マークから何が分かるというのか・・
938695:2006/01/28(土) 11:44:30
何か10行くらいの文字が出てバーーーーーーっと流れていきます。
なぜ?
939デフォルトの名無しさん:2006/01/28(土) 11:48:33
>>937
察してよ
っ「コマンド プロンプト」
940デフォルトの名無しさん:2006/01/28(土) 11:54:39
起動しない方のメッセージみろよ
941695:2006/01/28(土) 12:13:04
http://mrj.fc2web.com/aaaaa.JPG

起動しているほうはこう出ます。

起動していないほうは今使えません
942デフォルトの名無しさん:2006/01/28(土) 13:54:04
>>929
>「バックバッファへの描画そのもの(例えばdrawImage()を呼び出す)をリフレッシュごとに
>行う」ことがしたいんです。例えば「0」〜「59」と書いてあるだけのビットマップがあって、
>それをちょうど1リフレッシュごとにバックバッファに書き込みたいと。

普通にメインループで処理すればいいだけだろ
何を悩むのか理解に苦しむんだが
垂直同期を取っていれば定期処理は可能なわけで

sleepとページフリッピングをあわせることなど不要
943デフォルトの名無しさん:2006/01/28(土) 14:09:27
垂直同期とってフリップしてくれるのに
BufferStrategyカワイソス

DirectXさわってたのなら原理理解してると思うんだけどなぁ
944デフォルトの名無しさん:2006/01/28(土) 15:45:38
お前ら初心者を全然歓迎してないよな
945デフォルトの名無しさん:2006/01/28(土) 16:08:24
鴨呼び込むための常套句じゃまいか
946デフォルトの名無しさん:2006/01/28(土) 16:09:17
>944
初心者は歓迎かもしれないが、バカは歓迎しない。それだけだ。
947695:2006/01/28(土) 16:15:54
すいません、
誰も、わからないんですか?
948デフォルトの名無しさん:2006/01/28(土) 16:28:07
>947
はい、わかりません。
949デフォルトの名無しさん:2006/01/28(土) 16:31:02
>>947
おまえさんは何を解決したいんだ?
動かない方のマシンで動かしたいなら、そっちのメッセージが分からないと…
950デフォルトの名無しさん:2006/01/28(土) 17:40:19
650がバカだと言うことは、みんなわかります
951デフォルトの名無しさん:2006/01/28(土) 17:40:50
695だOrz...
952デフォルトの名無しさん:2006/01/28(土) 17:49:10
953695:2006/01/28(土) 17:52:49
http://mrj.fc2web.com/aaaaa2.JPG

動かないほうの画面持ってきました。
お願いします。
954デフォルトの名無しさん:2006/01/28(土) 17:59:12
>953
関係ないプログラムの動作結果持ってこられても分かるわけねぇだろクズ。
バカはいいかげん氏んだら?
955デフォルトの名無しさん:2006/01/28(土) 17:59:58
GTM9.javaの2330行目で使っている変数がnullだよ
チェックせい
956デフォルトの名無しさん:2006/01/28(土) 18:05:47
動いているほうのスナップショットでもエラーでてるしな
957695:2006/01/28(土) 18:10:42
public void paint(Graphics g) {
Graphics gbg;
if(backGrp == null)
backGrp = createImage(CANVAS_SIZE, CANVAS_SIZE);
gbg = backGrp.getGraphics();
gbg.drawImage(img, z, aa, this);
                     ・
                     ・
                     ・
                     ・

gbg.dispose();
g.drawImage(backGrp, getInsets().left, getInsets().top, this);
}
public void update(Graphics g) {
paint(g);
}
}


NULLをどうすれば良いのですか?
958デフォルトの名無しさん:2006/01/28(土) 18:12:35
ああそうなんだ
でもぬるぽは潰しておいた方がいいよ
しかし>>695のコードを見るにwhileループの中でswitch文で回している伊予柑
すなおにTimerとかなんで使わんのだ?
959695:2006/01/28(土) 18:15:13
>>958
なにぶん始めてのプログラミングでゲーム作ろうとした阿呆ですから
メインループを勉強する前に作り始めて明日までに発表しないとならないのです。

身勝手で悪いが俺の成績がかかってるので頼む。
960デフォルトの名無しさん:2006/01/28(土) 18:23:03
わからねぇっつってんだろ!引っ込め。
961デフォルトの名無しさん:2006/01/28(土) 18:23:21
じゃあ諦めろ
962デフォルトの名無しさん:2006/01/28(土) 18:24:41
コード長そうなんで片手間じゃ無理だが少し話を聞いてみるか
まずなにがどう動かないのか現象を説明してくれないか
そして>>695のコードをここに投げた理由を説明してくれ
どうしてそこが原因だと思った?
963695:2006/01/28(土) 18:26:20
>>960
わかんねぇっつうんならなんでこのスレ居るの?

NULLをどうするの?
助けてお兄ちゃん
964695:2006/01/28(土) 18:30:41
>>962

>>935が自分以外のPCで作動しない件について
>>941自分のPC画面
>>953他人のPC画面
    こうなる理由で
>>955がぬるがどうとかと言われたので
>>957で記述してある部分をさらしたわけです
965デフォルトの名無しさん:2006/01/28(土) 18:31:39
頭の悪い専門学校生相手する奴居るのか?
宿題スレにでも誘導しろよ
966デフォルトの名無しさん:2006/01/28(土) 18:33:14
さすがに専門でも高校でも中学でもこんなコード書くやつはいない
小学生だろ
967デフォルトの名無しさん:2006/01/28(土) 18:34:13
>965
宿題スレでもこんなバカ要らないのでごみ箱にでも捨てといてください
968デフォルトの名無しさん:2006/01/28(土) 18:39:21
あのさぁ友人に画像ファイルの方は渡してあるの?
969デフォルトの名無しさん:2006/01/28(土) 18:41:33
>>664
なるほど
俺は君のソースも見てないけどおそらく原因はイメージロード関係かな
かなりでかいのを読み込んでないか?
イメージはゲーム始まる前に読み込んで
ゲーム中の処理ではそれを使い回すようにした方がいい
あと読み込む時にはMediaTrackerを使って完全にロードが完了するまで
待つようにすること
まずはこの辺りを見直してごらん
970デフォルトの名無しさん:2006/01/28(土) 18:44:30
そろそろ泣きながら695が釣り宣言↓
971デフォルトの名無しさん:2006/01/28(土) 19:14:40
だから GTM9.java の 2330 行目の drawImage() に渡してる第一パラメータ (多分) が
null になってるんだってば。後の原因は自分で考えろ。
972デフォルトの名無しさん:2006/01/28(土) 19:16:47
しかしとんでもなく長い行数だな
973デフォルトの名無しさん:2006/01/28(土) 19:45:24
俺は 7000 行オーバーのソースを見たことがあるぞ。
あとメソッド 3 つなのに 5000 行オーバーしてるクラスとか。
974デフォルトの名無しさん:2006/01/28(土) 19:54:50
業務系だとVBあがりのコードがそうなってることが多い

変数使いまわしてるしそのせいで意味のないnull代入してるし
スコープ狭めればいらんだろ使いまわすな、というのが分からないらしい

Java開発でnull代入規約作ってるところはVBあがりを大量に雇ってると予想
975デフォルトの名無しさん:2006/01/28(土) 20:21:55
>>935
a0 = 0;
a1 = 0;
a2 = 0;

......

a100 = 0;


CでもJavaでもPerlでもVBでも色んな所で見ることのできるこれを、
「オレオレ配列」と呼びます
976デフォルトの名無しさん:2006/01/28(土) 21:40:05
JDBCなんですが、、、
import java.sql.*;
class DbTest{
public static void main(String[] args){
try{
Class.forName("com.mysql.jdbc.Driver");
String strConn="jdbc:mysql://localhost/jamyto"
+"?user=Mulder&password=TrustNo1"
+"&useUnicode=true&characterEncoding=sjis";

Connection conn=DriverManager.getConnection(strConn);

Statement stmt=conn.createStatement();

String strSql="SELECT*from person";

ResultSet rs=stmt.executeQuery(strSql);

977デフォルトの名無しさん:2006/01/28(土) 21:42:16
>>695,969
MediaTracker の使い方の一つ。
JPanel なのはキニスルナ

import java.awt.*;
public class LoadImageTest extends javax.swing.JPanel {
Image bgimage;

public LoadImageTest() {
MediaTracker tracker = new MediaTracker(this);
bgimage = Toolkit.getDefaultToolkit().getImage("image_test.jpg");
tracker.addImage(bgimage, 0);
try {
tracker.waitForAll();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(bgimage, 0, 0, Color.BLACK, this);
}
}
978デフォルトの名無しさん:2006/01/28(土) 21:45:13
while(rs.next()){
System.out.println(rs.getInt("id")+":"+rs.getString("name"));
}
rs.close();
stmt.close();
conn.close();
}
catch(SQLException e){
System.out.println("データベースのエラーです。");
System.out.println("エラーメッセージ:"+e.getMessage());
}
catch(Exception e){
e.printStackTrace();
}
}
}
これでAccess denied for user:'[email protected]'ってなっちゃいます。助けて
979976、978です:2006/01/28(土) 21:48:44
MySQL4.0.13
Jdk5
です。助けて〜〜
980デフォルトの名無しさん:2006/01/28(土) 21:53:29
>>979
SQLException かねぇ。
mysql ってDBアクセスツールは全く無いんだっけ?
あるなら、ちゃんとDBにつなげられるか試してみてください
981デフォルトの名無しさん:2006/01/28(土) 21:54:54
Access deniedってことは、Javaの問題じゃなくて
MySQLの設定の問題だろう
ユーザの権限調べてみたか
982976、978です:2006/01/28(土) 22:05:37
はい。一番上になってますroot。
983デフォルトの名無しさん:2006/01/28(土) 22:11:38
おい(爆)>>982
コードでは接続ユーザMulderパスワードTrustNo1になってるぞ
rootでつなげるなら、rootとrootのパスワードでためしてみ
つながるようなら単にMulder@localhostの権限が割り振られてないんだろう
984976、978です:2006/01/28(土) 22:16:04
>>983
??rootとrootのパスワードですか・・長いやつね。
985デフォルトの名無しさん:2006/01/28(土) 22:18:25
>>983
どちらかというと、Mulder@localhost でつながるように設定を調整したほうが・・・
# root なんて怖い病
986デフォルトの名無しさん:2006/01/28(土) 22:24:37
もはやJavaと何の関係もないわけだが
987デフォルトの名無しさん:2006/01/28(土) 22:26:02
>>983
rootっていってもOSアカウントじゃなく
MySQLの最初のシステムアカウントのことね
でもいわれることはその通り
もうJavaの話じゃないな
988デフォルトの名無しさん:2006/01/28(土) 22:28:02
とりあえず誘導しとくか

MySQL 総合 Part6
http://pc8.2ch.net/test/read.cgi/db/1133166614/
989980:2006/01/28(土) 22:42:27
進行が遅いけど、次スレ。

【初心者】Java質問・相談スレッド80【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1138455638/
990デフォルトの名無しさん:2006/01/28(土) 22:46:27
>>989
乙カレー
991976、978です:2006/01/28(土) 22:50:50
できた!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!やった!1!!
992デフォルトの名無しさん:2006/01/28(土) 23:05:17

 \_____________
   |  ||\_____/||
   |  ||  |      / ̄ ̄ ̄ ̄ ̄ ̄\
   |  ||∧=∧  < 上へ参りま〜す。 |
   |  ||(*゚ー゚)   ∧_∧   / ̄ ̄\
   |  || U |:っ  (・∀・ )<  埋めage ! |
   |  || /_/_|_ (    )  \__/
   |  || UU    |  |  |
 / ̄ ̄ ̄ ̄ ̄ ̄(__)_) ̄ ̄ ̄
993デフォルトの名無しさん:2006/01/29(日) 00:17:17
ume
994デフォルトの名無しさん:2006/01/29(日) 00:17:48
ume
995デフォルトの名無しさん:2006/01/29(日) 00:18:19
ume
996デフォルトの名無しさん:2006/01/29(日) 00:18:50
ume
997デフォルトの名無しさん:2006/01/29(日) 00:19:21
ume
998デフォルトの名無しさん:2006/01/29(日) 00:33:41
3
999デフォルトの名無しさん:2006/01/29(日) 00:35:16
2
1000デフォルトの名無しさん:2006/01/29(日) 00:36:00
1・・・・・・・・・・・・・・・・・・・












どかーーーん!!!パッ( ゚Д゚)イッテヨシ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。