トップページ⇒tech
1001コメント337KB

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

■ このスレッドは過去ログ倉庫に格納されています
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質問・相談スレ46【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1085129540/l50

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc2.2ch.net/hp/ */
0237235などNGNG
>>236
正直すまん


とは、思えない。



0238デフォルトの名無しさんNGNG
このスレタイはこのまま、クソ初心者とそれをいびる奴隔離のためのものにして、
(たまたま質問の体をなしてるやつはラッキーってことで)
一見全然関係なさそうなスレタイの、
「ゴスリングの作ったアレに関する質問スレ」とか「元Oak」とか「元々家電向け」とか用意して、
ちょっとでもマシな奴は >>1 をよく読むだろうからそこに誘導かけておく。
0239デフォルトの名無しさんNGNG
昔Unix板かソフトウェア板かにあったvi初心者スレは、
「vi」という一般にはなじみの薄い言葉のせいか、
スレタイトルの「初心者」という言葉のみが理解できた人々が、
viとはなんの関係もない質問をたびたび投稿していて見物だった。

このスレが「ネタ心者歓迎」というタイトルだったときは、
質問をしてもろくな回答が返ってこなかった初心者が、タイトルの「ネタ心者」に、ふと気がついて、
「(´・ω・`)ここ初心者歓迎ではないのか」と、しょんぼりして帰っていったのが印象的だった。
0240デフォルトの名無しさんNGNG
>>228
何が悪いのか分からないのが初心者
何が分からないのか分からないのが怠け者
0241デフォルトの名無しさんNGNG
>>239
そーいえば sun の generics のフォーラムで全然関係ない質問して叩かれた奴が、
「generics」なんだから一般的な質問をしても良いはずだ、とか逆ギレしてたな。
0242デフォルトの名無しさんNGNG
車だと 公道に出れるのが初心者
ここに来てうざがられてる奴には、まだ教習中とか、三輪車も乗れねーだろおめーって奴が多い
公道に出ててもうざがられる奴も普通にいるけどな
何でもかんでも何かに例えたがる俺とか
0243デフォルトの名無しさんNGNG
Windowsの方が良いのかもしれませんが、Javaがらみということで質問させてください。

WindowsNT4.0sp6aにIE6sp1の環境にJ2RE 1.4.2_04がインストールされていました。
Webアプリケーションの都合上1.3.1_10が必要になり1.4.2_04をアンインストール後
1.3.1_10をインストールしたのですが、目的のサイト(厚生労働省の電子申請です)
に行くと
ttp://hanyous.mhlw.go.jp/shinsei/crn/servlet/CRNTetsuzukiServlet?eventCd=EGov&tetsuzukiID=12416

Java(TM) Plug-in 1.4 致命的エラー
Java実行環境を <Default\bin\client\jvm.dll> からロードできませんでした。

というエラーが出て、どうにもならないような状況です。
java -versionではちゃんと1.3.1_10と出ます。
ブラウザはIE5.5sp2以降のみ、J2reのVerもほとんど決め打ちされています。
一時ファイルや履歴とか消したり、IE6アンインストールも試したのですが
どうにもなりません。どこかに設定が残っているのでしょうか?
0244デフォルトの名無しさんNGNG
SwingでGUI周りをいろいろ試していて,右クリックしたときにJPopupMenuで
右クリックメニューを出すようにしました。そこでなんですが,

UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel);
SwingUtilities.updateComponentTreeUI(this);

のようにLook&Feekを変更しますよね? このときなぜか右クリックメニューのL&Fだけは
かわらないんです。Metal→Windowsに変えても,右クリックすると依然としてMetalのL&Fで
メニューがでてきます。どなたかこうなる理由を教えていただけないでしょうか?

あとMetalって文字が日本語だと激しくにじんだようになって見にくくありませんか?
これを見やすくできないでしょうか?全部の部品に対してFont設定を一括操作するようなことをしたいのですが…。
0245デフォルトの名無しさんNGNG
>>243
>どこかに設定が残っているのでしょうか?
そりゃ残ってるんでしょうよ。残ってない、って言われたらどうする?
といって俺はクズだから助けてあげられない。すまんのう。
>>244
お作法的に行儀悪いかも分からないけど、俺は起動クラスでこんなことしてる。どっかで拾ってきた処理。
static {
java.util.List history = new LinkedList();
UIDefaults defaults = UIManager.getDefaults();
Enumeration it = defaults.keys();
while (it.hasMoreElements()) {
Object key = it.nextElement();
Object a = defaults.get(key);
if (a instanceof Font) {
if (history.contains(a)) continue;
Font font = new Font("MS ゴシック", Font.PLAIN, 12);
defaults.put(key, font);
history.add(font);
}
}
}
0246デフォルトの名無しさんNGNG
>>244
ついでにいうと、同じように起動クラスで setLookAndFeel やっちゃってる俺は、
君のような症状がおきない。(JPopupMenu はグレーのあのあんな感じになる。青にはならない)
アプリケーション全部一括で変わっちゃっていいなら、そうするとどうか。
0247ysNGNG
こんばんは、よろしくお願いします。
JPanel から継承したクラスをJFrameを継承しているクラスに貼り付けています
class Jp extends JPanel{
public JTextField t1;
Jp(){
t1 = new JTextField("kaka");
add(t1);
}
}
class Jf extends JFrame{
Jf(){
Container cp = getCotentPane();
jp = new Jp();
cp.add(jp);
//ここでシンボルを解決できません変数t1とでます  
System.out.println(jp.t1.getText());
//以下省略

普通のpublic 変数なら収得できるのにどうして、panelからならできないのでしょうか。
よろしくおねがいいたします。
0248デフォルトの名無しさんNGNG
>>247
>jp = new Jp();
ここでエラーにならないのが不思議
0249ysNGNG
class Jf extends JFrame{
private Jp jp;
Jf(){
Container cp = getCotentPane();
jp = new Jp();
----------------
すみません改行が多すぎとのエラーのため
削除してるときに、一緒に、変数宣言も消していました。
0250デフォルトの名無しさんNGNG
>>248
Jp.java:14: シンボルを解決できません。
シンボル: メソッド getCotentPane ()
場所 : Jf の クラス
Container cp = getCotentPane();
^
エラー 1 個

こう出たよ。
0251250NGNG
>>249ね
0252デフォルトの名無しさんNGNG
>普通のpublic 変数なら収得できるのにどうして、panelからならできないのでしょうか。
と思うなら、同様におかしくなるはずだと思われるミニマムなソースを別途作って、
エラーが起きなきゃ、じゃどうして元のソースで起こったか自分で分析、
起きて理由がわからなければソースをまるまる貼って質問、
としてもらえると >>248 が指摘、もっかい書き直し、というようなめんどくさいことにならない
>>250 も指摘してるようなことがあるとすれば、コピペも出来ないパソコン初心者なのかな?
0253デフォルトの名無しさんNGNG
危険な香りのするコードだが、ケアレスミスさえなければ問題なく参照できると思うが
0254250NGNG
getCotentPaneをgetContentPaneにしたら、
エラー消えますた。
0255ysNGNG
たびたび省略していて申し訳ありません
import java.awt.*;
import javax.swing.*;
>>251
0256デフォルトの名無しさんNGNG
>>254
自明
0257デフォルトの名無しさんNGNG
SDK1.4で作成したDOMを使用するクラスをVM1.3でDOMを使ってるんですが、

java.lang.NoClassDefFoundError: org/apache/crimson/tree/ElementNode2

がでます。
このElementNode2を含んでいるjarファイルって何かありますか?
0258ysNGNG
たくさんの書き込みがあり、自分の、ミスも見つけられず申し訳ありません。
まるまる、貼り付けます。
試してくださった方も申し訳ありません
そして、すごく初心者なので、作り方がむちゃくちゃです。
フレームのほうのクラス
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.util.*;

public class Simawari extends JFrame{
private Cpane cpane;
private JTextField t2;
public static void main(String args[]){
Simawari sima = new Simawari(30);
}
Simawari (int rowcount){
super("しまわり設定");
Container cp = getContentPane();
cp.setLayout(null);
cpane = new Cpane();
cpane.setBounds(10,10,520,60);
cpane.setLayout(null);
cp.add(cpane);
t2 = new JTextField();
t2.setBounds(10,100,25,25);
cp.add(t2);
JButton bt = new JButton("os");
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
0259ysNGNG
>>258つづきです。
ーーーーーここでrecolorを判別できません。−−−−−−−−
//Color coo=cpane.recolor;
//t2.setBackground(coo);
}
});
bt.setBounds(10,150,25,25);
cp.add(bt);


setSize(1000,700);
setVisible(true);
addWindowListener(new WinEnd());
}

public Insets getInsets(){
return new Insets(35,10,10,10);
}

class WinEnd extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}
0260ysNGNG
>>259つづきです
パネルのほうのクラス。
//カラーパネルの作成
//横カラー部分252縦52
//パネルのサイズ520,60
//グラフの内容を配列で、保存。マウスクリックで、数字収得、配列データを、
//スクロールバーに反映ラベルに反映テキストに反映
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class Cpane extends JPanel{
private int i22;
private JScrollBar bar1,bar2,bar3;
public Color recolor;
private JTextField t1;
private JLabel jl1,jl2,jl3;
private int hi[][][]=new int[53][253][3];//背景色を入れておく配列
private Rectangle rc;
Cpane(){
JLabel lab1 = new JLabel("red");
lab1.setBounds(265,0,20,20);
add(lab1);
JLabel lab2 = new JLabel("green");
lab2.setBounds(265,19,35,20);
add(lab2);
JLabel lab3 =new JLabel("blue");
lab3.setBounds(265,39,25,20);
add(lab3);
0261ysNGNG
>>260つづきです
bar1 = new JScrollBar(JScrollBar.HORIZONTAL,0,0,0,255);
bar2 = new JScrollBar(JScrollBar.HORIZONTAL,0,0,0,255);
bar3 = new JScrollBar(JScrollBar.HORIZONTAL,0,0,0,255);
bar1.setBounds(300,1,150,15);
bar2.setBounds(300,21,150,15);
bar3.setBounds(300,41,150,15);
bar1.addAdjustmentListener(new Sc());
bar2.addAdjustmentListener(new Sc());
bar3.addAdjustmentListener(new Sc());
add(bar1);
add(bar2);
add(bar3);
jl1 = new JLabel("0");
jl1.setBounds(455,1,50,15);
add(jl1);
jl2 = new JLabel("0");
jl2.setBounds(455,21,50,15);
add(jl2);
jl3 = new JLabel("0");
jl3.setBounds(455,41,50,15);
add(jl3);
t1 = new JTextField();
t1.setBounds(490,21,25,25);
add(t1);
addMouseListener(new Mc());
}
0262ysNGNG
>>261つづきです
public void paintComponent(Graphics g){
super.paintComponent(g);
//赤色
int i2=0;
int i3 = 0;
for (int i=255;i>=100;i=i-3){
i2 = 0;
for ( int ii = 3;ii<255;ii=ii+3){
hi[i3][i2][0]=i;
hi[i3][i2][1]=ii;
hi[i3][i2][2]=ii;
g.setColor(new Color(i,ii,ii));
g.fillRect(i2,i3,1,1);
i2++;
}
i3++;
}
//緑
i3 = 0;
int i22 = i2;
for ( int i=255;i>=100;i=i-3){
i2 = i22;
for ( int ii = 3;ii<255;ii=ii+3){
hi[i3][i2][0]=ii;
hi[i3][i2][1]=i;
hi[i3][i2][2]=ii;
g.setColor(new Color(ii,i,ii));
g.fillRect(i2,i3,1,1);
i2++;
}
0263ysNGNG
>>262つづきです。
i3++;
}//青
i3 =0;
i22 = i22+i22;
for ( int i = 255;i>=100;i=i-3){
i2=i22;
for ( int ii =3;ii<255;ii=ii+3){
hi[i3][i2][0]=ii;

hi[i3][i2][1]=ii;
hi[i3][i2][2]=i;
g.setColor(new Color(ii,ii,i));
g.fillRect(i2,i3,1,1);
i2++;
}
i3++;
}
rc = new Rectangle(0,0,i2-1,i3-1);
//System.out.println("tate"+i2+"yoko"+i3);
//g.dispose();
}
0264ysNGNG
>>263つづきです
class Sc implements AdjustmentListener{
public void adjustmentValueChanged(AdjustmentEvent e){
if(e.getAdjustable()==bar1){
jl1.setText(Integer.toString(bar1.getValue()));
}else if(e.getAdjustable()==bar2){
jl2.setText(Integer.toString(bar2.getValue()));
}else {
jl3.setText(Integer.toString(bar3.getValue()));
}
recolor = new Color(bar1.getValue(),bar2.getValue(),bar3.getValue());
t1.setBackground(recolor);
}
}
class Mc extends MouseAdapter{
public void mouseClicked(MouseEvent e){
int xx = e.getX();
int yy = e.getY();
if (rc.contains(xx,yy)){

bar1.setValue(hi[yy][xx][0]);
bar2.setValue(hi[yy][xx][1]);
bar3.setValue(hi[yy][xx][2]);
}
}
}
}
カラーパレットをもちまわりしようとしています
0265ysNGNG
>>264つづきです
長いと一度には無理なので、こうなりましたが、
書き込んでいる間に、これだけむちゃくちゃでは、
余計に分かりにくいですね。
私も普通にpublic なフィールドを、ほかから参照できることは、
確かめたのですが、このJPanelを継承している、クラスからは、
public なフィールドを参照できないのです。
だから、JPanelクラスは、そういうつくりになっているのかなと考えたのです。
でも、皆さんからの書き込みをよんでいると、
参照できるようですね。
もう少し、自分でも試して見ます。
いろいろありがとうございました。
0266デフォルトの名無しさんNGNG
>>265
無名クラスでググレ
で、該当部分と比べながら考えてみれ
0267デフォルトの名無しさんNGNG
アプレットで
setVisible(false);でコンポーネントを隠すと
キーリスナーでのイベント取得ができなくなりました。
アプレットにフォーカスが渡ってないからだと思うのですが
アプレット自身にフォーカスを戻すにはどうしたら良いの?
0268ysNGNG
いろいろとありがとうございました。
Cpane のインスタンスをもう一つ作り
Cpane cpane2 = cpane;
で、cpane2から、public フィールドを拾って解決いたしました。
私のたくさんの書き込みで、過去ログに言ってしまった質問者の方
もうしわけありませんでした。。
0269デフォルトの名無しさんNGNG
ページ開くと勝手に新しいウインドウができて、
指定したURLに飛ぶってのはどーすんだ?
0270デフォルトの名無しさんNGNG
>>269
Java Script。
0271267NGNG
public class G_was0 extends Applet implements Runnable, ActionListener, KeyListener, MouseListener{
Panel pn = new Panel();
TextField tx = new TextField(10);
Button bt = new Button("送信");
public void init(){
pn.add(tx, BorderLayout.CENTER);
pn.add(bt, BorderLayout.CENTER);
bt.addActionListener(this);
add(pn);
pn.setVisible(false);
この後でキーイベントが受け取れないです。
add(pn)をコメント化するとキーイベントが受け取れます。
マウスイベントは正常でした。
パネルにフォーカスが当っているみたいで、親アプレットに
フォーカスを戻したいのですがrequestFocus()じゃ駄目でした。
0272267NGNG
先程いろいろやって解決しました。ばいばい
0273デフォルトの名無しさんNGNG
次のソースを実行してみました。

class test003 {
public static void main (String args[]) {
System.out.println(123);
System.out.println('\\' + 100 + "もらった");
System.out.println("またあした");
}
}


出力結果は、
123
192もらった
またあした

・・・192ってなぜ・・・?
0274デフォルトの名無しさんNGNG
3次元配列のソートの良い方法教えてください。
0275デフォルトの名無しさんNGNG
>>273
順番に処理してみな
charと次のintを足しているだろ?
こういう計算できる物同士は計算される可能性がある

それがいやなら意識的に文字列にすべし

String.valueOfを使ってミソ
0276デフォルトの名無しさんNGNG
>>275
'\\' の部分を、"\\" に書きけるとうまく動きました。
別に文字だからってシングルクォーテーション使わないといけないって事ないのか・・・。

いや、java勉強し始めたばっかだから・・・
いきなり意味わからない難題だったよ。
ありがとう。
0277デフォルトの名無しさんNGNG
>>274
三次元配列なんか使いません。
0278デフォルトの名無しさんNGNG
>>274
三次元配列だからって特別特殊なソートなんて必要ないんじゃねーのか?
普通にソートすればいいじゃねーか。
0279デフォルトの名無しさんNGNG
>>274
どういうソートをしたいのか言え
0280デフォルトの名無しさんNGNG
>>279
クッキーアソートです。
0281デフォルトの名無しさんNGNG
コマンドプロンプトみたいに、標準出力のをどんどん取り込み表示し、
入力も同じくコマンドプロンプトみたいに入力できて、標準入力に渡すような
テキストエリア(?)はjavaで作れるのでしょうか?
入力用のTextFieldを設けたら似たものはできますが、
コマンドプロンプトみたいに入出力ができるものを作りたいのです、
どなたか助言をいただけないですか?
0282デフォルトの名無しさんNGNG
>281
そりゃあ、そういう挙動を作りこめば出来るだろうさ。
改行が入力されたら、そこまでをコマンドと解釈して、何か実行して、その結果を
それまでのTextFieldに追加するとか。
コマンドプロンプトにしても、Unixのシェルにしても、"そういう風に"作ったから
そう動くのであって、同じことをやればいいだけ。
0283244NGNG
>245
Fontの設定方法ありがとうごじます。L&Fのほうですが自己解決しました。
updateComponentTreeUIを読み出すときに、

SwingUtilities.updateComponentTreeUI(this);
SwingUtilities.updateComponentTreeUI(popupMenu);

のように一緒にJPopupMenuのインスタンスに対してもupdateをかけたらできました。
0284デフォルトの名無しさんNGNG
import java.io.*;

class test005 {
// キーボードから入力を受け数値に変換。数値として出力するテスト
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 + " を、入力したのか?");

}
}

このソース、コンパイルは通るけど実行時にエラーがでます・・・
なぜ・・・?
本の通りに作ってるのに・・・
0285デフォルトの名無しさんNGNG
エラーが出たらエラー内容ぐらい書け
0286デフォルトの名無しさんNGNG
>>285
これは失礼。

Exception in thread "main" java.lang.NoClassDefFoundError: test006

この一行を吐いて死にます。
0287284&286NGNG
>>285
ごめん、原因わかりました。
俺の早とちりでした・・・ ○| ̄|_
0288デフォルトの名無しさんNGNG
>>272や>>284や>>287のような投稿をこのスレから
一掃する手段はないものだろうか。
原因がわかったのなら、その原因くらい書けやボケが。

>>244
デモのSwingSet2のソースを検証すれば、さらに理解が深まるかも知れない。
ちと膨大だがSwingSet2.javaのあたり等。
0289284&286NGNG
>>288
いや・・・
原因は単純だった。

昨日からJAVAの勉強始めたんだけどね。
本見ながら、テストソース書いてる。
classの名前は、testXXXってな風に。

で、今回のソースは、test006だった。
でも、classの名前をtest005のままソースを書き換えてコンパイル。
コンパイルは通って、test005.classが生成。
実行しようと、 「java test006」
javaさん「んなファイルねーよ!」

生成されるclassファイルって、ファイル名が付くんじゃなく、
class名が付くんだね・・・。
初歩なんだろうけど、ひとつ発見したって事で・・・
すまん。 問題外の早とちりだった・・・ ○| ̄|_
0290デフォルトの名無しさんNGNG
>>289
>javaさん「んなファイルねーよ!」
いや、実は>>286のエラーはそんなファイルが無いと言っているのではなく、
「そんなクラス見付けられないそゴルァ」と怒っているのだな。

おなじことのように見えるが、>>14あたりとも関連してくる問題で、
初歩のうちに押えておきたい重要な箇所の一つ。
もしかしたらパッケージ等について学習するときに、
このあたりにつまづくことになるかもしれない。

まあ、そのときに理解することになるとおもうけどね。
0291デフォルトの名無しさんNGNG
プログラマって「自分の価値観がすべて」と思い込んでる節があるよな。
なんていうか、視野が狭いというか客観的に考察する能力が欠けてるんだよね。

自分ルールはやめようよ、はづかしいからw
0292デフォルトの名無しさんNGNG
質問に答えてもらえませんでしょうか?
windows 2000で
J2SE v 1.4.2_04 SDK、Windows Offline Installation, Multi-language
をインストールし、JAVAで
smartdoc-1.1.zipを解凍したいのです
http://www.xmlsmartdoc.org/download/index_ja.html
java -jar smartdoc-1.1.zipを実行しても

E:\tmp>java -jar smartdoc-1.0.zip
Exception in thread "main" java.io.IOException: このボリュームは認識可能なファイ
ル システムではありません。
必要なファイル システム ドライバがすべて読み込まれているか、ボリュームが壊れてい
ないか確認してください。
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
at setup.mkModel(setup.java:108)
at setup.main(setup.java:61)
上のようになるのですが、解決方法を教えてもらえませんか?
0293デフォルトの名無しさんNGNG
>>292
E:ドライブが何かわからんけど、
ファイルシステムの問題じゃない?
0294デフォルトの名無しさんNGNG
EドライブはHDDです
ファイルシステムの問題とはなんでしょうか?

J2SE v 1.4.2_04 SDK、Windows Offline Installation, Multi-language
を再ダウンロード→インストールしてもできませんでした
0295デフォルトの名無しさんNGNG
とりあえず、Cドライブでやってみるとか。
0296デフォルトの名無しさんNGNG
標準入力について質問です
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
上記のコードでユーザに文字を入力させようと思うんですけど
例えば入力中訂正したくなって「back spece」キーを押すと
^H^H ←といったような文字が表示されてしまいます。

ありがとうをいう文字を修正しようとすると
[ありがた^H^H^H^H]
となるんですけど、これはなんとかなるものなんでしょうか?
色々調べてみたんですが、修正に関する記述が見当たらなかったので
宣しくお願い致します
0297デフォルトの名無しさんNGNG
>>294
> ファイルシステムの問題とはなんでしょうか?
ネット越しの匿名質問では「ファイルシステムの問題でしょ」としか答えよーがない。
あんたの使ってるマシンの問題なんだから。

とりあえず、zip の windows.properties 弄って installbasedir を変更すれば?
0298デフォルトの名無しさんNGNG
>>296 
それってWindowsか?
Telnet越しで動かしてない?

まあ、キーイベントも逐一拾ってやらなきゃいけないのかな?
でもそんなはずないと思うが・・・普通のコンソールなら
0299デフォルトの名無しさんNGNG
>>297 そういう小難しい話じゃなくて、zipファイルを解凍
するのにjava -jarじゃ展開できんだろってだけだよ。
すなおにunzip使え。
0300デフォルトの名無しさんNGNG
>>296
たぶん Java 関係ない。学校の先生に聞いてね。
>>299
はいはいよいこはお外であそぼうね。
0301デフォルトの名無しさんNGNG
>>299
いや、それって単なる zip でなくて実は jar でインストーラになってんだが。
unzip でやるとインストーラ関連のゴミ(?)ファイルも出てくると思われ。
0302デフォルトの名無しさんNGNG
>>298
普通のコンソールってのが何をさすのかわからんが
ライブラリの関係だとか tty の設定だとかのせいで
^H と表示されちゃうことは別に珍しくもないけど。
0303デフォルトの名無しさんNGNG
>>299
unzipで出来ました。
どうもありがとうございます。
0304296NGNG
>>298
OSは Vine linux2.6 viエディタで実験してます
windowsもあるのでソチラで今試してみましたが
windowsでは全く問題なかったです
javaというよりも環境の問題だったんですね。。。

>>302
>ライブラリの関係だとか tty の設定だとかのせいで
うーむ。そういうものなんですね
ちょっと調べてきます
0305sageNGNG
>>302
Javaは高度に抽象化されていて、開発者は低レベルなことを意識しなくてすみますね。
便利な世の中になったものです。
0306デフォルトの名無しさんNGNG
JTableを使っていて、モデルのデータが変化したとき、
その変化をテーブルの表示に反映させるにはどうすればいいんですか?
ファイルの内容をテーブルに表示させているのですが、
新しくファイルを読み込んでもテーブルが更新されないのです。
repaint()かと思って試しても反映されませんでした。
0307デフォルトの名無しさんNGNG
JTableって操作に順番があったような気がしないでもない
動的に内容変化させているのであればなおさら
ソース見せれば解決するかも
0308デフォルトの名無しさんNGNG
実際にデータを更新しているところのコードのせてみな
0309デフォルトの名無しさんNGNG
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#modelchange
0310306NGNG
>>307-309
回答ありがとうございます。
さすがにソース丸投げするのは恐縮なので、まず>>309を読んで勉強してきます。
まだ途中までしか読んでませんが、どうやらイベント処理が必要みたいですね。
0311デフォルトの名無しさんNGNG
>>310
JTable は TableModelListener 実装してて、
TableModel が変更されたら感知するようになってると思うが。
(TableModel自作してて、変更してもイベント通知してなかったりすると意味無いが)

っつーか、強制的に repaint() してもダメだったら更新自体が失敗してる可能性のが高いような。
0312デフォルトの名無しさんNGNG
ageちったよ
0313デフォルトの名無しさんNGNG
AbstractTableModel あたりを継承して、中に util.List かなんか持っておいて、
中身が変わったら fire〜 すればいい ただそれだけ
JComboBox も JList も同じ
0314デフォルトの名無しさんNGNG
つーかDefaultTableModel継承してやってればリスナにかってにとんでいくはずだが
0315306NGNG
デキタ──────(゚∀゚)──────!!

>TableModel自作してて、変更してもイベント通知してなかったりすると意味無いが
まさにそのとおりだったみたいです。
いままでアプリケーションが持つデータを内部クラスのモデルが参照するという構造にしてたんですが、
モデル自体がデータを持つようにして、データ変更後すぐにfireTableDataChanged()を呼ぶようにしたら
うまく動きました。

みなさんどうもありがとうございました。
とても勉強になりました。
0316306NGNG
>>314
AbstractTableModelのほうを使ってたのです。
0317デフォルトの名無しさんNGNG
なにを使っていたのか書いてない時点でおかしいぞ>質問者
解決した後にこれ使ってましたじゃなぁ
0318デフォルトの名無しさんNGNG
JSPについての質問なのですがよろしくお願いします!

pageContext.forward("---.jsp");のようなページ遷移を、他のフレームに対して行うことはできるのでしょうか?

どうがんばってもpageContext.forwardの書いてあるjspのあるフレーム内しか遷移しません・・・
0319デフォルトの名無しさんNGNG
Javaで作ったプログラムを簡単に最適化してくれる
ようなツールはないでしょうか?

Optimizeit Suite 6.0 for Java というのは持っているのですが、
使い方がよく分からないもので・・・
0320デフォルトの名無しさんNGNG
HOTSPOTって何ですか?
0321デフォルトの名無しさんNGNG
豚に○○
0322デフォルトの名無しさんNGNG
>>318
他のフレームにリクエストを返すことは出来ない
なので、それはJavaScriptとかの階層でやらないといけない
0323デフォルトの名無しさんNGNG
一番の最適化はなぁ
勉強だ
0324デフォルトの名無しさんNGNG
>>323
ちがうよ、感動だよ。
0325デフォルトの名無しさんNGNG
JTree使ってアウトラインプロセッサを作りたいんですが
どんなクラスやメソッドを使えばいいか分からない・・・
ここだけ押さえとけば簡単なアウトラインプロセッサになるよって
ご存知の方、いらっしゃいますか?
0326デフォルトの名無しさんNGNG
ドラッグ&ドロップの勉強とセルレンダラの勉強すればいいだけかな
0327デフォルトの名無しさんNGNG
>>323
だね。 人のソース見たりすると、自分のソースのバカっぽさが身にしみる・・・
0328デフォルトの名無しさんNGNG
>>318 jspだけじゃなくてアプレットも併用すれば
AppletContext.showDocument(URL url, String target)
使って出来ないこともないけど、まあJavascriptの
ほうがなにかとらくそう。
0329デフォルトの名無しさんNGNG
ふー、バカばっかりだ。
0330デフォルトの名無しさんNGNG
Servlet、JSP、Beansを使ったMVC構想で、良いソース具体例が載ったお勧めページありませんか?
0331デフォルトの名無しさんNGNG
import java.awt.*;
import java.awt.event.*;
public class GraphicsC7 extends Frame{
public static void main(String ar[]){
Frame f=new GraphicsC7();
f.setTitle("Buttonのレイアウト(絶対位置指定)");
f.setSize(640,400);
f.setBackground(Color.cyan);
f.setVisible(true);
}
public GraphicsC7{
setLayout(null);
Botton b1=new Button("あ");
b1.setBounds(20,50,100,30);
add(b1);

addWindowListener(new WinAdapter());
}
class WinAdapter extends WindowAdapter{
public void windowClosing(WindowEvent we) {System.exit(0);}
}
}
0332デフォルトの名無しさんNGNG
エラーメッセージ
C:\JAVA>javac graphicsc7.java
graphicsc7.java:11: <identifier> がありません。
public GraphicsC7{
^
graphicsc7.java:19: ';' がありません。
class WinAdapter extends WindowAdapter{
^
エラー 2 個

エラーの意味がよくわかりません、よろしくお願いします。
0333デフォルトの名無しさんNGNG
>>332
× public GraphicsC7{
○ public class GraphicsC7{

これを直すと2個目はたぶん直る。
0334デフォルトの名無しさんNGNG
>>332
お前アフォか?
コンストラクタの定義の仕方を勉強しろw
0335デフォルトの名無しさんNGNG
>>331
>public GraphicsC7{
public GraphicsC7(){

>Botton b1=new Button("あ");
Button b1=new Button("あ");
0336331NGNG
何とか動きました。
ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています