初心者歓迎! Java相談室 その7
■ このスレッドは過去ログ倉庫に格納されています
0001がばろん@Mたんちゅきちゅき
NGNG/●\
( /\ ) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,゚Д゚) < 私は、じゃばこ ですが、何か?
./ | \_____________
(___/
/
>>2 過去スレの一覧
>>3 Javaの基礎と、よくある質問 (初心者はここをチェック!)
>>4 Java関連スレいろいろ(統合開発環境・サーバサイド・その他)
>>5 Javaを撲滅させたい方、死滅を心配してる方、Cとの違いを知りたい方はこちらへ
>>2-10 諸般の事情により、リンクがずれた場合。
/* JavaScriptの質問はWeb製作板へどうぞ。*/
+ JavaScript の質問用スレッド vol.9 +
http://pc.2ch.net/test/read.cgi/hp/1017668857/l50
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGすげえ!と思うには、先立って理解する事が必要だからな。
0177デフォルトの名無しさん
NGNG先立って
ってなんてよんでる。
おれはせんだってだけど
たまにさきだってっていうひとがいるから。
どっちがただしいの?
0178デフォルトの名無しさん
NGNGそれより
println
て、なんて読んでる?(or呼んでる?)
俺はちなみに プリントリン
(最後の"リ"は小さぁ〜く呟くように発音する)
0179デフォルトの名無しさん
NGNGすごいなあ・・・。
こんなかわいいこがいるなんて・・・。
有名なの?
0180デフォルトの名無しさん
NGNGそれはプリントラインっていうべきだとおもう
0181デフォルトの名無しさん
NGNG構造化スタイルでガシガシいっちゃってます、逝ってよしでしょうか
どういうタイミングでインターフェイスとか使うのか理解できません
0182デフォルトの名無しさん
NGNGでも、インターフェイスの用途わからんとか、継承使わんとか
言ってる奴は 構造化もオブジェクト指向も中途半端の可能性高い。
0183デフォルトの名無しさん
NGNG→さきだって(あらかじめ)
→せんだって(以前)
0184デフォルトの名無しさん
NGNG0185
NGNG本売ってるよ。
0186デフォルトの名無しさん
NGNG複数人で作業するときの作業の切り分けに使うとか…
設定一つでファイルを使うかデータベースを使うか切り替えたいときとか…
他にもたくさんあるけど、今簡単に説明できるのはこれくらいしか
思いつかん。
0187デフォルトの名無しさん
NGNGを装着したんだけど、まったくイベントを拾ってくれません。
JLabelとかJCheckBoxとかの場合はしっかり機能している。
試しに、パネルにJComboBoxとJLabelとJCheckBoxを並べて、カーソルが
それぞれのコンポーネント上にきたらイベントを起こすというのを
やったんだけど、コンボボックスだけ無反応。なぜなんでしょう?
あと、もうひとつJComboBoxがらみなんだけど、addItemでJLabelを
アイテムとして追加したんだけど(myCombo.addItem(new JLabel("aaa")))、
表示されません。なぜ??
0188デフォルトの名無しさん
NGNG国産のEPP
ttp://staff.aist.go.jp/y-ichisugi/epp/j-index.html
0189デフォルトの名無しさん
NGNGインタフェースの利用方法を知らずにJava歴2.3年の奴が俺の周りにもいるんだが、
インタフェースや継承の利用方法が判らないといつまでたっても初心者のままだと思う。
デザインパターンの勉強でもしてみたら?
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGJETというのがある。無料お試し版でも使ってみれば?
俺は、JET ver2.0無料版を使ったことあるが
それで、コンパイルしたアプリはものによっては
動いたり動かなかったりで(対応してる機能とそうでない機能があるみたい)
「まあ、こんなもんか」
と、おもたが今はver2.5らしいので
改善されていると思う
作ったアプリを配布できるのが最低でも5万円前後かな
買ったら(無料版でもいい)、使い心地をリファしてください
0192デフォルトの名無しさん
NGNG昔のスレ見てたら以下のような例題があった(もちろん俺が作った例題ではない)
あんたならどうする?
---------------------------------------------------------------------
Red Yellow Blue の3つの状態がある信号機型と 信号機クラスを作成し
isStop というメソッドを定義せよ isStopは Red 又は Yellowの時に真を返す
Next というメソッドを定義せよ 帰り値は信号機型であり次の状態を返せ
---------------------------------------------------------------------
文章の内容等は無視してくれ。
これが仕様だということで(w
0194デフォルトの名無しさん
NGNGあまりにも例題がアホくさいと思うんだが・・・
0195192
NGNGけどね、下のような回答した人がいるんだよ。
class Signal { // 信号機クラス
int state ; // 信号機の状態を管理
// 0:青信号
// 1:黄信号
// 2:赤信号
public boolean isStop() { // 信号機がドライバーに停止を促しているか?
if (state == 1 || state == 2) {
return true; // 黄信号または赤信号の時
} else {
return false; // 青信号の時
}
}
public void Next() { // 信号機の状態を次の状態へ遷移させる
if (state == 2) {
state = 0;
} else {
state++;
}
}
}
継承やインタフェースとか知らない人ならやりそうだよね。
もっといい例題があればいいんだけど・・・
0196デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGもしそれが試験問題なら
「ステートパターンを用いて」って一言入れとかないとな。
抗議や練習問題だったら195をたたき台として
「じゃあ、右折信号を追加してみましょう。」とかいって
信号機の状態を追加変更できるように誘導していくのが
いいんじゃないか?
0199デフォルトの名無しさん
NGNGWindowsでJNIの使い方勉強してんだけど、
1. C++で書いたHelloWorld.exe実行
2. JNI使ってVM呼び出して、
3. HelloWorld.java実行 (HelloWorld.jar中)
3. さらにJNIでnaitve methodを呼び出し
4. HelloWorld.dll実行
5. 戻って戻って
6. 終了
一応、動くけどHelloWorld.jarをjre/lib/extに入れないで、
別のとこに置いとくと、2の過程のFindClassでクラスが見つからない。
exeを使わず、コマンドラインでjava HelloWorldだと3以降は動く。
散々調べまわったら、何となくSecurityがらみのような気がして、
java.policyのデフォルトにjava.security.AllPermissionを入れたけど、
やっぱだめ。
たのむ!
0200デフォルトの名無しさん
NGNG状況、Win2kでJBuilder6で製作したアプリ(アップレット)を起動しようとすると、
日本語の部分が「ロロロロロ」となってしまう症状です。
で、色々調べて見たんですけど、何故かロケールが英語だとJavaが認識するようなんです。
-Duser.region=jp -Duser.language=jaや、各国のフォントのプロパティーファイルを
全部日本語のフォントプロパティ-で上書きしたりしてみたのですが、
状況は変わりませんでした。
Win2kのコンロトールパネル見る限り、ロケールの設定は日本語なってるのですが、
ちなみに、JBulder6を起動しても、日本語部分が「ロロロロロロ」になって、
メニューは英語表示なります。
でも、同じマシンで別のユーザアカウントで、JBulder6を起動すると、
問題無く全部日本で表示されます。勿論問題のJavaアップレットも
結局どっかのレジストリーの値を見て、Javaが英語環境だと誤認してるだけだと
思うんですけど、何方か情報無いですか?
0201デフォルトの名無しさん
NGNGJDK1_1InitArgsのclasspathでHelloWorld.jar指定してる?
0202201
NGNG0203デフォルトの名無しさん
NGNGレス サンクス
書き忘れましたが、1.3.1_02使ってるので、仰る通りJavaVMInitArgsです。
-Djava.class.path=.;HelloWorld.jar;W:\JNI\HelloWorld.jar
とか色々やってみましたが、挙動は同じです。
よくわかりませんが、java.library.pathにも同じように指定してみてもダメです。
HelloWorld.jarだけでなく、付属のクラス 例えば rt.jarに含まれるjava.io.File
とかも同じようにFindClassで失敗します。java.lang.Stringは、成功します。
(もちろん、rt.jarをjava.class.pathに指定しましたが)
ややこしいので、javaからnative method呼び出すのをやめても変わりません。
お助けぼ・
0204デフォルトの名無しさん
NGNGjava.io.Fileは成功します。rt.jarとi18n.jarは大丈夫みたい。
jaws.jarにあるクラスはFindClassで失敗します。
なんでなんだー(TOT)
0205デフォルトの名無しさん
NGNGSecurityManager全然関係有りませんでした。
やっぱり、JavaVMInitArgsのjava.class.pathがちゃんと設定された無かった。
大チョンボでした。レスしてくれてありがと。
java.io.FileがFindClassで失敗するというのは、半分は本当でした。
FindClass("XXX")
FindClass("java/io/File")
でXXXのFindClassが失敗すると、それ以降だと失敗してました。
0206デフォルトの名無しさん
NGNG最近携帯を変えたいと思っているのですが
javaで自作自演できる携帯ってどこのやつですかね?
もしくは皆さんはどこの携帯でやってますか?
docomo?j−phone?
たとえば自分とこのホームページにうpして
携帯からダウンロードできるという感じで
使いたいのですが・
0207187
NGNGたぶんJComboBoxにマウス系のリスナーを装備するのって
稀だと思うんだけど、できるはずですよね?
JLabelをJComboBoxの項目とすることも、あまりないと
思うけど、これだってできるはずですよね?
誰か教えてくれー。
0208デフォルトの名無しさん
NGNG全然意味わかんないんですが。。。
0209デフォルトの名無しさん
NGNGインターフェースだけ決めておいて中身はあとでいろいろ入れ替えたい
場合っはいっぱいあるってことさ。
0210デフォルトの名無しさん
NGNGそれはわかるけど
> 複数人で作業するときの作業の切り分けに使うとか…
なぜ開発者の人数の問題が真っ先に出てくるのか
0211デフォルトの名無しさん
NGNGクリップボード経由によるテキスト以外のデータを
やりとりできますか?
0212デフォルトの名無しさん
NGNGできます。
0213211
NGNG0214デフォルトの名無しさん
NGNG読み込み中に入出力例外が発生しました。」と表示され実行されません。
超初心者ですみません。教えてください。
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG回答ありがとうございます。今、javaを研修で習っていて自宅でやって
みたらそういうメッセージが出るんです。自分のPCでファイルコンパイル
して⇒アプレット実行・・そんな感じでやっていて出ないんですよ。
PCの設定かなんか変えないといけないんですか?
0217デフォルトの名無しさん
NGNGDnDについて、チュートリアルか本を嫁。
0218デフォルトの名無しさん
NGNG表示させることってできる?
0219デフォルトの名無しさん
NGNGJ2SE 1.4使ってるなら
javac -target 1.1 Foo.java
とかでコンパイルしないとIE上では動かないよ。
0220デフォルトの名無しさん
NGNG入れてもだいじょうぶですよね?っていうか入れました。
XPならではの不具合とかないですよね?
0221デフォルトの名無しさん
NGNGNextの 「帰り値は信号機型であり次の状態を返せ」は、どこへ行っちゃったんだろう?
0222デフォルトの名無しさん
NGNG次の状態を返してはいないな
0223デフォルトの名無しさん
NGNG実際に確認取ってないけど、JComboBoxの場合、
JComboBoxの上に表示用と編集用のコンポーネントが乗ってるんで、
それにリスナを追加してやればいいんだと思うよ。
で、追加するアイテムはJLabelじゃなくてStringにするべし。
ただし、どっちも確認してないんで間違ってたらゴメン。
0224デフォルトの名無しさん
NGNGVisual BASICみたいに。
0225192
NGNG確かにこの仕様だけだとそうだね。
信号機の状態が増えた場合はどうするか?とか
黄信号の場合には点滅させたいとかの機能追加があった場合は
どうする?とかってのを入れれば良かったかも。
継承とかインタフェースを使えないってことは仕様変更等に
弱いでしょということの例として上げたかったんだが・・・
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG作れません。
それをやりたかったらC#を使うことになります。
0228192
NGNGインタフェースの使い方として参考になるかも。
public interface IState {
public boolean isStop();
public void next(IContext context);
public Color getColor();
}
public interface IContext {
public void setState(IState state);
}
public class RedState implements IState {
public RedState() { }
public boolean isStop(){ return true; }
public Color getColor() { return Color.red; }
public void next(IContext context) { context.setState(new BlueState()); }
}
public class BlueState implements IState {
public BlueState() { }
public boolean isStop(){ return false; }
public Color getColor() { return Color.blue; }
public void next(IContext context) { context.setState(new YellowState()); }
}
public class YellowState implements IState {
public YellowState() { }
public boolean isStop(){ return true; }
public Color getColor() { return Color.yellow; }
public void next(IContext context) { context.setState(new RedState()); }
}
0229192
NGNGpublic class Signal implements IContext {
private IState _state;
public Signal(IState state){ _state = state; }
public boolean isStop(){ return _state.isStop(); }
public Color getColor(){ return _state.getColor(); }
public IState next(){
_state.next(this);
return _state;
}
public void setState(IState state){ _state = state; }
public static void main(String[] arg){
Signal signal = new Signal(new RedState());
System.out.println("----------------");
for(int i=0; i<10; i++){
System.out.println("color:" + signal.getColor());
System.out.println("isStop:" + signal.isStop());
IState state = signal.next();
System.out.println("Next State:" + state.getColor());
System.out.println("----------------");
}
}
}
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGすべての未来は決まっているのです
0232デフォルトの名無しさん
NGNG0233232
NGNGますますわからなくなった。。
0234デフォルトの名無しさん
NGNG発生してしまいます。FAQを見たところ
�@配列自身がnewされていない。
�A配列の要素がnewされていない。
の2つが考えられるそうですが、配列自身をnewしたあと
要素をnewするとシンボルを解釈処理できませんという
コンパイルエラーがでてしまいます。ソースは
CMyThread a[] = new CMyThread[5];
for(i = 0; i < 5; i++)
a[i] = new CMyThread(i);
レベルの低い質問ですいません。
0235デフォルトの名無しさん
NGNGどういうコンテキストでコンテキストと言っているのかな?
0236デフォルトの名無しさん
NGNGCMyThread[] a =
じゃなきゃいけなかったっけ?
0237234
NGNGどっちの表記も見かけたので
どちらでもOKなようです。
0238デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG宣言の[]はどこでも良い。
>>234
CMyThreadとやらにintを引数にとるコンストラクタあるか?
0241234
NGNGレスありがとうございます。CMyThreadは
class CMyThread extends Thread {
public void run();
public void CMyThread(int a);
public int interval;
private int counter = 0;
}
のような構造です。
0243デフォルトの名無しさん
NGNG0244234
NGNGありますので異常はないと思います。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGawtのToolkit.getDefaultToolkit().getFontList()
を使ったところ、’推奨できません’の警告がでてしまいます。
fontリストを読み込むには、何かほかのメソッドを使うのでしょうか?
v1.4.0betaをlinux上で、使用してます。
どなたか、この初心者めにご教授を.....
0247デフォルトの名無しさん
NGNGそれはわかったから、
CMyThread.classが、ちゃんとクラスパスかカレントから見える場所にあるか?
0248デフォルトの名無しさん
NGNG次の状態が決まっていることはstateパターンと関係ないのでは?
0249デフォルトの名無しさん
NGNGAPIドキュメント嫁って。ちゃんと書いてあっから。
0250デフォルトの名無しさん
NGNGappletviewerを他のウィンドウで隠してしまうと、隠れた部分の線が消えてしまいます。
何がいけないのでしょうか?
0252デフォルトの名無しさん
NGNG隠れた部分が再表示される度にdrawLine()が自動的にコールされるようにしとか
なきゃ、そりゃ消えるにきまっとるがな。
Component#paint(Graphics g)とか、JComponent#paintComponent(Graphics g)
とか、分かるか?
0253デフォルトの名無しさん
NGNG>Component#paint(Graphics g)とか、JComponent#paintComponent(Graphics g)
わかりません。
それはさておき、直感的にfillRect()とdrawLine()が同じようなメソッドなのでdrawLine()で書いたラインが消えるならfillRect()で埋めた■も消えると思ったのですが・・・
0254234
NGNGString hoge[] = new String [4];
hoge[0] = "C#";
hoge[1] = "ha";
hoge[3] = "kuso.";
for(int i = 0; i < 4; i++)
System.out.print(hoge[i] + " ");
のように、「何も代入していない状態で参照するからエラーが
でるんだ」というようなエラー例ばかり載せてあるのですが、
この場合、コンストラクタを直接呼び出して(a[0].CMyThread(i)
のように)もNullPointerExceptionが発生します。
>>247
上記の場合、コンパイルエラーが出なかったので見えています。
0255初心
NGNGエラーが出てしまう。
Exception in thread "main" java.lang.NoClassDefFoundError: Hello←クラス名
これどういうエラーがわかる人いませんかー。
0256デフォルトの名無しさん
NGNGクラスパスが通ってないので通しなさい。
>>234
CMyThreadの、
public void CMyThread(int a);
この定義がおかしいんだがわかっている?
>>254を読むとコンストラクタをちゃんと理解していないように
見えるのだが。
0257234
NGNG理解が足りないのはそうかもしれません。
C++っぽく略して書きました。実体はこうです。
class CMyThread extends Thread {
public void run() {
try {
while (counter++ < 10) {
Thread.sleep(interval);
System.out.print("x");
}
}
catch (InterruptedException ex) {
ex.printStackTrace();
}
}
public void CMyThread(int a)
{
interval = a;
}
public int interval;
private int counter = 0;
}
0259初心
NGNGありがとう!
0260デフォルトの名無しさん
NGNG0261JAVA勉強中(3日目)
NGNG練習でアプレットをブラウザで実行するためにHTMLで
呼び出したんですが、not foundといって表示して
くんないです・・・。
アプレット自体は文字列を表示するだけの単純なモノで
入門書に書いてたソースをそのまんまつかったものなんすが・・・
HTMLファイルとクラスファイルを同じフォルダに置いて
<applet CODE="***.class"WIDTH="400" HEIGHT="500">
という上の記述(***はファイル名)をして呼び出そうとしたんですが、
表示されません。
ナニが原因かわからんので、よろしければアドバイスをお願いします〜。(T_T)
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGフォルダを作る度にそのフォルダへのCLASSPATHを追加していってます。
(winの環境設定で)
結果、フォルダの数だけCLASSPATHが増えて、今ではえらい事になってます。
一応問題なく動いてはいるのですが、こんな使い方で問題ないのでしょうか?
0264デフォルトの名無しさん
NGNGインナースレッドは便利。
クラスパスってライブラリへのパスだけでいいのでは?
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGわからん。ガンバレ!
0267デフォルトの名無しさん
NGNG0268262
NGNG0269263
NGNG>クラスパスってライブラリへのパスだけでいいのでは?
有難う御座います。
そうなんですか?
同じフォルダ内の別のクラスファイルを参照する場合、上手く行かないと思うのですが。
・・・ちなみに今ひとつパスを消したら、
そのフォルダの中のプログラムが実行できなくなる・・・と思ったら何事もありませんでした。
あるいはコンパイルできなくなる・・・これも思い過ごしでした。
ん〜、何でこんなことするようになったんだろう。自分でも不明 (w
度重なるエラーに対応していくうちに、今のやり方になったのですが、
まだ理解が足らないようでした。
すいません。
0270デフォルトの名無しさん
NGNGちょっとまて。同じフォルダ内の別のクラスファイルを参照するのに、
クラスパスが複数必要???違うぞ。
フォルダにクラスパスが通っていれば、そのフォルダをルートとする
classファイルは、全てシステムClassloaderの参照対象になるぞ。
root/hoge/hige/Hage.class(hoge.hige.Hageクラス)
root/hoge/hige/Huge.class(hoge.hige.Hugeクラス)
root/Hege.class(デフォルトパッケージHegeクラス)
があったら、rootにクラスパスが通っていればHageもHugeもHegeも
全部取り込み対象に出来る。
0271263
NGNG有難う御座います。
今実験したら、確かに仰るとおりでした!
と言う事は、恐らく以前の私のエラーは
パスを通してないフォルダをrootにして、
そこに新たなフォルダを作成してたのが原因だったような気がします。
しかし、この問題以前に不思議なことがあるのですが、
参照可能なフォルダが同時に複数存在するということは、
同じ名前のClassファイルがあった場合は、
何らかの規則に基いて優先順序を決めているわけなのでしょうか?
手元にある本にはそんなことはどこにも書いてない・・・
明日図書館にでも行ってきます。
0272デフォルトの名無しさん
NGNG同一のクラス名を同一のパッケージ内に置くのは禁止。
つうか、コンパイルした時にclassファイルが上書きされるだろ。
0273デフォルトの名無しさん
NGNG取り出さないと駄目なんでしょうか?
よろしくお願いします.
0274デフォルトの名無しさん
NGNGもしかして、.jarにする前はちゃんと動いていたプログラムが
.jarにすると正しく動かなくなったってやつかい?
俺も経験あるよ。
ClassクラスのgetResource()見てみ
■ このスレッドは過去ログ倉庫に格納されています