【初心者】Java質問 ..
209:デフォルトの名無しさん
08/08/16 14:15:28
>>203
まず、Javaでは原則として既存のクラスやインターフェースに手を加えることはできない。
該当のクラスがfinalでなければ、サブクラスを作ってそこでimplementsする手はある。
該当のクラスがfinalであれば、自作のクラスでラップするしかない。
210:デフォルトの名無しさん
08/08/16 16:38:08
Listのキャストはエレメントを個別にキャストするしかありませんか?
211:デフォルトの名無しさん
08/08/16 16:38:53
generics 使えば?
212:デフォルトの名無しさん
08/08/16 16:47:37
どうするんですか?
(List<MyClass>)list
のようなキャストが失敗します。
213:デフォルトの名無しさん
08/08/16 16:54:48
自作したインタフェイスを使ってライブラリ作ってんるんですけど、
そこに他人が作ったクラスも参加させるのはどうするんでしょうか?
とういことなんですけど、これだけじゃ何言ってるかわからないと思いませんか。
214:デフォルトの名無しさん
08/08/16 16:57:22
>>213
共有ライブラリとかプラグインとかリフレクションの世界のことかと思った。
215:デフォルトの名無しさん
08/08/16 18:33:05
class MyBig extends BigDecimal {
MyBig(String v){super(v);}
public MyBig abs(){return this;}
}
BigDecima.abs()をオーバライドしたいのですが、1.4以前ではどうやるんでしょうか。
negate()と同じく、メソッド名に意味があるので名前を変更できないので何かよい方法はないでしょうか?
216:デフォルトの名無しさん
08/08/16 18:54:57
eclipse の JDT を使ってみようと思ってるんですが,eclipse 上で,
import org.eclipse.jdt.core.dom.*;
などど打っても org.eclipse が見つかりませんというエラーが出てしまいます.
どうすれば解決できますか?
217:デフォルトの名無しさん
08/08/16 19:09:49
>>215
1.4 だと covariant return typeが使えないから public BigDecimal abs()で我慢。
もしくはextends BigDecimalを諦める。
218:デフォルトの名無しさん
08/08/16 19:43:52
finalで参照型変数を宣言した場合、
それはどこを参照するかを固定するという認識で合ってますでしょうか?
その場合、参照先のインスタンスの属性をsetter等を用いて変更されないようにするというのは
不可能なのでしょうか?
219:デフォルトの名無しさん
08/08/16 20:09:15
>>213
SPIのことじゃない?
220:デフォルトの名無しさん
08/08/16 20:37:33
>>218
Immutable な拡張クラス作って属性変更できないようにするとか
不可能じゃないけど変更されないようにできる便利な言語機能はない。
221:デフォルトの名無しさん
08/08/16 20:40:07
>>218
setterを作らない
222:デフォルトの名無しさん
08/08/16 21:36:26
Java を使って組み込み系のソフトウェア(携帯アプリ除く)を作成することはできますか?
223:デフォルトの名無しさん
08/08/16 21:48:51
CDC JavaTVetc
224:デフォルトの名無しさん
08/08/16 23:41:22
>>216
自己解決しました.
プロジェクトをプラグインプロジェクトに変更して,プラグイン依存関係を解決したらO.K.でした.
225:デフォルトの名無しさん
08/08/17 00:25:07
>212
キャストは動的。ジェネリクスは静的かつ、型情報は消滅。
>218
変更させたくないインスタンスは委譲でも使って隠匿すべし。
226:94
08/08/17 01:12:31
94です。だいぶ前で皆さん忘れておられると思いますが、この擦れの方のおかげであの質問は解決しました。
遅くなりましたが、応えてくださった97さんや99さんなど、皆さんありがとうございます。
・・・すいません。それだけです。
227:デフォルトの名無しさん
08/08/17 01:27:37
どうせならどのように解決したかを書いてくれると、後から読む人のためになって良い
228:デフォルトの名無しさん
08/08/17 12:55:58
スタンドアロンのJavaアプリで、HTMLのクリッカブルマップのようなことは、可能でしょうか?
具体的には、フォーム上に日本地図の画像があって、
各県をクリックすると、ポップアップウィンドウが表示される、
みたいな感じなんですが。
229:デフォルトの名無しさん
08/08/17 13:00:47
非常に簡単
230:デフォルトの名無しさん
08/08/17 19:59:57
このスレには親切な人が多いですね。たまにマ版と間違えてるような変な人もいますが・・・・
231:デフォルトの名無しさん
08/08/17 20:34:20
マと何か区別しなきゃいけないのか?
232:デフォルトの名無しさん
08/08/17 21:23:11
>>231
愚痴を書き込むスレではないだろ
233:186
08/08/17 21:28:01
なんとか解決したっぽいです。
初心者なので、UNICODEとUTF8の違いとかいまいちピンときませんが、
イメージは「UNICODEがIDとしたらUTF8はIDをUTF8という形式で表現したデータ」ということでしょうか?
間違ってましたら指摘してくださいorz
で、UTF8での受け渡しを止めてUNICODEでの受け渡しをするようにしました
C側↓
JNIEXPORT jlong JNICALL Java_Test(JNIEnv *env, jclass, jobject obj){
jclass cs = env->GetObjectClass(obj);
jfieldID fid = env->GetFieldID(cs,"strParam" , "Ljava/lang/String;");
const char* cc = "サブキー";
int unicodeLength = MultiByteToWideChar(CP_ACP, 0, cc, strlen(cc), NULL, 0);
WCHAR* unicodeBuffer = new WCHAR[unicodeLength];
MultiByteToWideChar(CP_ACP, 0, messagetmp, strlen(messagetmp), unicodeBuffer, unicodeLength);
jstring strj = env->NewString((jchar *)unicodeBuffer,unicodeLength);
env->SetObjectField(obj, fidsData, strj);
return 0;
}
java側↓
HogeClass hoge = new HogeClass();
Main.Test(hoge);
System.out.println( hoge.strParam );
ちゃんと表示できてるみたいです。
しばらくはまってたのですが、「sizeof」で文字サイズを取得してたのですが、
マルチバイト?では使えなくて「MultiByteToWideChar」を使用しないといけないということですね。今までjava言語しか触ったことないのでしたorz
もっと簡単な方法ありましたら是非ご教授くださいm(__)m
234:デフォルトの名無しさん
08/08/17 21:41:51
>>233
wchar_t wcstr[] = L"サブキー";
jstring strj = env->NewString((jchar *)wcstr, sizeof(wcstr) / sizeof(wchar_t));
Windows環境っぽいので wchar_t が UTF-16 きめうち。
テストしてないので動かなかったらごめん。
あと new WCHAR[unicodeLength] したのに delete しなくていいんか?
235:デフォルトの名無しさん
08/08/17 22:02:02
>>233
いくら夏とはいえ、ちょっと見にコンパイルを通らないコードを貼るやつって、何がしたいんだろうな・・・
236:デフォルトの名無しさん
08/08/17 22:12:35
初心者ってのはそういうもんさ
237:デフォルトの名無しさん
08/08/17 22:24:06
おい、おまいらJavaでアップロードされたファイルのヘッダ検査を行なうjarはないですか?
教えてください。お願いします。
238:デフォルトの名無しさん
08/08/17 22:27:44
調子のんな
239:デフォルトの名無しさん
08/08/17 22:33:02
やっぱC#スレの方がいいわ
240:デフォルトの名無しさん
08/08/17 23:14:57
javaのvmって sun と ibm と hp の3種類?
241:デフォルトの名無しさん
08/08/18 00:00:16
Swingを使ってGUIを書いています。
所謂非矩形ウィンドウを作りたいと思い、検索してみたところ、
1. Mac限定の方法(背景色を透過色に設定?)
2. ウィンドウの下をキャプチャして疑似透過
の二つがあるらしい、ということを知りましたが、1番は問題外、
また、最前面に表示するような仕様のため、2番では背景と矛盾が
生じない為の頻繁な更新による負荷がやや重めになってしまいます。
もし他に方法がありましたら、参考URL等を教えてください。
#具体的には、Officeに出てくるうるさいイルカみたいな感じで、
#画像を枠無しで表示したいと考えています
#SWTだとRegionとやらで実装できるようなのですが...
242:デフォルトの名無しさん
08/08/18 00:06:32
jdk7を待った方がいいんじゃないかな?
URLリンク(jdk6.dev.java.net)
確かこれでShapeを使った非矩形ウィンドウが作れたはず・・
243:デフォルトの名無しさん
08/08/18 00:29:07
修飾子の読み方を教えて下さい
Gooleしても見つかりません
244:デフォルトの名無しさん
08/08/18 00:31:38
そりゃ見つからないわ
245:241
08/08/18 00:32:08
おぉ。どうもありがとうございます。
AWTUtilitiesとやらで非矩形や透過ウィンドウが実装出来るようになるのですね。
とりあえずはBeta使って仮実装したり、他の方法も色々工夫したりしてみながら
のんびりと正式版のリリースを待つことにします。
素早いご返答、ありがとうございました。
246:243
08/08/18 00:38:37
Googleの間違いでした
ほんと修飾子って何て読むんですか?
247:デフォルトの名無しさん
08/08/18 00:51:09
おもしろい回答できないわ。
「しゅうしょくし」だよ。
248:デフォルトの名無しさん
08/08/18 00:51:29
jdbcのPreparedStatementなんですが、
setLongに高いインデックス(10くらい)を指定すると、
executeUpdateでエラーが発生するようです。
要は、INSERT INTO文のVALUESに指定できる?の数に制限が
あるということなのですが、この問題にはどう対処したらよいでしょうか。
249:デフォルトの名無しさん
08/08/18 00:51:51
「しゅうしょくし」
ってか流石にこれはガチで小学生でも分かるから、
そういう意味ではなくvolatileとかstrictfpとかの読み方を聞いてるのか?
250:デフォルトの名無しさん
08/08/18 01:01:29
特殊なデザインのウインドウは、はっきり言って使いづらいからやめて欲しい
251:デフォルトの名無しさん
08/08/18 01:04:32
しゅうしょくしがしょくしゅにしか見えないんだが・・・
252:243
08/08/18 01:10:03
>>247
>>249
ガチで有難うございます
ほんと何て読むか解らなくて…
年は40なんですが、趣味でプログラムでも始めてみようかと思い
創るJavaって本を買いまして、暇暇に読んでます
もちろん仕事はプログラムとは
あまり関係ありません
ただ、知識は無いと
指示が出来ないんですよね…
253:デフォルトの名無しさん
08/08/18 02:14:27
>252
URLリンク(www.okapiproject.com)
254:デフォルトの名無しさん
08/08/18 09:39:00
>>252
ではオジサン相手に手取り足取り教えてやろうか。
255:デフォルトの名無しさん
08/08/18 09:41:55
むしろ中途半端な知識で指示される方が迷惑
256:デフォルトの名無しさん
08/08/18 09:48:07
>>252
老婆心ながら
読むだけじゃだめだぞ
257:デフォルトの名無しさん
08/08/18 11:54:15
Javaなんかネットの勉強サイトで十分しょw
258:デフォルトの名無しさん
08/08/18 11:56:17
じゃう゛ぁ♪じゃう゛ぁ♪
じゃう゛ぁじゃう゛ぁジンジンジーン♪
259:デフォルトの名無しさん
08/08/18 12:07:08
ConcurrentSkipListSetってクラスつかったら
プログラムを実行するたびに
同じ要素が何個も一つにセットに入ったり、一つだけ入ったりしたんだけど。
なぜですか?
TreeSetにしても同じような症状でした。
でもCopyOnWriteArraySetにしたら同じ要素は一つしかありませんでした。
どうしてかおしえてください。
260:デフォルトの名無しさん
08/08/18 12:50:32
初心者の質問ですいませんが教えてください
javaにはオペレーターは無いはずですが
なぜStringクラスだけ+=が使えたりするんでしょうか
どなたかおしえてください
261:デフォルトの名無しさん
08/08/18 12:51:46
組み込み
262:デフォルトの名無しさん
08/08/18 13:42:50
Instrumentを変更してMIDIを再生したいのですが、現在使用可能なSynthesizerがcom.sun.media.sound.MixerSynthだけで、そのSynthesizerでloadInstrument()してもIllegalArgumentExceptionを投げられてしまいます。
ソースを読んでみると、MixerSynthの親の抽象クラス「AbstractPlayer」にて、型のチェックでHeadspaceInstrumentの子クラスじゃないと読み込めないようにしてあるようなのです。
さらにそのHeadspaceInstrumentというのはデフォルトアクセスで、どうしようもないのです。
どのようにすればInstrumentを追加・変更できるのでしょうか?
263:デフォルトの名無しさん
08/08/18 14:01:48
>>259
日本語で
264:デフォルトの名無しさん
08/08/18 15:17:26
>>260
> javaにはオペレーターは無いはずですが
Javaにはオペレータが結構あります。
Stringクラスだけでなくintでも+=が使えます。
クラス型に対するオペレータでも=や==はStringクラス以外でも使えます。
265:デフォルトの名無しさん
08/08/18 15:56:23
javaってcみたいにコアダンプ(メモリダンプ)できないのでしょうか。
cの場合ログから解析が難しい場合はその段階でkill -SEGVでメモリダンプしてデバッガでメモリの情報を調査するという方法があり
それをjavaでもやりたいと思っているのですが。
eclipseで接続できないところなので、そこでダンプを取って持ち帰ってeclipseで確認したいと思っていますが、
cのようにいかないですかね???
266:デフォルトの名無しさん
08/08/18 16:19:55
java vmのコアダンプを追いかける・・・言ってみただけ
267:デフォルトの名無しさん
08/08/18 16:45:23
class Oya{
public void show() throws Exception{
System.out.println("oya");
}
}
class Ko extends Oya{
public void show(){
System.out.println("ko");
}
}
public class Cui{
public static void main(String args[]){
Ko a=new Ko();
Oya b=new Ko();
a.show();
b.show();
}
}
これでb.showでエラーが出るのが理解出来ません。
bはサブクラスでオーバーライドされた方のメソッドを呼び出しているので
やっていることはa.show()と同じ気がするのですが、何ででしょう?
268:デフォルトの名無しさん
08/08/18 16:47:40
>>265
VisualVM とか jhat を調べてみるといいかも
269:デフォルトの名無しさん
08/08/18 16:52:39
>>262
URLリンク(www.jsresources.org)
270:デフォルトの名無しさん
08/08/18 16:56:53
>>267
Oya#show は Exception を投げると宣言しているので、
main の b.show() が投げる Exception をどうにかする必要がある
(実際には投げられないのだとしても、宣言してる以上、処理しないとだめ)
271:デフォルトの名無しさん
08/08/18 17:09:06
>>270
これって親のメソッドが仮に例外投げないとしたらコンパイルが通って
b.showの実行結果は「ko」になりますよね。
Oya#showはKo#showで消されているため例外投げる部分が無いものになる気がするんです。
素直にKo#showを使ったa.showは例外処理必要無いのに、
なんでOyaの参照で間接的にKo#showを使うと例外処理が必要になるんでしょう?
272:デフォルトの名無しさん
08/08/18 17:21:08
>>271
b は Oya だと宣言してるし。
273:デフォルトの名無しさん
08/08/18 17:24:36
javaの勉強中でEclipseを使ってプログラムを作り、JSP→クラスの遷移はできるのですが、html→クラスの遷移ができません。
内容はどちらもボタンを押すとデータの送信などは行わず遷移するだけなので、どちらも同じ記述をしているのですがhtml→クラスがうまくいきません。
JSP→クラスの設定はweb.xmlで記述しているのでhtmlだとweb.xmlが読み込まれないのが原因なのではないかと思っているのですが、web.xmlが使えないとなると解決方法がわかりません。
どうすればよいのでしょうか。
274:デフォルトの名無しさん
08/08/18 17:25:47
>>272
そのOyaの関数がKoの関数になってるからってことを疑問にしてるんでしょ。
275:デフォルトの名無しさん
08/08/18 17:28:50
>>271
b が Oya 型だから b.show は単純に Oya#show の宣言を見る
Oya b = new Oya();
のときと
Oya b = new Ko();
のときで b.show のエラーの有無が変わってはかなわんし
(b は同じ Oya 型。単に初期値が違うだけ)
もし
Oya b = null; とか
Oya b = hoge(); とか
Oya b = x < 10 ? new Oya() : new Ko();
とかだったらどうするよ
276:デフォルトの名無しさん
08/08/18 17:43:48
>>272,>>275
レスありがとうございます。
宣言はスーパークラスの方を見て中身はサブクラスを見てる感じなんですね。
オーバーライドで引数とか全部一緒だからそんなことも出来るのか。
277:デフォルトの名無しさん
08/08/18 17:45:55
>bはサブクラスでオーバーライドされた方のメソッドを呼び出しているので
というのが分かるのは 275 が書いたように実行時なんだな。
コンパイル時は宣言した型でしか見てないんだな。
278:デフォルトの名無しさん
08/08/18 19:39:27
>>264
> >>260
> > javaにはオペレーターは無いはずですが
> Javaにはオペレータが結構あります。
> Stringクラスだけでなくintでも+=が使えます。
> クラス型に対するオペレータでも=や==はStringクラス以外でも使えます。
例えば
public AnyClass{
int n;
String s;
public AnyClass()
{
n = 0;
s = null;
}
public AnyClass(int num,String str)
{
n = num;
s = str;
}
}
みたいなクラスがあったとして
下記のような動作させるにはどうすれば良いのでしょう
AnyClass obj1 = new AnyClass(10,"ab");
AnyClass obj2 = new AnyClass(1,"c");
AnyClass obj3 = new AnyClass();
obj3 = obj1 + obj2;
279:デフォルトの名無しさん
08/08/18 19:56:30
>>278
演算子の多重定義はサポートしてないから無理。
280:デフォルトの名無しさん
08/08/18 22:19:35
>278
public AnyClass plus(AnyClass other)
281:デフォルトの名無しさん
08/08/18 22:21:10
>>280
演算子のオーバーロードがしたいって言ってるんじゃないの?
282:デフォルトの名無しさん
08/08/18 23:04:54
>>260
× Javaにはオペレータは無い。
○ Javaにはオペレータのオーバーロードはできない。
で、Stringには連結オペレータが予め用意されている、と。
なぜ連結オペレータが用意されているかは設計者にでも聞いてくれ。
283:x
08/08/18 23:28:03
初めまして。最後のdrawLineでintを使えないといわれてしまいます。
分かる方いらっしゃいますか?
よろしくお願いします。
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.math.*;
/**
* @param args
*/
public class applet5no1 extends Applet
{
public void paint(Graphics g)
{
int x1,y1,sec;
sec = 30;
x1= 6*sec;
g.drawLine (100, 100,100+70*Math.cos(60 * Math.PI/180) , 100-70* Math.sin(60 * Math.PI/180));
}
}
284:デフォルトの名無しさん
08/08/18 23:31:43
intが使えないから適切な型に変換しろってこと
285:x
08/08/18 23:33:27
すいません。具体的にはどうするかわかりますか?
286:デフォルトの名無しさん
08/08/18 23:43:49
>>283
sinとかcosの結果はdouble型
drawLineの引数はint型
なので型が合わない
intに変換しる
287:x
08/08/18 23:45:02
ありがとうございます。助かりました
288:x
08/08/18 23:59:08
先ほどのものです。
いろいろ試したのですが、どうしてもうまくいきません。
具体的にどうすればいいか教えてもらえませんか?
289:x
08/08/19 00:13:44
いろいろ試したというのは嘘で、試そうにもやり方が全く分からないので、手取り足取り教えてくれませんか。
いろいろ試したのなら、どう試したけれど、どううまくいかなかったが書けるはずなのに、
それができないから嘘がばれると思ったので正直に書きました。
290:デフォルトの名無しさん
08/08/19 00:15:58
お前馬鹿だろ
リファレンス見るとかググるとか思いつかないのか
そんなことだと永久に2chに聞きに来るつもりか?
291:x
08/08/19 00:20:42
リファレンスってなんですか?どこにあるのか分かりませんし、見方が分かりません。
ググろうにも何をキーワードにすればいいか全然思いつきません。
ここは初心者にきびしいネットワークですね。
292:デフォルトの名無しさん
08/08/19 00:22:10
>>291
君がゆとり杉なのかもね。
293:デフォルトの名無しさん
08/08/19 00:33:40
実は趣味でプログラムしてます。今42歳でニーとですす。
294:デフォルトの名無しさん
08/08/19 00:35:30
>>291
URLリンク(java.sun.com) からJava SEのリンクを辿っていけばそのうちに辿りつけますよ。
画面左上はパッケージのリスト、左下にクラスのリスト、右がメインビューワとなっております。
防御スクリーンを展開したままフェイザーと光子魚雷の準備を抜かりなきようお願いもうしあげます。
295:デフォルトの名無しさん
08/08/19 00:36:09
>>293
名前のxが抜けてる抜けてる
296:デフォルトの名無しさん
08/08/19 00:48:39
>>291
・貴方が書いている言語はきっと“Java”
・二人も“変換”しろと言っている
いくら考えても無いところからキーワードを思いついたりしないだろうな、すでに書いてあるのに……
297:デフォルトの名無しさん
08/08/19 00:56:37
初心者
【人々】
(1)
・「覚えよう」と言う意思の無い人。
・こう言う人は、永遠の初心者。
(2)
・全てをチャラにできる魔法の言葉。
・質問をする時にこの言葉さえつければ、何を聞いても良いと勘違いしている方がいらっしゃる。
・「初心者なら、そういう難しい事は考えずにまずは基本を覚えなさい。」と、言いたくなる事がある。 でも、お客さんだしそんな事は言えないしなぁ・・・。
某辞典から
いや誰とは言わないけどね
298:デフォルトの名無しさん
08/08/19 00:57:21
Sun SPOTの話題はどこに持ってけばいいんでしょ?
299:デフォルトの名無しさん
08/08/19 00:59:36
初心者なんですけど、ジャヴァってなんですか?アップレットとどう違うんですか?
300:デフォルトの名無しさん
08/08/19 01:04:25
>>299
じゃう゛ぁ(java)は今をときめくニューウェーブ、時代の最先端を行く今注目のプログラミング言語です。
アプレットはIEやFF上で動作するJavaプラグインを用いた実行形態の一種です(?)
Applet/JAppletクラスを用いて作成します。
通常のJavaアプリはApplet/JAppletクラスを使いません。
301:デフォルトの名無しさん
08/08/19 01:18:53
アプレットでフラッシュみたいのはやんないんですか?
何でみんなフラッシュ使うんでしょうか。
初心者なんですけど、フラッシュの方が最先端な気がします。
302:デフォルトの名無しさん
08/08/19 01:23:00
スレの無駄だからそろそろ初心者ごっこはやめろ
誰も本気で釣られんよ
303:デフォルトの名無しさん
08/08/19 01:28:02
初心者だからって馬鹿にしないで下さい!
304:デフォルトの名無しさん
08/08/19 09:41:23
ActionScriptも多少触ったけど、言語仕様がルーズ(型の扱いとか)なのと
根っこのトコの動作が見えにくいのとでなんかやり辛いんだよなぁ
マルチスレッドが普通にできないのもめんどい
グラフィックやサウンド系の扱いが手軽なのと、プラットフォームの普及度から言うと
よっぽど複雑な処理やるんでもなければFlashでやるのがいいでしょうね
305:デフォルトの名無しさん
08/08/19 10:00:45
アプレット技術はそのままで、ブラウザ埋め込みレットとしてアプレットを拡張すればいいんじゃないかと思う。
それこそアプレット・アプリケーション・フレームワークが整備されればいいのかな。スウィングと同じように。
306:デフォルトの名無しさん
08/08/19 10:20:26
javaのpipeってLinuxのmkfifoでできる名前付きパイプを実現するものでしょうか?
307:デフォルトの名無しさん
08/08/19 10:32:26
java.nio.channels.Pipe の事なら、そもそもプロセス間通信できなかったような
308:デフォルトの名無しさん
08/08/19 16:34:14
アプレットをいろいろといじっているのですが、ボタンを付けることについて質問です。
ボタンを押されるたびに、たとえば"A"という文字を表示するxとy座標を変えて行きたいのですが、
public void actionPerformed(ActionEvent e){
if(e.getSource() == btn){;
x+=20;
y+=20;
repaint();
}
}
とすれば、g.drawpaint("A",x,y)がリペイントされて、ボタンを押されるたびにx,yが20ずつずれて表示されると思っていたのですが
最初に押したときはxとyが20ずつ動いたのですが連続してボタンを押しても変わることはありませんでした。
押すたびにずれるようにするにはどうすればいいでしょうか?
よろしくお願いします。
309:デフォルトの名無しさん
08/08/19 16:39:47
きっと何処かで毎回xとyを0にしてるんだな
310:デフォルトの名無しさん
08/08/19 17:03:31
最初にボタンを押したときは動くのでx,yがリセットされていることは無いと思うのですが、
class MyFrame extends Frame implements ActionListener{
Button btn;
int x = 50,y=50;
public MyFrame(String title){
setTitle(title);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void paint(Graphics g){
btn = new Button("ボタン");
btn.addActionListener(this);
add(btn);
btn.setBounds(120,200,90,30);
g.drawString("A",x,y);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == btn){
x=x+20;
y=y+20;
repaint();
}
}
}
これはフレームになっていますが、基本的にかんな感じです。
311:デフォルトの名無しさん
08/08/19 17:06:57
なんでpaintのたびにボタンが増えてるの・・?
312:デフォルトの名無しさん
08/08/19 17:32:02
すいません。ボタンが増えてました・・・paintから出したら上手く動きました。
有難うございました。
313:デフォルトの名無しさん
08/08/19 17:59:23
Object.classって何?
314:デフォルトの名無しさん
08/08/19 18:13:30
>>313
Object クラスを表す Class クラスのリテラル
new Object().getClass() と同値
315:デフォルトの名無しさん
08/08/19 18:52:33
>>314
dクス
316:デフォルトの名無しさん
08/08/19 19:08:49
メモ帳から、改行やスペースを含む文字列を読み込んで、char型の配列に入れるというものを作りたいのですが、うまくいきません。
String型の配列に入れる事は出来たのですが、Char 型に変換することができませんでした。以下は私のソースプログラムです。
public class Main{
public static void main(String[] args){
List<String[]> list =new ArrayList<String[]>();
String cell[]=new String[1000];
try{
FileReader fr =new FileReader("test.txt");
BufferdReader bf =new BufferedReader(fr);
String st =null;
while((st= bf.readLine())!=null){
String[] line=st.split("");
list.add(line);}
for(String[] values: list){
for(String value: values){cell[i]=value;i=i+1;}}
}catch(IOException e){}}}
317:デフォルトの名無しさん
08/08/19 19:37:16
>316
Stringオブジェクトからcharを取り出す方法があれば良いのかな
> char java.lang.String.charAt(int index)
それから、BufferedReader を使うと改行が消えるのでご注意あれ。
318:デフォルトの名無しさん
08/08/19 19:39:19
String.toCharArray()っていうそのまんまなメソッドもあるよ!
319:デフォルトの名無しさん
08/08/19 21:19:33
BufferedReader#read(char[] cbuf, int off, int len)じゃイカンのか
320:316
08/08/19 21:23:12
ありがとうございます。アドバイスを踏まえ以下のように改良したのですが、
1行しか読み込むことができません。バッファを使っているせいかとも思ったのですが、バッファを消すとエラーになってしまいます。
public class Main{
public static void main(String[] args){
List<String[]> list =new ArrayList<String[]>();
Char cell[]=new Char[1000];
try{
FileReader fr =new FileReader("test.txt");
BufferdReader bf =new BufferedReader(fr);
String st =bf.readLine();
for(int i=0;i<100;i++){
cell[i]=st.charAT(i);
System.out.print(cell[i]);}
}catch(IOException e){}}}
321:デフォルトの名無しさん
08/08/19 22:15:13
readLineを1回しか呼んでないような気がするが
322:320
08/08/19 22:48:51
>>321
確かに・・そうですね・・
でも、どうすればいいでしょう・・;;
323:デフォルトの名無しさん
08/08/19 23:23:47
ファイル全体を1個のchar配列にすればいいのか?これでどう?
BufferedReader reader = new BufferedReader(new FileReader("test.txt"));
StringBuffer buffer = new StringBuffer();
int c;
while ((c = reader.read()) != -1) {
buffer.append((char) c);
}
reader.close();
char[] array = buffer.toString().toCharArray();
324:320
08/08/19 23:39:07
>>323
一文字ずつを一つ一つの配列に入れたいです。100文字あったら100個の配列に入れるようなイメージです。
ソースプログラムありがとうございます。書いてある事はある程度理解できたのですが、分からないところもありました。
System.out.print(array); と加えたのですが、何も表示されず(´・ω・`)という顔をしてしまいました。
何を出力すれば良かったのでしょうか
325:デフォルトの名無しさん
08/08/19 23:42:03
配列はそのままprintlnしても中身は出ない
System.out.println(Arrays.toString(array));
326:325
08/08/19 23:48:01
って、ウソでした
試してみたら普通に出たorz
test.txtの中身がないとか?
327:320
08/08/20 00:00:25
何故かうまくいきません・・
よろしければソースを丸ごとコピペしたいので、貼り付けて貰えませんか?
一番最初の宣言からです。
328:デフォルトの名無しさん
08/08/20 00:15:03
>>327
どーぞ
URLリンク(rg550.hp.infoseek.co.jp)
329:320
08/08/20 00:31:02
>>328
ありがとうございます。できました!
とても助かりました。
宣言のところで、いつもchar array []としていたのですが、char [] arrayも同じなんですね。
330:デフォルトの名無しさん
08/08/20 00:34:33
>>329
というより、後者が推奨。
331:デフォルトの名無しさん
08/08/20 00:40:09
>main(String[] args)
その割にはmainはちゃんと後者で書いてるのね。
いちおうこれでもいけるけど main(String args[])
332:デフォルトの名無しさん
08/08/20 01:01:49
二次元配列なら3通りの書き方ができるよ
int[][] array;
int[] array[];
int array[][];
333:デフォルトの名無しさん
08/08/20 01:34:30
JARファイルの中にあるJARファイルにクラスパスを通すことって可能でしょうか・・
334:デフォルトの名無しさん
08/08/20 01:51:38
cloneの実装の仕方について教えてください。
A-B-C
のように継承関係にある場合CloneableをAにつけてそのあとどうすればいいんでしょうか?
public Object cloneをAに実装し、それをB、Cでもオーバーライドする?
335:デフォルトの名無しさん
08/08/20 01:58:35
>>334
class A implements Coneable {
@Override
public Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
ポイントはAでsuper.clone();をしっかり呼ぶこと、浅いコピーでいいならこれだけでよい。
336:デフォルトの名無しさん
08/08/20 02:19:55
てかObject#clone()は仕様上シャローコピーだろ。
337:デフォルトの名無しさん
08/08/20 02:46:02
ディープコピーがしたいのです。
クラスBとCはどうすればいいのでしょうか?
338:デフォルトの名無しさん
08/08/20 02:55:57
>>337
class A implements Cloneable {
public Object clone() {
try {
A a = (A) super.clone();
// ディープコピーのための追加ロジック
return a;
B C にもディープコピーのための追加ロジックが必要なら同じようclone()をoverrideして
super.clone() をよび、それから追加ロジック。
必要ないならそのまま継承すればいい。
339:デフォルトの名無しさん
08/08/20 12:11:55
以前このスレッドでjavaの初心者(レベル2)向けの本として
javaの教科書(SJC-P対応)的な本と、Effective Javaという本を紹介してもらいました。
教科書的な本は読み終わりましたので、次のステップに向かいたいと思います。
何か良い本があれば教えていただきたいので、よろしくお願いします。
僕の考えている弱点、問題意識としては
1:コレクションやマルチスレッド処理の仕組みはわかるが、実際の使い道がイメージできない。
→実践的なプログラムのサンプルが読みたい。
2:英語直訳のような長文は苦手で頭に入らない。
→なるべく簡潔な日本語で、図を用いて説明してもらえると有難い。
という二点があります。
340:デフォルトの名無しさん
08/08/20 12:20:37
ConcurrentSkipListSetっていう名前のクラスをつかったら
プログラムを実行するたびに、セットは同じ要素は一つしか入らないはずなのに、
同じ要素が何個も一つにセットに入ったり、一つだけ入ったりしたんだけど。
なぜですか?
TreeSetにしても同じような症状でした。
でもCopyOnWriteArraySetにしたら同じ要素は一つしかありませんでした。
どうしてかおしえてください。
341:デフォルトの名無しさん
08/08/20 12:22:49
>>340
再現する具体的な例を。
342:デフォルトの名無しさん
08/08/20 12:25:53
>>341
再現する例はコードが長くなるので出せません。
343:デフォルトの名無しさん
08/08/20 12:27:27
じゃうp
344:デフォルトの名無しさん
08/08/20 12:47:19
秘密のコードなので出せません。
345:デフォルトの名無しさん
08/08/20 12:49:05
>>339
実践的なコードはWebでたくさんあるし、しかも説明つきだから自分の足使ったら?
346:デフォルトの名無しさん
08/08/20 13:00:13
>>345
残念ながら、現在、諸事情であまりパソコンをいじれる状態にないのです。
それから、本に線を引いたりして叩き込まないと頭に入らないタイプでして。
347:デフォルトの名無しさん
08/08/20 13:03:01
>>345
じゃあ諦めろ
348:デフォルトの名無しさん
08/08/20 13:04:16
>>347
キレやすい若者ですね。
349:デフォルトの名無しさん
08/08/20 13:10:13
>>339
結局君は、わがままな教えて君とかわりないが?
350:デフォルトの名無しさん
08/08/20 13:12:15
>>346
平日の昼間っからパソコンいじってて、それも2ちゃんやってるし、嘘はいけないだろ。ニート君は金払って学校いけよw
351:デフォルトの名無しさん
08/08/20 13:19:23
自分が何が欲しいかを具体的にわかっている場合はwebが有効なのですが
初心者の毛が生えたレベルでは必要な知識のイメージが漠然としているため
あまり有効ではありません。
マックに行きたい人と、何か食べ物が食べたい人では、どちらが早く目的地にたどり着き
満足する食事を得られるかということを考えてみればわかると思います。
またwebでは目次のようなものがないか、あっても未整理である場合が多く見受けられますし
索引が利用できないのも大きなデメリットでしょう。
さらにはチェックやマークが出来ないため、再度読み直した際の効率が非常に悪い。
もっと言えば、いちいちスクロール、クリックするのが非常にめんどいという欠点もあります。
ちょっとした知識だけを得ればいい中級以上の方とちがい、全体を系統立てて学びたい初心者には
大きなストレスとなるでしょう。
なんでもwebという考え方には同意できません。
>>349
最初からわがままな教えて君のつもりですけど。
>>350
いや、正直言って無職だけどさ、パソコンあるのが実家でね。行ったり来たりなわけ。
352:デフォルトの名無しさん
08/08/20 13:22:06
お前は一体プログラムで何を作りたいんだ?
まず目的を示してそこに向かう手段のために
本を買うわけだろ?
353:デフォルトの名無しさん
08/08/20 13:23:35
public class A implements Serializable {
private static final Logger logger = Logger.getLogger(Aclass);
}
このクラスをシリアライズするとloggerもシリアライズされるでしょうか?
loggerをデシリアライズするのはまずいと思うので、transientをつけるべきでしょうか?
354:デフォルトの名無しさん
08/08/20 13:30:33
>>352
無職だから就職のために必要な最低限の知識が欲しい。
創りたいものは漠としている。
現実的ではないかもしれないが、最終的にはひきこもり向けの学習支援アプリを創りたい。
理系科目を、直感的に操作して学習できるようなアプリがいい。
セカンドライフ的な要素も付け足してオンライン予備校にしたい。
355:デフォルトの名無しさん
08/08/20 13:32:18
>>339,345
こういう奴はキモイんだよな。なんつーか虫唾が走るっつーかwwwこういう奴はどうしたらいい?
356:デフォルトの名無しさん
08/08/20 13:35:48
>>355
俺向けにチェックやマークができて再読に向いていて、
自分の欠点を把握、補強できるJAVA学習支援アプリ創ったらいいと思うよ!
ほら、行った行った。
357:デフォルトの名無しさん
08/08/20 13:59:40
>>351
うええ。
今、実家にいて、
目の前のハコで調べられることを、調べないで、
初心者にはムリ!!!
とかいってんのか。
それなら、初心者とかじゃなくて、無能ってことじゃね?
358:デフォルトの名無しさん
08/08/20 14:03:11
>>357
調べられることは調べてんよ。
でも本のほうが効率いい。
webは再読に向かない。
早く教えろよ。
359:デフォルトの名無しさん
08/08/20 14:06:13
>>358
きみにはデザインパターンが不足してると思うから、
Java言語で学ぶデザインパターン入門
を買うといいよ。
360:デフォルトの名無しさん
08/08/20 14:13:56
>>351
君の相手をするのが面倒くさい
オジサンは酒飲んで黙ってろ
361:デフォルトの名無しさん
08/08/20 14:16:35
>>359
うわー、ありがとうございます。
早速カートに入れてきました。
公式ページも見てきましたが、僕の知らないことばかりで、非常に読むのが楽しみです。
362:デフォルトの名無しさん
08/08/20 14:16:55
>>359
それよりも、こいつのような30代ニートにはコミュニケーションスキルの方が先だと思うw
363:デフォルトの名無しさん
08/08/20 14:21:28
>>362
まだ二十代だよ。
しゃべったらボロが出るけど、しゃべらないで笑ってるからいい人扱いだぜ。
おまえらマジ役にたたねーから、俺、いつか初心者向けのJAVA学習サイト作るわ。
webはマルチスレッド、書籍はシングルスレッド。
おまえらだっていきなりwebで学んだわけじゃねーくせに。
ペッペッ!
364:デフォルトの名無しさん
08/08/20 14:22:24
Java言語で学ぶデザインパターン入門
とかも知らないところを見ると、PCすら使えない無能な教えて君だな。きもすぎる
365:デフォルトの名無しさん
08/08/20 14:24:32
あれだろ
無職で実家とか言って、「面接20社受けて全部落ちました。Orz」とかの無能ニートじゃねーの?(笑)
素直にJavaを教えてる学校いった方がいいよw
366:デフォルトの名無しさん
08/08/20 14:27:34
>>361
>>363
まあ、まずは俺のチンコしゃぶれよ
367:デフォルトの名無しさん
08/08/20 14:38:41
>しゃべったらボロが出るけど、しゃべらないで笑ってるからいい人扱いだぜ。
ん?十分ボロが出てるみたいだけど、どういうこと?
368:デフォルトの名無しさん
08/08/20 14:46:44
>>365
ブルジョワプログラマーめが。
大学の奨学金もまだまだあるのに専門行けっかよ。
それに勉強は本読んだほうが早い。
>>366
throws IOExceptionだ。
サンプル集はwebにはあるが書籍はあんまり無いな。
>>367
リアルではしゃべらないで笑ってんだよ。
俺がいると職場がなごやかになるんだぜ。
webだとボロが出るよ。俺はものの考え方がおかしいからな。
今日は>>359さんみたいな聖人に出会えたからいいや。
369:デフォルトの名無しさん
08/08/20 14:49:08
>>363
それ、単なるのけ者だよ。
まともなヤツは快活だからな。
370:デフォルトの名無しさん
08/08/20 14:51:15
>>368
本を読めば何とかなるって、
ヤセレばキレイになるって幻想と一緒じゃね?
371:デフォルトの名無しさん
08/08/20 14:53:22
質問です。
ハードウエアでいうIRQみたいなのをJAVAで実装するにはどうすればいいでしょうか?
複数のI/OコンポーネントとGUIから構成されるソフトを作っているのですが、今の実装だと
全てのクラスに中核モジュールへのレファレンスを持たせて、その内部状態をI/Oイベントがあると
*I/Oモジュールから*変更させるように作っているのですが、これだと中核モジュールを変えたときに
広がる波紋が大きそうな気がして心配です。
ですから、各I/Oモジュールが何かのイベントを探知すると中核モジュールにイベントを投げて
中核モジュールのみが自らを操作するようにしたいのですが、その方法がよくわかりません。
(中核モジュールにI/Oモジュールでイベントがあったことを探知させる方法が分かりません)
ExceptionをI/OやGUIモジュールから中核モジュールに投げる方法もあるかな、と思ったのですが、
例外は例外用にとっておきたいと思います。
ご教授お願いします。
372:デフォルトの名無しさん
08/08/20 14:55:54
無能力者なのに就職活動もしないで、まったく下地の無いプログラミングに時間を割いている時点で、
バカとしか判定しようが無いな。
373:デフォルトの名無しさん
08/08/20 15:01:32
>>371
「I/Oコンポーネント」と「I/Oモジュール」、「I/Oイベント」の関係がわからないな。
オブジェクト間のやり取りが変わるような部分を書き換えれば、影響するのは当たり前じゃね?
イベントでもメソッドの呼び出しでも変わらないだろ。
374:デフォルトの名無しさん
08/08/20 15:07:07
>>372
一見、大学の奨学金もらって頑張ってるようだけど、就職活動もしないで実家にひきこもってるただの無職ニートだろ。
自尊心が高いだけの単なるナルシストなんじゃね?
375:デフォルトの名無しさん
08/08/20 15:12:06
なんかここでも夏の虫が沸いてるのか?
376:デフォルトの名無しさん
08/08/20 15:15:29
>>373
よく考えてみたら、確かにまったく変わりませんね。
さらに考えてみたらちょっとデザインを変えるだけでまったく
解決できる問題だということも分かりました。
ありがとうございます。
377:デフォルトの名無しさん
08/08/20 15:17:35
ゲームばっか遣ってる無職ニートよりはましだと思うけど。
378:デフォルトの名無しさん
08/08/20 15:20:14
>>368
Javaを教えてる講座など申し込んで短気集中か、今の時代ならHPの方も良くまとまってるページが多いですよ。
結局は、字を読むなら本と同じですし。
変に本の方に権威を立てて過信してませんか?
MSのC#とかも初心者教育に力を入れてるし、MSDNのWeb一つでまとまってるのでお勧めです!
379:デフォルトの名無しさん
08/08/20 15:22:05
>>374
モラトリアム黴ってやつだな。
380:デフォルトの名無しさん
08/08/20 15:26:52
>>372 >>374
ペッペッ!
一時期ちゃんと働いてたっつの。
>>378
そうですねー。
無職ですから、コストパフォーマンスを考えると、どうしても講座をうける気にはなれないんです。
でも、webはお金もかからないですし、もうちょっと柔軟に考えてみるようにします。
ちょくちょく実家に来るようにしますかね。
381:デフォルトの名無しさん
08/08/20 15:27:01
>>378
間違ったこと書いてる本だって、一杯、出版されてるしな。
入門書なんか、見た目が派手なだけで完成してないサンプルとか、
本当にタイトルだけ奇抜なんてことも多いしな。
382:デフォルトの名無しさん
08/08/20 15:32:50
大学の奨学金が嘘じゃないってことよりも、学歴が三流以下の大学じゃその辺で寝てるニートとたいしてかわりないだろ。それも「ペッペッ! 」とかキモイし、こいつはリアルでキモイんだろうな
383:デフォルトの名無しさん
08/08/20 15:34:33
>>380
まずは、俺のチンコしゃぶれよ。
384:デフォルトの名無しさん
08/08/20 15:47:41
>>382
俺がリアルでキモかろうがキモくなかろうが、どうでもいいことだと思うんだが。
問題は今キモいことだけだろ。
なんでリアルまで心配してくれるんだ。
人間、学歴は関係ないよな。
俺はろくな努力もしないでマーチより上の国立大学に受かったために
無駄にプライドは高いんだが、実力は無いし、社会的なスキルはほとんどない。
でも、プログラマにはそういうやつも割といるって聞いたぜ。
あんたの同僚にもいるだろうよ。
>>383
そういうのは実装してないんだわ。
385:デフォルトの名無しさん
08/08/20 15:50:15
俺はろくな努力もしないでマーチより上の国立大学に受かっ
386:デフォルトの名無しさん
08/08/20 15:53:56
>>384
きみ、もうキモイから消えてくれないか?
大学受かったかよりも、その大学を卒業(満了)できたのかが社会では重要なんだけど。
それも君のように無能で無職なものにとってそんな肩書きは正しく「豚に真珠」じゃないか?
387:デフォルトの名無しさん
08/08/20 15:55:22
>>384
Javaなんか勉強するよりC#の方がMSがバックにいるし将来の為にいいよ。
そうだ!大学院目指したらどうだろう?
388:デフォルトの名無しさん
08/08/20 16:11:48
デザインパターンで雁字搦めにry
389:デフォルトの名無しさん
08/08/20 16:16:33
また夏厨か。くどいな。
390:デフォルトの名無しさん
08/08/20 16:39:58
>>387
ありがとうございます。
C#はJAVAの下地があったほうがわかりやすいみたいですね。
もう少しJAVAがわかるようになったら浮気するか考えてみたいと思います。
院は嫌です。僕の大学だけかもしれませんが、院に行った友人の話によると
出世争い、研究室の私物化、ゴマすり、お粗末な博士論文など、あまり魅力的に思えません。
時間も金もないですし。
せっかくアドバイスもらってのに、スイマセン。
391:デフォルトの名無しさん
08/08/20 16:41:33
思うんだけど、こういう人が次々とWebでJavaの説明ページ作ってんじゃないのか?
それなら本なんか頼りにするよりも、間違えやすいところとかコツとかあるわけだし、手っ取り早く習得できると思うんだけど…
392:デフォルトの名無しさん
08/08/20 16:43:34
おまえら、くそJavaなんかやめちまえ!プログラム言語は
総じてマイクロソフトの製品じゃないとだめだ!PHPもPerlもくそ!
Javaはもちろん一番くそ!
おまえらにお勧めの言語はAccessVBAだ。
393:デフォルトの名無しさん
08/08/20 16:47:54
プログラミングとかはGPLが最高らしいよ。
Microsoftはコピーライトだから駄目らしい。
あと、楽しみが人間として一番高度らしいから、楽しみでプログラミングしている奴が
最強らしいよ。
394:デフォルトの名無しさん
08/08/20 16:48:12
だいたい、プログラムのすれでも、Javaスレの連中とC#スレの連中を比べると
教養の差がわかる。
395:デフォルトの名無しさん
08/08/20 16:49:00
だから、楽しみでAccessVBAしろ!
396:デフォルトの名無しさん
08/08/20 16:49:25
>>395
accessVBAはコピーレフトじゃないだろ。
397:デフォルトの名無しさん
08/08/20 16:52:25
>>390
そういうお前は、ひきこもり兼ニートじゃないの?
お前の魅力に関係なく、無職より院生のほうがましw
398:デフォルトの名無しさん
08/08/20 16:54:00
すごいですね!どこの大学卒業したんですか?やっぱり高学歴でお勉強も出来るともてるでしょ♪
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4354日前に更新/268 KB
担当:undef