1 名前:テンプレ(1/3) mailto:sage [2009/11/21(土) 17:58:46 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 ttp://pc11.2ch.net/hp/ Webプログラミング ttp://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド133★★ pc12.2ch.net/test/read.cgi/tech/1253376151/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
331 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 14:19:41 ] JEditorPaneを使っていて気になった事があります どうやって、スクロールバーの大きさを計算しているのですか? 教えてエロい人!!
332 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 14:53:58 ] >>330 あなたもエロくな〜れ
333 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 16:41:40 ] javaのクラスライブラリにリフレクションをして、privateなメソッドにアクセスするのは止めた方がいいんですかね?
334 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 16:44:33 ] >>333 止めた方がいいが、それしか手段がなければ仕方ない。
335 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 18:27:23 ] >>330 ありがとー
336 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 19:10:59 ] 過疎が酷いな…
337 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 19:13:50 ] そりゃ仕方ない 現実世界でもJava離れが進んでるんだもの
338 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 19:42:32 ] Javaがダメになったのはフレームワークの乱立とEJBのせいだと思う
339 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 19:57:00 ] フルスクリーンモードに移行すると初期化が終わるまで FrameでpackしたCanvasのサイズが狂うんだけど、 初期化終了まで同期する方法って有る?
340 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 20:58:03 ] .NETのせいだと思う
341 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 21:32:59 ] Windows以外でもそうなら、Rubyのせいだな。
342 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 22:12:19 ] >>338 が正解だろう。他言語のせいではないと思う。 プロジェクトごとに大した目的意識も無く好き勝手で色んなフレームワークを継ぎ接ぎしてるから 自分の場合は勉強する意識が失せてしまった。 いくら経験積んでも本質とは違う場所で苦労するだけでエンジニアとして成長してる気がしないんだよね。
343 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 22:18:44 ] まぁEJBがクソすぎたっつーことだな。
344 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 22:32:31 ] EJBを批判するとバカ扱いされるからEJBを批判したくないけど 使いたくない人はJavaそのものを避けるようになった。
345 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 22:58:00 ] PHPとか馬鹿が使う言語だろ〜とか思ってたあの頃が懐かしい。
346 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 23:03:12 ] Javaで大成しても時代遅れ感が否めないもんな seasarプロジェクトの人達とかすごい技術持ってるのに知名度も将来性もイマイチだし。 スピード感のあるweb屋が成功する時代
347 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 23:27:55 ] web屋はアクセサビリティ覚えてから仕事してくれ。 あと書類に仕様の名称くらい正しく使ってくれ。 昔みたいにURN,URI,URLを区別してた時代とは違うんだからそれくらい出来てくれ。
348 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 23:43:50 ] あるJPanelを別のJPanelに入れ替えたいのですが どうすればいいのでしょうか?
349 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 23:49:04 ] 古いJPanelをremoveして新しいJPanelをaddする
350 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:37:20 ] webの仕事したいなーと思ってjava勉強しようと思ったけど間違い? 相変わらずjava案件いっぱいある気がするんだが・・・ 先が無いってこと? 先を考えたら何がいいわけ?
351 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:49:01 ] 全部
352 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 01:22:57 ] 今後も(オープン系での)エンタープライズなシステムはJava一択だと思うけど。 ただそーいった新規案件自体は、レガシー環境からのリプレースをメインとした需要だったわけで、 一時期ほどの活況はないだろうな。保守運用はいっぱいあると思うが。 単純なWebアプリ(簡単なデータ登録といろんな検索)とかのシーンでは Javaの出番はないだろ。もはや。RoRあたりでがんばれ。
353 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 01:28:04 ] つ マ板
354 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 01:46:34 ] 案件の数自体はJava案件は全然減ってないよ。 PHPやRoRが急激に増えただけ。 個人的な考えだけど、PHPやRoRの大きな利点として仕事以外でもスキルを生かせるところだと思う。 個人で作るサイトにJavaを使う理由はほとんど無いし。
355 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 10:21:16 ] そこでGAE/Jですよ。タダはでかい。
356 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 12:09:46 ] アルファ成分が事前に乗算されずに色成分と別で持ってる一つの画像をアルファ成分が乗算された新しい画像を生成するにはどうすればいい? アルファ付きの8bit PNGが事前にアルファ成分を乗算してなくて透過指定したピクセルが透過せずに描画されてしまうんだけど。 元からアルファ成分を乗算した状態の画像を用意するってのはナシでお願い。
357 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 12:32:13 ] 二点の座標で結ばれた線分の中点から垂直に30ピクセル上の点の座標を求めるにはどうすればいいでしょうか
358 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 12:35:15 ] sin.cos.tan
359 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 12:57:45 ] 「上」がy座標の減少方向として((x1+x2)/2,(y1+y2)/2-30)
360 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 13:06:38 ] Java3Dのアプレットをブラウザで見れるようにするには Java 3D Runtime for JREが必要らしいということは分かったのですが、 どこでダウンロードできるのでしょうか。
361 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 13:22:35 ] >>360 Java3DでぐぐってJava3Dのプロジェクトページへ行き、 バイナリのダウンロードページから動作させたい環境に合ったものを落としてくる。 インストールの仕方が分からないならインストーラ付きのやつを落とせ。
362 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 15:02:24 ] >>359 解答ありがとうございます 中点から真っ直ぐ上にではなく線分に対して垂直な座標が欲しいのですが…
363 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:02:14 ] C#のプログラムで取得したデータを javaのプログラムで即座に読み込んで処理させたいのですが、 どうすればよいのでしょうか? C#のデータ自体は1行程度の文字列で大体1秒ごとに 外部デバイスから取得されます。 C#側のソースも自由に変更することができます。
364 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:03:09 ] スレチだけど、暇つぶしに解いてみる 2点(x1, y1), (x2, y2)を結ぶ線分の垂直二等分線の方程式は、 a*X + b*Y + c = 0 a = x2 - x1 b = y2 - y1 c = (x1^2 - x2^2 + y1^2 - y2^2)/2 Y座標は2点の中点から-30なので求める座標は、 (-(b*d + c)/a, d) ―― ※ d = (y1 + y2)/2 - 30 とりあえず解は※だけど、a=0のときは「解なし」となるので注意
365 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:08:04 ] >>363 ソケット通信で送ればいいんじゃない?
366 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:09:33 ] >>364 数学苦手だけどsin,cosなしでできるもの?角度が必要じゃないの?
367 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:14:26 ] 直角なので概念的にはベクトルや複素数などのテクニックが使われてます
368 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:15:35 ] >>366 中学レベル三角関数いらない
369 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:17:41 ] 一次関数の傾きひっくり返すだけでしょ
370 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:23:13 ] >>365 なるほど。それでやってみます。 ありがとうございます。
371 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:26:42 ] ネタにマジレス
372 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 16:34:04 ] 2点(x1, y1), (x2, y2)を結ぶ線分の方程式 y-y2=((y1-y2)/(x1-x2))*(x-x2) 2点(x1, y1), (x2, y2)の中点の座標(x3,y3)は (x3,x3)=((x1+x2)/2,(y1+y2)/2) ...A 2点(x1, y1), (x2, y2)の中点を通る2点(x1, y1), (x2, y2)を結ぶ線分に垂直な直線の方程式 y-y3=-((x1-x2)/(y1-y2))*(x-x3) ...B 中点からのその直線に従って距離30ピクセルの位置の座標を(x4,y4)とすると (x3-x4)*(x3-x4)+(y3-y4)*(y3-y4)=30*30 ...C の方程式が成り立つ 以上のA,B,Cを連立してx4とy4を求めれば2つの座標が求まるはず >垂直に30ピクセル上 これが示す「上」という概念が不明だが Y軸にしたがって上下を決めるなら 求まった2つの座標のY座標を比較すればいい 上下を決める直線が別に存在するなら ベクトルの概念がないと求まらないけど
373 名前:デフォルトの名無しさん [2009/12/10(木) 16:58:03 ] ベクマスツカウヨロシアルヨ
374 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 17:35:16 ] >>372 そのまま連立しちゃダメだろ Bの式のxとyにx4,y4を代入しなくちゃダメだろ
375 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 19:37:34 ] >>372 ここはプログラム板だ 数学の話なんかするな!
376 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 21:55:41 ] 数学板?
377 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 22:04:28 ] 自分が理解できないからって……
378 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 22:39:08 ] 確かに板違いではあるが、プログラマなら数学に無縁ということもないだろ 何十レスと続くわけでも他に話題があるわけでもないし、高校数学までなら別にいいと思うがね
379 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 22:45:53 ] >他に話題があるわけでもない 泣けるね
380 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 23:02:19 ] すれちがい
381 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 23:32:59 ] >>378 禿げ!しく同意
382 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 06:03:53 ] SwingのJRadio buttonを改行込みできちんと表示させたいです. ◎〜〜〜〜〜〜 〜〜 ◎〜〜〜〜〜〜 といった感じで,右側が端についたら折り返して欲しいのです. 今のところ radio_panel.setLayout(new BoxLayout(radio_panel,BoxLayout.Y_AXIS)); と書いているのですが,これだと隠れてしまいます. よろしくお願いします.
383 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:10:59 ] >>363 俺は似たような要件あったとき、 C#で一旦ファイルに落としてたなー Javaでそいつtailするようにして。
384 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:13:27 ] 低能がいるな
385 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:31:49 ] >>383 ダサス
386 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 15:40:54 ] ペイントツール作成していて書いたものをDATファイルとして保存、読込していたものを jpgファイルとして保存、読込がしたい。JPEGImageEncoder使うのはわかったけど使い方が わからないんだ。アドバイス頼む。
387 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 15:58:35 ] >>386 javax.imageio.ImageIOのread,writeで読み書きした方が楽だと思う
388 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:05:44 ] >>387 はjpgを含むサポートされている画像形式と画像のオブジェクトやストリームとの間のやり取りなので DATファイルと内部形式との相互変換は別途必要だけど
389 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:06:16 ] >>387 だよな
390 名前:デフォルトの名無しさん [2009/12/11(金) 16:22:59 ] bxbf
391 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 23:18:20 ] >>382 Swing のボタンとかラベルは HTML を表示できるので JRadioButton に表示させるテキストを HTML にしてみては
392 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 23:57:05 ] 最近、C++の勉強を開始したけど、javaよりも参考になるサイトが多い気がする しかし、javaよりも情報の品質が低い気がする
393 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:00:13 ] オブジェクトプールって使わないほうがいいんでしょうか? シューティングゲームで大量の敵弾オブジェクトを生成するのにプールを使おうと思ったんですが 使うと逆にパフォーマンスが低下するという記述も見たので。 www.nilab.info/zurazure2/000035.html [Java]手軽にオブジェクト・プーリング www.ibm.com/developerworks/jp/java/library/j-jtp01274/ Javaの理論と実践: ガベージコレクションとパフォーマンス タスクマネージャーを見ると メモリ使用量がどんどん増えていくのですが、これは自動的にメモリが開放されていないからなんでしょうか・・?
394 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:01:01 ] 世界は広いぞ
395 名前:デフォルトの名無しさん [2009/12/12(土) 00:13:17 ] 0〜最大値の間で重複なしにランダムに整数を取り出したいです。 加えて、時間が経っても処理が重くならない。最大値が大きくてもメモリ消費が変わらない。 というふうにしたいんですが、どうすればいいでしょうか。
396 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:16:21 ] 重複しないって事は過去に出たものを知っていなきゃいけないんだから 情報論的に言って貴方の言う条件は満たせないと思いますハイ できるならマクスウェルの悪魔が出るぞ
397 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:16:35 ] String s = "FFFFFFFF"; int i = Integer.parseInt(s, 16); でエラーが出ました。 APIを見ると符号付きで計算すると書いてあるのに何故? int i = Integer.parseInt(s.substring(0, 2), 16) * 0x1000000 + Integer.parseInt(s.substring(2, 8), 16); なら大丈夫でした。 もっとスマートなやり方ないでしょうか?
398 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:17:57 ] >>395 >最大値が大きくてもメモリ消費が変わらない は無理だが、配列確保して順に値を入れてからシャッフル(ここで乱数は使う)したら? 要するにトランプのシャッフルと同じ。
399 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:29:16 ] 文脈からするに以下のふたつは試したのか? ・Set<Integer>にランダム値を保存してcontainsがtrueなら再抽選 ・0〜最大値までのIntegerが詰まったリストをCollections.shuffle これでダメなら元々ランダムじゃなくてアトランダムなんだから、 ジェネレータでランダム関数を使わずに自作するしかないんじゃね?
400 名前:デフォルトの名無しさん [2009/12/12(土) 00:58:03 ] >>396 過去に出たものを知ってなくてもいい方法が、きっとあると思ってます。 >>398 >>399 リストやセットを使う方法は、メモリ消費が激しいのと、 状態をファイルに保存、ファイルから読込みするのに時間がかかるので避けたいです。 最大値2000万でファイルから読み込んだら、2分もかかってしまいました。 >ジェネレータでランダム関数を使わずに自作するしかないんじゃね? 何かいい方法があれば、教えて欲しいです。 Intのビットを固定パターンで入れ替えるくらいしか思いつきません。
401 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:58:46 ] >>397 Javadoc のサンプルを見ると分かりますが、「"符号付き整数の文字列"を構文解析する」のであって、 オーバーフローしたのを丸めるという意味ではないです。 サンプル(Javadoc より): parseInt("-FF", 16) returns -255 parseInt("2147483648", 10) throws a NumberFormatException 2 番目の例と同じく、"FFFFFFFF" は Integer の MAX_VALUE を超えているため、エラーに なっています。 "FFFFFFFF" を int の -1 にしたかったら、 int i = (int)Long.parseLong("FFFFFFFF", 16); が近道だと思います。
402 名前:デフォルトの名無しさん [2009/12/12(土) 01:01:26 ] 例えば、1〜10、11〜20、21〜30、31〜40、41〜50と、範囲に収まる数字の件数をカウントしたい場合、 iを対象となる数字、配列xを件数とすると、 var i = 27; var x = []; if(i>0 && i<=10) x[0]++; elseif(i>10 && i<=20) x[1]++; elseif(i>20 && i<=30) x[2]++; // ここでカウント elseif(i>30 && i<=40) x[3]++; elseif(i>40 && i<=50) x[4]++; と書くのはダメダメ。センス無い。 (forやwhile使って回しても大差無し。) var i = 27; var x = []; x[Math.floor(i/10)]++; // 配列x[2]でカウント と書けばスッキリ。 なんてな。
403 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:26:24 ] >>400 論文とか読めない人何で適切なアルゴリズムは提示できないが、 ビットシフトというか範囲値内でのローテートになるのかな。 ローテート量の他にループカウンタを導入してエントリ位置、カウンタ参照方向(++か--か)、 カウンタ参照方法(偶数→奇数走査)など思いつく限りの走査法をランダマイズするのがいいかと。
404 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:40:16 ] >>400 が理解できるならもうやってるだろ
405 名前:397 mailto:sage [2009/12/12(土) 02:15:21 ] 助かりました、どうもです。
406 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 07:50:14 ] 387-388 色々試してみる。しかし基本しか知らないのにペイントツール作って 描いた絵に動きを付けるってものを仕上げなきゃいけなかった。 ありがとうございます
407 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 08:08:43 ] >過去に出たものを知ってなくてもいい方法が、きっとあると思ってます。 言っても無駄なんだなってことは理解したよ もう止めないわ
408 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 08:18:34 ] >>393 自動的に開放されないようにプールしてるんだろ 使い終わったオブジェクトは再利用してるのか?
409 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 11:15:03 ] テンプレのサイト見ても解決できなかったのでお願いします buildするのにantを使おうとしているのですが >ant run Buildfile: build.xml init: compile: run: [exec] java.lang.NoClassDefFoundError: Files\Java\jre6\lib\ext\QTJava/zip [exec] Exception in thread "main" [exec] Result: 1 BUILD SUCCESSFUL Total time: 1 second という結果で一応ビルドできてる?みたいなのですがバッチファイルを起動しようとすると 同じエラーが出てしまいます。 関係ありそうな以下のパスを調べたりいじったりしてもダメでした。 ANT_HOME=C:\apache-ant-1.7.1 CLASSPATH=.;\C:\Program Files\Java\jre6\lib\ext\QTJava.zip JAVA_HOME=c:\program files\java\jdk1.5.0_08 Path=c:\program files\java\jdk1.5.0_08;C:\Program Files\QuickTime\QTSystem\;C:\apache-ant-1.7.1\bin(一部抜粋) よろしくお願いします。
410 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:00:16 ] >>400 Set<Integer> よりは BitSet の方が軽いので試してみそ 2000万もあると、どのみち無理かもしれないが
411 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:06:39 ] みそ、って久しぶりに見た 青春時代を思い出した 泣けてきた
412 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 13:31:22 ] >>402 それバグってね?
413 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:51:43 ] まさか2000万件をオンメモリでやるきなのか? それともHDD上でやってみたら2分かかったからもっといいのないって話? まあ要求からして無理なんだが。それこそマクスウェルの悪魔レスまで戻る。
414 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:58:16 ] クイズの問題をランダムで出したいだけだろ? ジェネレータを自作しろって結論がでてるからもういいよ。
415 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 16:02:02 ] ジェネレータって何?
416 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 16:24:05 ] 特定のオブジェクトを作る関数。生成機とも呼ばれる。乱数生成機、ID生成機とかね。
417 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 16:24:55 ] あと機じゃなくて器のほうで置換しといて
418 名前:デフォルトの名無しさん [2009/12/12(土) 16:43:53 ] マクスウェルの悪魔(笑)
419 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 16:45:00 ] なるほど。勉強になります
420 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 16:58:14 ] C言語で作られたライブラリ「〜.so」(Solaris)をJavaから呼ぶ方法を知りたいのですが、 どうすればよいのでしょうか? Javaからはdlopenを使って呼んでくださいとライブラリの説明書には書いているのですが、 Javaでdlopenメソッドが見当たらず困っています・・・。
421 名前:デフォルトの名無しさん [2009/12/12(土) 17:05:40 ] JRadioButtonのActionListenerに、 一方のボタンが押されたらテキストフィールドをenableに、他方であればdisableにする、という実装を行っています。 人が画面でラジオボタンを押した場合にはうまく動くのですが、 コード上でJRadioButton#setSelected(true)した場合にはイベントが発生しません。 setSelectedの場合も同様の動作をさせたい場合、一般的にはどういう実装を行えばよいでしょうか。 ChangeListenerだとsetSelectedでもイベントを受け取れますが、必要ない状態の変化でもイベントが 発生するので無駄な動作が多くなるな、と考えています。
422 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 17:16:07 ] >>420 JNIじゃない?
423 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 17:16:40 ] >>420 JNIを使え >>421 そのActionListenerを自分で呼ぶとか、setSelectedの場合にも同様の動作(disable/enable)を書けばいいと思うが・・・ doClickはどう
424 名前:421 mailto:sage [2009/12/12(土) 17:28:42 ] >>423 ありがとうございます。 現在はsetSelectedの後ActionListenerを直接呼んでいたのですが、 不恰好だと考えていました。 doClickを試してみまたところ、同じように動作させることができました。
425 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 17:34:20 ] >>420 そのライブラリをロードするようなライブラリをJNI使って自前で作れ、ということなのでは。
426 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:41:54 ] >>420 JNI
427 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:43:04 ] >>420 JNIを使えば?
428 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:54:58 ] >>420 つJNI
429 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:55:07 ] ネイティブを使うって、かなり抵抗あるよね〜 swtくらいなら、妥協してもいいけどさ
430 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:59:21 ] >>420 JNI知ってる?
431 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 19:22:31 ] 420が大漁すぎてワロタ