【初心者】Java質問・相談スレッド55【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath
前スレッド
【初心者】Java質問・相談スレッド54【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1096548618/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
0577デフォルトの名無しさん
NGNG□□□ と表示されます。誰か直し方知ってましたら教えてください。
初心者なのでできればわかりやすくお願いします
0578デフォルトの名無しさん
NGNG日本でVAIOでも買って使え
0579デフォルトの名無しさん
NGNG具体的に何がくる?
転職の参考にするからオシエレ
0580デフォルトの名無しさん
NGNG死滅スレからの出張に手を出すのやめれ
0581579
NGNG0582デフォルトの名無しさん
NGNG信長
0583デフォルトの名無しさん
NGNGえ? 修復不可能?
0584デフォルトの名無しさん
NGNG>初心者なのでできればわかりやすくお願いします
0585デフォルトの名無しさん
NGNGまぁそういわれれば(笑)
質問スレなんだからいちいち初心者おちょくんなよ。
0586デフォルトの名無しさん
NGNGコンパネの「地域と言語のオプション」から日本語入れてもだめ?
0587デフォルトの名無しさん
NGNGclass Enshuu43{
public static void main(String[]args){
int a=1;
int b=2;
int c=3;
System.out.println("a+b+c="+a+b+c);
}
}
のプログラムを実行すると
表示がa+b+c=6
にならないのはなぜ?
0588デフォルトの名無しさん
NGNG"a+b+c="+a+b+c は ((("a+b+c="+a)+b)+c) と同じ。
0589587
NGNG即レス サンクス
0590デフォルトの名無しさん
NGNGどのようにすればいいのでしょうか?
「ボタンを押すとアプレットが再読込みされる」
というものを作りたいと思っています。
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG面白い題材だね。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNGAWTかSwingでアプリケーション作って(アプレットじゃあかんですよ)
それぞれで実行してみ。すぐ分かる。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNGただし、array は Hoge もしくはサブクラスの配列のインスタンスを持っている必要がある。
0599デフォルトの名無しさん
NGNGこのスレは初心者歓迎らしいので質問させていただきます。
あるホームページでExecutable Jar Fileとjavaバーチャルマシンというものを
ダウンロードしました。このマシンでファイルが実行できる(半導体材料の物性値,移動度の
キャリヤ濃度依存を様子がパラメータを変えつつ対数グラフで観察できる)のですが
このファイルに書かれている数式やプログラムが見たいときはどうすればいいのでしょうか。
メモ帳でみても漢字ばかりのものになってしまいます。
0600デフォルトの名無しさん
NGNGプログラム知らないなら見ても理解できないと思うが?
0601デフォルトの名無しさん
NGNG必ずできますが基本的に無理です
0602デフォルトの名無しさん
NGNGダウンロード元のホームページの作者に聞けよ。
0604デフォルトの名無しさん
NGNGそれがわかればigorで作れると思います。
0605デフォルトの名無しさん
NGNGだからお前さんにゃプログラムから数式を読みとることができねーだろって。
ここは初心者歓迎かもしれんが、ド素人はお断りだ。
0606デフォルトの名無しさん
NGNG何を言ってるんだよ。
プログラム読めば数式くらい読み取れるに決まってるだろ。
>>599は、あかでみっくな人と見た。
んなくだらない野次入れる前に質問に素直に答えたらどうだ?
分からないのなら分からないって素直に言えばいいだろ。
ここはお前さんのみじめな現実の憂さ晴らしをする為に
ストレス解消スレッドじゃないんだよ。
他人を中傷したいだけなら外のスレッドに行ってくれ。
0607デフォルトの名無しさん
NGNGjad や jode みたいなデコンパイラ使え。
デコンパイラの使い方やどこでダウンロードできるかは google 使って自分で探せ。
0608デフォルトの名無しさん
NGNGありがとうございます。調べてみます。
0609デフォルトの名無しさん
NGNG>>605は>>599がJavaを知らないから、数式を読みとれないと言いたいのでは?
0610デフォルトの名無しさん
NGNGなんでお前は教えてあげなかったの?
0611606
NGNG俺は天才だ。
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNGこのスレ気に入ったよ。
0614デフォルトの名無しさん
NGNGDJ java decompiler を使ってできました。ありがとうございました。
普通に数式わかりました。
0615デフォルトの名無しさん
NGNGJComponent > JTextComponent > JTextField > OriginalTextField
こういう継承でJTextComponentのgetPreferredSize()を取得するには
どのようにすればよいのでしょうか。
super.super.getPreferredSize();
という方法ではうまくいかないようです。
どなたかお教え下さい。
宜しくお願いいたします。
0616デフォルトの名無しさん
NGNGgetPreferredSize()は同じものなので、
普通にsuper.getPreferredSize()とするだけでいいです。
JAVAでは、スーパークラスより上を遡ってのメソッド呼び出しは
できません。
0617606
NGNG俺は天才だ。
0618デフォルトの名無しさん
NGNGやっぱりスーパークラスより上は無理なんですね。
JDK1.4ですがそれぞれ実装は違うんですよ。
一個上ではcolumnsの計算が追加されています。
(そこだけ変えようと考えていました)
とりあえず出来ないことが判ればOKです。
ありがとうございました。
0619デフォルトの名無しさん
NGNGcolumsの計算とはなんですか?
0620デフォルトの名無しさん
NGNG文字数でサイズを計算する処理です。
JTextFieldの計算だと、LookAndFeelのせいか、文字数より若干切れることが
あるので、自分で実装しようとしてました。
0621デフォルトの名無しさん
NGNGFontMetrics.stringWidth()か、
SwingUtilities.computeStringWidth()
あたりを使うんじゃあ?
0622デフォルトの名無しさん
NGNGそれは、もしかしてJTextFieldの先頭部分の文字が少し切れてしまう
(左側の部分が表示されない)という事ですか?
0623デフォルトの名無しさん
NGNG上下の矢印(スクロールバーの矢印のやつ)があってそれをおすと
隣のラベルかなんかの中の数字が増えたり減ったりするやつ作りたいんですが
あれはどうやればいいんですか?リストでやろうとしたけど選択されないからイベントが拾えなかったです
0624デフォルトの名無しさん
NGNGjavax.swing.JSpinnerを使いましょう。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/swing/1.4/spinner.html
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JSpinner.html
0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNGFormタグSubmitで作られたボタンを感知・Pushしたり出来る?
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGアプレットの話?
JavaScriptでイベントとらえられるなら
LiveConnectでアプレット側に伝えられる気がするけど
0629デフォルトの名無しさん
NGNG実行したらいいかわかりません。
助けてください・・・・ウィンドウズxpを使ってます。
0630デフォルトの名無しさん
NGNGアプレット上にGUIのボタンがあるとそっちにフォーカスが合ってしまい、
キーボードからの入力が受け付けられません。
ボタンにフォーカスが合わないようにする方法はあるのでしょうか?
0631デフォルトの名無しさん
NGNG本を買うことをお勧めします。
http://www.amazon.co.jp/exec/obidos/tg/browse/-/515820/ref=br_dp_b_1_lf/249-8880142-9850719
0632デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG┌― C
|
┌― B―┤
| |
| └― D
|
A―┤
|
| ┌― F
| |
└― E―┤
|
└― G
という木があったとします。
これを、前順走査法に近い形で、
A→B→C→A→B→D→A→E→F→A→E→G
という形で走査したいのですが
うまく走査する方法ありますでしょうか。(できれば再帰を使って・・・。)
クラスの形はcompsiteパターンに似た形で以下のようになってます。(次レス)
0635デフォルトの名無しさん
NGNG/** Nodeの子となる要素 */
List child_;
/** Nodeの一要素 */
Hoge bean_;
Tree( Hoge bean ){
bean_ = bean;
}
void addNode( Tree top, Tree tree ){
if( tree.getChild() != null ){
/* topから走査し、bean_の中をみて木のどこにいれるか判定 */
Iterator it = top.getChild().iterator();
while( it.hasNext() ){
Tree node = (Tree)it.next();
if( node.getBean().get().equals(tree.getBean().get()) ){
node.addChild( tree );
}// これを木の最下層まで・・
}
}else{
tree.addChild( tree );
}
}
}
続く・・
0636デフォルトの名無しさん
NGNGreturn child_;
}
Hoge getBean(){
return bean_;
}
void addChild( Tree tree ){
if( child_ == null ){
child_ = new ArrayList();
}
chiild_.add( tree );
}
}
ここまで。
で以下のように使用
class Test{
void public static void main( String[] args ){
Tree top = new Tree(null);
Hoge bean1 = new Hoge();
bean1.set("A");
Tree node1 = new Tree( bean1 );
top.addNode( node );
Hoge bean2 = new Hoge();
bean2.set("B");
Tree node2 = new Tree( bean2 );
top.addNode( node2 );
}
0637r
NGNGaddNodeの引数は幾つだ。
Nodeって何だ。TreeがNodeなのか?
0638r
NGNGtree.getChild() が null のとき、
tree に tree 自身を addChildするのはなんで?
0639634
NGNG木のクラスです。
addNodeの引数は2つでした。
class Testの以下を訂正します。
誤:addNode( node );
正:addNode( root, node );
0640634
NGNG// これを木の最下層まで・・
の1行上
誤:node.addChild( tree );
正:node.addNode( top, tree );
ですた。
0641634
NGNGまたまた修正。。
>638でおっしゃられてる部分。
tree.addChildではなく、
単に
addChildです。
誤:tree.addChild(tree);
正:addChild(tree);
0642634
NGNGvoid addNode( Tree top, Tree tree ){
if( tree.getChild() != null ){
/* topから走査し、bean_の中をみて木のどこにいれるか判定 */
Iterator it = top.getChild().iterator();
while( it.hasNext() ){
Tree node = (Tree)it.next();
if( node.getBean().get().equals(tree.getBean().get()) ){
node.addNode( top, tree );
}// これを木の最下層まで・・
}
}else{
addChild( tree );
}
}
0643デフォルトの名無しさん
NGNG0644634
NGNG画面とは関係のないところなので、どうでしょう。。
swing使ったこと無いのでなんともいえないのですが
何か楽なことがあるのでしょうか。
0645デフォルトの名無しさん
NGNGA→B→C→A→B→D→A→E→F→A→E→G
と、一度読んだノードを再度読むのは何故ですか?
0646デフォルトの名無しさん
NGNGすでにかれたコードなので自分で実装するよりバグが少ないだろうし安心感がある
といいたいところだが、再発明好きなら自分で実装するのもいいだろうね
実際のところ>>645のいうとおり、そういう変なアクセスの仕方はあまりしないのだけれども
0647デフォルトの名無しさん
NGNGテストするときに画面に出力して確実なチェックが入れれる
とか?
0648634
NGNG業務的な仕様です・・。
>646-647
木構造自体はもう>634のコードでできているようなので
今回はJTreeは見送ります。また今度機会があったら調べてみます。
0649デフォルトの名無しさん
NGNG初心者で申し訳ないんだけど、JAVA Plug-in 1.4.2 ってのを使ってて、
コンパネには言語と環境という設定は見当たらないです。
不便に感じるのはゲームは日本語見れない時くらいなんだけど、
日本語化のやり方知ってたら教えてください。
0650r
NGNG俺がお手本の、完璧なTreeを書いてやろうと思っていたんだが
全然できなかった。
なので、とりあえず、
1. Treeに、次のようなコードを加える
void scan( Scanner scanner ) {
scanner.action( this );
for( Iterator it = list_.iterator(); it.hasNext() && scanner.isAlive(); )
((Node)it.next()).scan( scanner );
}
2. Treeに、リーフなのかどうかがわかるようなisLeafを追加する
3. 抽象クラス Scanner をつくる
abstract public class Scanner {
boolean isAlive = true;
abstract public void action( Tree tree );
}
4. Scannerを半端に実装する
public class XXXXScanner extends Scanner {
private HashSet set = new HashSet();
public void action( Tree tree ) {
if( tree.isLeaf() ) {
if( ! set.isContain(tree) ) {
leaf.add( tree );
realAction( tree );
alive = false;
}
else
realAction( tree );
}
abstract protected action( Tree tree );
}
0651デフォルトの名無しさん
NGNGというだけで使うメリットあるだろうて
ルートからのパスも問題なく取得できるしな
0652r
NGNGコンパイルして試さないと、なんか変なコードになってしまっている。
全くコンパイル通る気配もないような。
まあ、何となく意図はわかったろ。
要は
1.Treeの全ノードを訪れるようなScannerをつくる、
2. それのサブクラスXXXXScannerは既に訪れたLeafには働きかけないようにする。
3. scanが終わったら、同じXXXXScannerを使って再scanする。
4. 全Leafを走査するまで、3を繰り返す
(つまり、XXXXScannerに、全Leafを走査したかどうかを調べる機能も必要だな)
0653r
NGNGA-B-C
A-B-D
A-B-E-F
A-B-F-G
って言う順番になっちゃうな。
ええっと、どういう順番に走査してるんだ?
そのルールを教えてくれ
>>634
0654デフォルトの名無しさん
NGNG下記のメソッドで、A→B→C→A→B→D→A→E→F→A→E→G
の順で走査(ここではbeanの中身をprintlnで表示する)する事になる。。。
void searchNode(Tree tree, List ancesList) {
List childList=tree.getChild();
if(childList==null) {
for(int i=0; i<ancesList.size(); ++i) {
Tree obj=ancesList.get(i);
System.out.println(obj.getBead());
}
} else {
List crtAncesList=new ArrayList(ancesList);
crtAncesList.add(tree);
for(int i=0; i<childList.size(); ++i) {
Tree obj=childList.get(i);
searchNode(obj, crtAncesList);
}
}
}
0655r
NGNG1. Leafに到達するまで走査する(ただし、何のアクションもしない)
2. Leafに到達したら、ルートノードまで、逆順にたどる
このとき、たどったノードを全部記録する
3. 記憶されたノードに、順に操作を適用する。
こんな風にしたいのか。そかそか。
0657634
NGNG>654
二つ目の引数のListには何を渡すのですか?
>655
そうです。そんな感じ。
>656
結局JTreeになりますか。。もう木構造自体は出来ているので
これをJTreeに書き直すのは時間がかかりそう。。
0658デフォルトの名無しさん
NGNG最初の呼び出しは、
searchNode(top, new ArrayList());
で。
0659634
NGNGおお!やっとわかった!!
そういうことですか!
うわすげぇな。こんなのぱっとかけちゃうもんなのか。。
みなさんありがとうです。
0660デフォルトの名無しさん
NGNGApache 2.0.52+Tomcat 5.0.28にてJSPに挑戦しています。
下記のエラーが出て困っております。
例外
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
スタックトレースは以下省略
原因
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
スタックトレースは以下省略
過去ログにありそうなものでしたので、探したのですが見つけられませんでした。
開発環境と運用環境を別に用意していまして、
運用環境では実行できるのですが開発環境で上記のようになります。
JAVA_HOME、CLASSPATHなどが怪しそうですが
運用環境ではその二つはなにも設定していないのに動作しています。
開発環境でなぜ動かないのかわかりません。
見落としている設定項目等思い当たることがありましたらご教授願います。
0661デフォルトの名無しさん
NGNGtools.jarにクラスパスとおしてね。javacの本体はその中に入ってるから。
もしくはJAVA_HOMEがJDKを指してれば自動的に探してくれると思うよ。
0662デフォルトの名無しさん
NGNG戻り値となる定数もDOWNがつくかつかないかで数は一緒のようですし。
0663デフォルトの名無しさん
NGNGgetModifiersEx()はJava1.4から。
getModifiers()は互換性を守るために残されてるんじゃないかな
1.4以上がターゲットならEx使えば良いかと
0665デフォルトの名無しさん
NGNGどうもありがとう。
JavaDocのInputEventの最初の方になんか書いてありましたね。
まあExのほうを使えば大丈夫なんですね。
0666660
NGNG即レスありがとうございます。
ご指摘の通り、環境変数でtools.jarにCLASSPATHを通しましたが治りませんでした。
しかしtools.jarをMonitor Tomcatのダイアログで設定できる
CLASSPATHにtools.jarへのパスを追加したら治りました。
なぜ動かなかったのか原因不明ですが解決しました。
ありがとうございました。
0668デフォルトの名無しさん
NGNGJTreeなんて1日で理解できるし
すべてのツリーのパス取得とかもさくっとできる
なにより標準APIなので後から追う場合(特に業務なら他人が見ることも多いだろうから)わかりやすい
デメリットはあんまないな
0669デフォルトの名無しさん
NGNG「木構造」を扱うってだけの理由で使うのはアレだと思われ。
0670デフォルトの名無しさん
NGNG俺も初心者だけど・・・
JAVA Plug-in 1.4.2?JREのこと?
日本語入力できてるんだから、MS-IME入ってるんだよね?
「地域と言語のオプション」あると思うんだけどなあ。
そこにUnicode対応でないプログラムに使用する言語が設定できるから
そこを日本語にしてみてほしい。
あとはわかんないや。
0671デフォルトの名無しさん
NGNGほとんどの部分はJTreeそのものではないのでさほど問題にならない
TreeNodeとかTreePathとかな
モデルとビューが分離してるからこそ使いやすいというか
0672デフォルトの名無しさん
NGNG見つけられなかったんだろうと思いますが、
こちらにTomcatについてのドキュメントの日本語版があります。ぜひ読んで下さい。
ttp://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/
「セットアップ」:ここに、環境変数JAVA_HOMEをセットせよ、とある。
ttp://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/setup.html
「クラスローダ」:ここに、Tomcatの起動スクリプトは環境変数CLASSPATHを無視する、とある。
http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/class-loader-howto.html
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGただのつっこみです。
0675デフォルトの名無しさん
NGNGtry{
なんかの処理
}catch(-----Exception e){
System.out.println(place + "で" + e + "が投げられました");
}
みたいなのをやりたいんですが、place(場所を保持している)みたいなのを
実現するにはどのような方法がありますでしょうか?
探してみたんですが、ピンポイントの情報が見つかりませんでした。
どなたか教えてください。よろしくおねがいします。
0676デフォルトの名無しさん
NGNGclass X{
final public static int[] A = {0, 1, 2};
}
しかし、これって順番変えようと思えば変えられるんですね。
確実に変えられないようにするアイデアありますか。
■ このスレッドは過去ログ倉庫に格納されています