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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
JAVA初心者の方はこちらのスレで質問をしましょう。そして誰か教えてあげてください。

なお、ソースを貼るときには、半角空白が消える仕様のため、タブ1つを全角空白2つに
置換してから投稿しましょう。わからないときはどこがどうわからないのか?、動かな
いときはどこがどう動かないのか?なぜそう判断したのか、エラーメッセージや結果な
どと一緒にお書き下さい。雑誌や宿題などの疑問を質問するときは出展を明記したほう
が解決が早いです。

関連情報は >>2-10 あたりにあります。 (一部 dat落ちやHTML化待ち)


JavaScriptの質問はWeb製作板へどうぞ。
web制作管理
http://pc.2ch.net/hp/

パソコンの基本操作に関しては、PC初心者板や、各OS板などで質問しましょう。
パソコン初心者@2ch掲示板
http://pc.2ch.net/pcqa/

上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/


基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
http://pc.2ch.net/tech/kako/1026/10266/1026601774.html
0159デフォルトの名無しさんNGNG
>>158
インスタンスに配列使えるよ。ってかやってみろよ。
0160デフォルトの名無しさんNGNG
Color col[];
col=new Color[99];
for (int a1=1;a1<100;a1++) {
Color col[a1][a2]=new Color(0,0,a1);
}
こうやったのですが無理でした
0161デフォルトの名無しさんNGNG
ここのストリーム動画って落とせますか?
http://svc.ana.co.jp/travelnavi/beijing/mv/index.html
0162デフォルトの名無しさんNGNG
>>160
そもそも初歩的に間違っているのでは?
0163デフォルトの名無しさんNGNG
>>162
それは分かってますが、調べても見つからなかったんです。
どこをどうしたらいいか教えてもらえませんか?
0164デフォルトの名無しさんNGNG
>>160
> col=new Color[99];
> for (int a1=1;a1<100;a1++) {
問1:「new Color[99]」で生成した配列の添字の範囲は?
a. 1〜99
b. 0〜99
c. 0〜98

> Color col[a1][a2]=new Color(0,0,a1);
問2:「int x;」で宣言された変数xに、値123を代入する手続きはどれ?
a. x = 123;
b. int x = 123;
c. int x[a2] = 123;
0165160NGNG
>>164
問1 c
問2 a
0166デフォルトの名無しさんNGNG
javaを入力できる環境にするにはJ2SEいうのを
淫すとーるするらしいけど、
ヴァージョンとかあるの?
あるなら一番あたらしいのを入れたいと思われ。
0167デフォルトの名無しさんNGNG
>>165
ネタだと思うが、わかってんなら直せやヴォケ
0168160NGNG
Color col[];
col=new Color[99];
for (int a1=0;a1<99;a1++) {
col[a1][a2]=new Color(0,0,a1);
}
すみません、こうでしたね。
私が困ってるのは3行目の Color(0,0,a1) というコンストラクタを書くとエラーが出て困ってます。
コンストラクタじゃだめなんですか?
0169初心者ANGNG
見た感じ2次元配列になってないような気がするけど
これは私が初心者だから?
0170デフォルトの名無しさんNGNG
>>169
Color col[];
col=new Color[99];
for (int a1=0;a1<99;a1++) {
col[a1]=new Color(0,0,a1);
}
すみません、こうでしたね。
0171デフォルトの名無しさんNGNG
>>166
Javaを入力の仕方をおしえだたい
http://java.sun.com/j2se/
0172初心者ANGNG
>170
実際にやってみたけど何もエラーにならなかったけど・・・
エラーメッセージはなんて出るの?
0173デフォルトの名無しさんNGNG
>>172
成功しました。かなりぼけてました。ありがとうございました。
0174デフォルトの名無しさんNGNG
>>144
ありがとう、助かりました
0175デフォルトの名無しさんNGNG
>>168
> 私が困ってるのは3行目の 

> for (int a1=0;a1<99;a1++) {
0176デフォルトの名無しさんNGNG
>>173
そもそも初歩的に間違っていたのでは?
0177デフォルトの名無しさんNGNG
import com.nttdocomo.ui.*;

public class LabelDemo extends IApplication{
public void start(){
Panel panel=new Panel();
for(int i=1;i<=2;i++){
//テキスト表示位置左
Label leftLabel=new Label ("左寄せ",Label.LEFT);
leftLabel.setSize(96,15);
//テキスト表示位置中央
Label centerLabel=new Label("中央寄せ",Label.CENTER);
centerLabel.setSize(96,15);
//テキスト表示位置右
Label rightLabel=new Label("右寄せ");
rightLabel.setSize(96,15);
rightLabel.setAlignment(Label.RIGHT);
}

panel.add(leftLabel);
panel.add(centerLabel);
panel.add(rightLabel);

Display.setCurrent(panel);
}
}
どうすればいいんですか?
0178デフォルトの名無しさんNGNG
>>177
何したいんですか?
0179デフォルトの名無しさんNGNG
>>178
見ればわかるじゃん。
0180おれ馬鹿だからNGNG
>>179 じゃ説明して
0181デフォルトの名無しさんNGNG
IApplicationって、「interface Application」じゃなくて
「i-Application」なのか。。
0182デフォルトの名無しさんNGNG
>>181
i-mode Applicationだと思われ。

それを縮めてiAppli
0183デフォルトの名無しさんNGNG
>>177
panel.add(...)がループから外れてるよーに見えるが、
それでコンパイルできるのかしら
0184デフォルトの名無しさんNGNG
>>177
つーか、そもそも何でforループしてんの?
0185デフォルトの名無しさんNGNG
>>184
forはループのための命令です。
0186デフォルトの名無しさんNGNG
185 :デフォルトの名無しさん :02/09/10 11:03
>>184
forはループのための命令です。
0187デフォルトの名無しさんNGNG
こういうかんじか。

for (int i = 1; i <= 2; i++) {
  String message = ">>184 forはループのための命令です。";
}
System.out.println (message);
0188デフォルトの名無しさんNGNG
>>170
亀レスだけど array.length 使えよ…。
0189java厨NGNG
すみません、
JNI使って
アプレットからWindowsAPI使える方法を教えてください。
セキュリティの設定で解決できそうだと思うのですが〜
具体的には
java.security.AccessControlException:access denied〜
が発生しないで実行できるようになればと・・・
0190デフォルトの名無しさんNGNG
>>189 このへんに目を通せる方法があるぞ↓
http://java-house.jp/ml/topics/topics.html#security
0191デフォルトの名無しさんNGNG
インターネットオプションのプロキシの設定とか取ってくる方法はありますか?
0192デフォルトの名無しさんNGNG
タブで別れている数値データファイルがあるとき配列への読み込み方ってどうやったらいいんですか?
例えば
1 1 2 4
1 1 5 1
というファイルがあったとき2次元配列に読み込みたいのですが・・・
簡単な質問ですいません.
0193デフォルトの名無しさんNGNG
>192
やろうとしていることは「簡単」ではないのだが、
質問の仕方が厨房。
何がわからないのかもっと絞れ。

とりあえず、
java.io.BufferedReader.readLine()
java.util.StringTokenizer
java.lang.Integer.parseInt()
あたりを理解して出直してこい。
java.util.Vector もあった方がいいかな。
0194デフォルトの名無しさんNGNG
javaインストールしたけど
ファイルがいっぱいあってわからん。
どうすりゃいいの?

0195発破NGNG
HTMLやXMLを記述することをプログラミングといわないの
は何故ですか!?
0196デフォルトの名無しさんNGNG
HTMLやXMLはデータ記述言語で、
プログラミング言語でないから。
0197デフォルトの名無しさんNGNG
>>196
XMLに関しては反論が出そうな予感。
0198発破NGNG
なんでプログラミングじゃないんですか??
0199デフォルトの名無しさんNGNG
>>194
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/tools.html
0200デフォルトの名無しさんNGNG
>>198
プログラミングって何(何をすること)ですか?
0201デフォルトの名無しさんNGNG
>>198
データはプログラムじゃないから。
0202デフォルトの名無しさんNGNG
>>201
フォンノイマン型コンピュータはプログラムもデータとして扱われます。
0203デフォルトの名無しさんNGNG
>>195 >>198
スレタイも読めんのかヴォケ。スレ違いだ、逝って吉。
0204デフォルトの名無しさんNGNG
>>202
違う。
データとプログラムの区別なくメモリに展開されるだけ。
0205デフォルトの名無しさんNGNG
>>202
やっぱり出たか。その場合も
「プログラムはデータ」であって、
「データはプログラム」ではない。
0206デフォルトの名無しさんNGNG
FQはHTMLをプログラミング言語だと言ってのけます。
0207発破NGNG
読めなかった!!!!!!!
0208デフォルトの名無しさんNGNG
メールボムってどこで入手すんの?
0209発破NGNG
難しくて何言ってんのかわかんない・・・・
0210デフォルトの名無しさんNGNG
もしかして

発破=860

??????
0211発破NGNG
860って何??
0212デフォルトの名無しさんNGNG
なんかhtmlは繰り返し(forとかwhileとか)がないから
プログラム言語ではない。みたいなことをみたことがあります。
0213デフォルトの名無しさんNGNG
xsltはプログラミング言語?
0214デフォルトの名無しさんNGNG
SQLもプログラミング言語とは呼びたくない。
0215デフォルトの名無しさんNGNG
>>211
数字
0216デフォルトの名無しさんNGNG
>>212
HTMLは言語の一種ではあるが「プログラム」ではないから
プログラミング言語ではない。
純粋なSQLもそれ単独ではプログラムにならないので
プログラミング言語ではない。
(SQLPlusやTransact-SQLはプログラム言語)
0217デフォルトの名無しさんNGNG
>>212
>>216

そんなことに結論をみいだしたところで、なにもプログラムは組めないぞ。
試験でもやるのなら別だけど・・・。
0218デフォルトの名無しさんNGNG
でもHTMLをプログラミング言語だと本気で思っていたらかなり恥ずかしい。
0219java厨NGNG
>>190

判りました。
どうもです。
0220161NGNG
こういう質問はダメだったんですか?
0221デフォルトの名無しさんNGNG
>>220 = >>161
Javaとどういう関係が?
0222デフォルトの名無しさんNGNG
>>212
HTMLはHyperTextMarkupLanguage。
その名の通り文書を整形したりするだけの限られたSGMLアプリ。
0223デフォルトの名無しさんNGNG
JPopupMenuはマウスリリースイベントで使う者なんだけど、
これってミギクリックしか対応しないの?
左クリックで出したいのですが・・・
0224デフォルトの名無しさんNGNG
リソースバンドルってのを使って拡張子がpropertiesのテキストファイルから
値をとりだすようにしたんだけど、日本語が入ってると文字化けしちゃいました。
で、ネットで調べてみたらnative2asciiをつかって変換しなくちゃならない
ってのがわかり、文字化けは解決しました。

しかしそこでふと思いました。
そもそもテキストファイルに切り出すようにしたのは値を変更したいときに
ソース書き換えてコンパイルし直すのが面倒だからでした。
それなのに、native2asciiでいちいち変換しなくちゃならないんじゃ
コンパイルし直すのと大差なくてやっぱり面倒くさいです。

結局じぶんでファイル(形式はシフトJIS!とか決めてしまって)を読み出すのを
作り込むしかないんでしょうか。
0225デフォルトの名無しさんNGNG
>>224
エディタに細工するとか、こういう↓特製のエディタ使うとか
http://home2.highway.ne.jp/mutoh/tools/ResourceEditor/
0226デフォルトの名無しさんNGNG
>>224
文字コード変換を行うFilterInputStreamのサブクラスを作成する。
0227デフォルトの名無しさんNGNG
Javaについての素朴な質問です。
現在JLabelへアイコンを貼り付ける作業をしているのですが
条件によってアイコンを切り替えたいとおもいます。
そこで質問なんですが、切り替えする場合、
そのJLabelにもともとはってあるIconImageを無視してそのまま
setIcon()で新しいIconImageに切り替えてもいいんでしょうか?
そうするともともとのIconImageはガーページされるんでしょうか?
よろしくおねがいします
0228デフォルトの名無しさんNGNG
実行するプログラムの引数が、コンソールプログラムだったらStringクラスですよね。
で、このときファイルパスとか分かるわけないのにどうしてプログラムは目的のファイルがきちんと分かるのでしょう?
ただ単に実行しているプログラムのあるディレクトリを探索して合致するのを持ってきているだけですか?
0229デフォルトの名無しさんNGNG
>>227
ゴミ収集の事をゴミとは言わない
×ガーページ
○ガーベッジコレクション
0230デフォルトの名無しさんNGNG
ファイルの記載内容をいじって同じファイルに上書きするプログラムを作っているんですが、BufferedReaderで読んでいるときにBufferedWriterで書き出すことができないので困っています。
一時ファイルをつくってそのファイルの内容をコピーしようにも、コピーするようなメソッドはFileクラスには見当たらないですし・・・
0231デフォルトの名無しさんNGNG
>>230
一時ファイルに出力して正常終了できたら
元ファイル→バックアップファイル
一時ファイル→元ファイルと同じファイル名
にリネームするようにすれ。
異常終了した場合元のファイルが無傷ですむ。
0232デフォルトの名無しさんNGNG
>>227
-------------------------------------------------------------
import javax.swing.*; import java.awt.*; import java.io.*;
public class IconWatcher implements Icon {
  final Icon icon;
  public IconWatcher (Icon icon) { this.icon = icon; }
  public int getIconHeight () { return icon.getIconHeight (); }
  public int getIconWidth () { return icon.getIconWidth (); }
  public void paintIcon (Component c, Graphics g, int x, int y) { icon.paintIcon (c, g, x, y); }
  protected void finalize () throws Throwable { System.err.println ("finalized: "+ this); }
  public static void main (String[] args) throws Exception {
    JLabel label = new JLabel ();
    label.setIcon (new IconWatcher (new javax.swing.plaf.metal.MetalCheckBoxIcon ()));
    label.setIcon (new javax.swing.plaf.metal.MetalComboBoxIcon ());
    System.gc ();
    System.out.print ("enter ->");
    BufferedReader d = new BufferedReader (new InputStreamReader (System.in));
    d.readLine ();
  }
}
-------------------------------------------------------------
finalized: IconWatcher@786e64
enter ->
-------------------------------------------------------------
0233デフォルトの名無しさんNGNG
研究でJava言語でプログラムを書かなければならないのですが、
プログラムを書くのにオススメなエディタなどあれば教えて頂けないでしょうか?
ちなみに現在はMKEditorを使っています。
タブエディタなので複数のソースを編集するのには便利ですが、
もっといいものがあるのではないかと思って探してみたんですが、
コレというものが見つからないので・・・
0234デフォルトの名無しさんNGNG
俺はxyzzy+JavaTinyConsoleを使ってるが、
諸般の事情により素人にはおすすめできない
0235デフォルトの名無しさんNGNG
ところで、Java言語ってゆーひとたちは
COBOL言語、Pascal言語、C++言語、 BASIC言語とか言ったりするのだろうか?
0236デフォルトの名無しさんNGNG
>>235
言う。
0237227NGNG
>>232
ファイナライズ使えば確認できることをしらなかったです。
ありがとうござます
0238デフォルトの名無しさんNGNG
>>235 「言語」つけるとなんかアホっぽいな(w
0239デフォルトの名無しさんNGNG
「Pascal言語」「C++言語」はアリだろう。
「COBOL言語」はムリ。
「BASIC言語」は微妙。
0240デフォルトの名無しさんNGNG
C#言語
0241デフォルトの名無しさんNGNG
「Pascal言語」も微妙じゃない?
「〜言語」の「〜」の部分が長いのは「言語」をつけずに言うと思う。
0242デフォルトの名無しさんNGNG
JTableで質問があります。
JTable.getModel()でTableModelを得ようと思うのですが

DefaultTableModel usermodel;
JTable usertable();
・
・
・
usermodel=(DefaultTableModel)usertable.getModel();

上記の内容でコンパイルすると
「推奨されないAPIを仕様またはオーバーライドしています」
と警告されてしまいます。問題なく動くのですがちと不安です・・・。
回避できる良い方法は無いのでしょうか?
0243デフォルトの名無しさんNGNG
>234
xyzzyって機能がすごい一杯ついてますね。
たしかに便利そうなのですが、
素人なのでこんなに機能がテンコ盛りのソフトは使いこなせない・・・
コマタ・・・
0244デフォルトの名無しさんNGNG
>>242
JTable の getModel() は deprecated じゃないから、
>「推奨されないAPIを仕様またはオーバーライドしています」
ってのは別の箇所だと思うけど。
0245デフォルトの名無しさんNGNG
ところで、 Java で
> JTable usertable();
って出来たっけか?
0246デフォルトの名無しさんNGNG
>>241 COBOLは何々language、BASICは何々codeだけど、PascalはPascal。。
0247デフォルトの名無しさんNGNG
>>245 できん
0248デフォルトの名無しさんNGNG
JFileChooserクラスのsetFileFilterメソッドについて質問があります。

JFileChooseを使用してファイルダイアログを表示するさい
特定の拡張子だけを選択できるようにするためにFileFilterを使用しています。
FileFilterのクラスはdemoにあるExampleFileFilterクラスを利用しています。

ここで”特定の拡張子”だけを表示させたいのですが
ファイルダイアログのファイルタイプを見ると”全てのファイル”が選択できてしまう為
”特定の拡張子”だけ見えるファイルダイアログを表示させる事ができません。

ファイルタイプを見ると”全てのファイル”を選択できないようにする方法はないでしょうか?
0249デフォルトの名無しさんNGNG
>>248
日本語が狂ってないか?

>ファイルタイプを見ると”全てのファイル”を選択できないようにする方法はないでしょうか?

ファイルタイプのコンボボックスを開いても”全てのファイル”を選択できない、
という状態にする方法はないでしょうか?

ってこと?
0250デフォルトの名無しさんNGNG
いや、
「ファイルタイプを<見ても>”全てのファイル”を選択できないようにする」
の方がいいか
0251デフォルトの名無しさんNGNG
>>248
たぶんこれ↓でしょ。「setFileFilterメソッドについて」と決め付けたのが敗因。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JFileChooser.html
setAcceptAllFileFilterUsed
public void setAcceptAllFileFilterUsed(boolean b)
AcceptAll FileFilter を選択可能フィルタのリストで有効な選択肢として
使用するかどうかを決定します。false の場合、AcceptAll ファイルフィルタは
使用可能なファイルフィルタのリストから削除されます。true の場合、AcceptAll
ファイルフィルタは実際に使用されるファイルフィルタになります。
0252248NGNG
>249
確かに日本語めちゃめちゃでした。すいません。さらっと読み返した程度でバグに気づきませんでした^^;

正しくは
>250
が、お聞きしたかった質問内容でした。

>251
setAcceptAllFileFilterUsed(false);
でうまくいきました!
ありがとうございました。
0253デフォルトの名無しさんNGNG
抽象的な質問で申し訳ないんですが・・・。

バイトコードが一つあって、それの実行中に設計外の他のクラスを読ませる・・・例えば
本体があって、プラグインとなるコードを用意して本体の実行中に指定すれば、
新しい関数が使える!(もちろん引数と返り値はあわせておく)、みたいなことは
Javaで可能なのでしょうか?
0254困り中NGNG
JavaアプリケーションにWindowsからファイルをDnDできる事はわかったんだけど
Javaアップレットでも同じ事って出来るの?
俺様ただいまアップレットにファイルをDnDしようとすると
(IEがイベント拾ってるのか?)ファイルを開こうとしる
IEのダイアログが出てしまって困り中。
0255デフォルトの名無しさんNGNG
>>253 ClassLoader
0256デフォルトの名無しさんNGNG
>>253
ClassLoader#forName("class-name").newInstance()
Bean#instantiate(class-loader, "bean-name")
0257デフォルトの名無しさんNGNG
>>255-256
ありがとうございます。勉強してみます!
0258デフォルトの名無しさんNGNG
String s = "123"と
String s = new String("123")はどう違うんですか?
■ このスレッドは過去ログ倉庫に格納されています