1 デフォルトの名無しさん 2011/09/20(火) 23:23:15.82
2 デフォルトの名無しさん 2011/09/20(火) 23:25:04.43
3 デフォルトの名無しさん 2011/09/20(火) 23:27:45.12
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
4 デフォルトの名無しさん 2011/09/21(水) 02:11:40.61
5 デフォルトの名無しさん 2011/09/21(水) 02:29:52.31
>>3 そのコピペは立て逃げスレに貼るものなんだが 6 デフォルトの名無しさん 2011/09/21(水) 04:02:35.65
_,,,,,ィ=ー-、_ / /. : : : : : : : : : : .ヽ / ィ /. : /: : : : : : : : : : : : .\ / ┼ /. : /: : : : ハ: : :}斗、ヽ: : .| ノ |. : /_: 斗〒\八」 ∨リリ _,_ 乂レl;Ⅳ弋ノ };l_> | | `` ∠___l;人 , ─ァ ノ'ノ |: :从ハ`┼一ィ刋:::\ r┴, |: : : : : : :};Y/ハ{;;;;;;;;ノ / ヽ-‐ァ‐ァ';|l/\∧イ \ / /\/;;|l' ̄ハ } \ / |;;メ二ニ| | ャ、__/l;lゝ ト‐| / `/|_,_|;|,_,_,_,_,_ト′ / / |==|;|=====| ∠、,,ィ~' └r幵─‐r七 {Ξ} 匕}
7 デフォルトの名無しさん 2011/09/21(水) 14:06:38.66
Swingってなんでこんなに人気ないの? 割りと真面目に教えて下さい
8 デフォルトの名無しさん 2011/09/21(水) 14:23:35.86
>>7 ファイル選択のダイアログがショボイ 9 デフォルトの名無しさん 2011/09/21(水) 14:58:07.83
10 デフォルトの名無しさん 2011/09/21(水) 15:32:39.49
遅い、見た目がダサい
11 デフォルトの名無しさん 2011/09/21(水) 15:41:33.88
漢は黙ってAWTだろJK
12 デフォルトの名無しさん 2011/09/21(水) 17:11:44.68
RADがなくてメンドイ
13 デフォルトの名無しさん 2011/09/22(木) 08:18:46.01
14 デフォルトの名無しさん 2011/09/22(木) 08:19:33.40
AWTもターゲットに入ってていいんだよね? Q. AWT と Swing 混ぜちゃ駄目って聞いたんですけど 混ぜちゃ駄目なんですか・・・・? A. 今まででは、「駄目」というのが正解です。 が、現在開発中(未リリース)のバージョンではSwingとAWTの混在ができるようになっています。 正式リリースがされるまで、情報の錯綜があって混乱すると思いますが 普通の人にとっては「まだ駄目」という状況だと思ってください。 Q. Nimbusって何よ。 A. 次期Swingの標準となるとされているLAFです。 元々は、SUNのGnome環境のテーマに使われていた見た目を移植したものになります。 実装にはXMLベースでLAFを定義できるSynthLookAndFeel を利用しています。 jdk6の開発版で試す事ができます。 Q. こんなプログラムを作れって言われたんですが・・・ A. 宿題スレへどうぞ。 Q. なんでスレタイに低速って入ってるの? A. まだまだ速くなるってことさ。
15 デフォルトの名無しさん 2011/09/22(木) 08:19:57.39
Q. JavaFX と Swing 混ぜちゃ駄目なの? A. SwingベースのアプリにJavaFXコンポーネントを乗せるのはOKです。 逆は不可です。(JavaFX2.0現在)ちなみに、JavaFX2.0は今年の下旬に リリースされます。今はベータ版です。
16 デフォルトの名無しさん 2011/09/22(木) 12:15:44.75
JDK7でてるのにQ&Aは6以前のままだな。
17 デフォルトの名無しさん 2011/09/22(木) 13:06:49.15
まだ開発者向けだからな
18 デフォルトの名無しさん 2011/09/22(木) 13:35:42.21
Nimbusはもう普通につかっていいよな
19 デフォルトの名無しさん 2011/09/22(木) 21:06:07.82
Nimbusに変えたいけどレイアウトが崩れるし 微妙にセンスが悪い気がするので結局Windowsのままだ
20 デフォルトの名無しさん 2011/09/22(木) 23:44:36.26
Nimbusと混ぜるとウマーとJOGLパイプライン統合とアプレットのDnDはもうQ&Aでもよさそう。 SwingX系はJRE7の一般DL以降くらいじゃねか? JavaFXまわりは検討もつかん。JavaFXはprismエンジンだから描画スレッドとEDT別だよってのはここの範疇?
21 デフォルトの名無しさん 2011/09/25(日) 11:50:18.93
>>7 見た目はWindowsのLookAndFeelでぎりぎりなんとかなるけど、 ファイル選択ダイアログの細部の挙動がネイティブと違って気持ち悪い。 あと、テキストフィールドで右クリックしたときの挙動とか。 でも、大きな理由はそんな細部じゃなくて、起動が遅いこと。 ディスクキャッシュに乗ってないとJVM起動して、関連するクラスロードして、 最初のフレーム表示するまでに数秒かかる。 動き出せばネイティブとの速度的な差はない。 22 デフォルトの名無しさん 2011/09/25(日) 12:47:42.50
会社で使う分には、起動が遅い方が、いいよ。その分、ゆとりがでる。
23 デフォルトの名無しさん 2011/09/25(日) 12:55:35.08
商用のソフトじゃ使われてないから人気がないように見えるけど 社内とかだと結構使われてたりするよ
24 デフォルトの名無しさん 2011/09/25(日) 13:27:25.01
数千行のテキストを容易に表示できて 表示するテキストを後から容易に追加できて テキスト中に何らかのコンポーネント(テキストのリンク、アイコン、ボタンなどどれでも良い)も表示できて そこからイベントを発生させられるような コンポーネントはありますか? JEditorPaneでハイパーリンクを使うことを考えましたが HTMLにテキストを追加するのが容易ではないのと、テキスト追加が頻繁にあると重くなりそうで、別の選択肢が無いか探しています。
25 デフォルトの名無しさん 2011/09/25(日) 14:53:43.96
テキスト追加と、表示とを分けて考えたほうがいい。 たとえば編集にはJTextArea、表示にJEditorPaneを使って、Wikiっぽくするとか どうよ? どうしても同じ画面でやりたいとかじゃなきゃ、いけそうだが。
26 デフォルトの名無しさん 2011/09/25(日) 18:41:24.17
テキスト追加はユーザが編集するのではなくて プログラムがテキストを出力します
27 デフォルトの名無しさん 2011/09/25(日) 20:09:40.16
>>26 難しい、重いと思うならコンポーネントなんか使わないで独自実装でもすれば? ぐだぐだ抜かしてないで、まず実装してから最適化しろよ。 28 デフォルトの名無しさん 2011/09/25(日) 23:41:30.43
>>24 数千行くらいJEditorPaneで十分だがJListでも使っとけ 29 デフォルトの名無しさん 2011/09/26(月) 16:48:51.44
30 デフォルトの名無しさん 2011/09/26(月) 17:37:02.94
31 デフォルトの名無しさん 2011/09/26(月) 18:02:49.84
ケンカすんな
32 デフォルトの名無しさん 2011/10/03(月) 21:03:40.05
JavaFXって一体どこで使うべき技術なのかいまいち分からない。
33 デフォルトの名無しさん 2011/10/03(月) 21:39:44.04
>>32 んなもん、おまぇ、Swingの代わりだろ・・ 34 デフォルトの名無しさん 2011/10/03(月) 21:41:40.22
>>33 JavaFXってSwingに依存してないってこと? 35 デフォルトの名無しさん 2011/10/04(火) 08:50:32.34
36 デフォルトの名無しさん 2011/10/04(火) 08:58:15.69
SwingもそのうちJava標準GUIライブラリの地位を 剥奪されたりすんのかな
37 デフォルトの名無しさん 2011/10/04(火) 17:56:40.53
>>34 依存しなくてもできるし、依存してもいい。 もともと、JavaFXスクリプトっていって、WindowsプログラムにおけるWPFのような お気軽なGUI設計思考で作られた。でも、スクリプト自体がなんもなくなってしまった。 38 デフォルトの名無しさん 2011/10/05(水) 18:48:09.85
JavaFXにはコンポーネントが不足してるのでSwingも使う→ Swingにはリッチなコンポーネントが不足しているのでSwingXも使う(java7いまここ)→Swing labは終ってしまったので結局路頭に迷う。
39 デフォルトの名無しさん 2011/10/06(木) 02:28:29.67
Swingはん、まだまだこれからやで~。 わし、今日、3980円もする、JavaGUIVol.1ていう、Swingばっかの本こうてきたわ。
40 デフォルトの名無しさん 2011/10/06(木) 02:44:39.96
奇遇やな わしおととい図書館でVol.2借りてきたで 付属のCDにVol1のソースまで付いてきて得した気分になったで
41 デフォルトの名無しさん 2011/10/06(木) 08:34:53.32
UI 関連は、タッチパネルUI勢、HTML5勢の勢いがすごいからな すぐに Swing 並の API が JavaScript で用意できるか俺は懐疑的だが もしものすごい実装用意されたら、ついに Swing は終わってしまうな
42 デフォルトの名無しさん 2011/10/06(木) 08:58:41.45
それはない
43 デフォルトの名無しさん 2011/10/06(木) 20:51:28.65
HTML5全盛の今でも、PCではまだIE6サポートしないといけないから実戦では使えない
44 デフォルトの名無しさん 2011/10/06(木) 21:15:58.13
流れてくるメッセージがちょいちょい違うから混乱するかもな。 それで混乱して質問したら「なんでそんなことやってんだ」と罵倒される。 それに変なクセがつきそう。 練習ならメインウインドウにボタンやらエディットコントロールを貼り付ければ良いと思うよ。 全部CreateWindowでできる。 猫でもわかるかWisdomsoft参考にしろ。
45 デフォルトの名無しさん 2011/10/08(土) 10:16:05.78
46 デフォルトの名無しさん 2011/10/11(火) 10:20:12.45
JApplet(Swingのアプレット)にJTableって乗せれる?
47 デフォルトの名無しさん 2011/10/11(火) 16:46:18.74
motiron
48 46 2011/10/12(水) 12:15:11.24
>>47 どうもです。Javaアプレット復権しないっすかね~。 49 デフォルトの名無しさん 2011/10/12(水) 13:54:28.64
しないだろう というかあんな時代はもう来なくていい
50 デフォルトの名無しさん 2011/10/12(水) 14:05:56.18
Javaメインに使ってる自分としては、わざわざActionScriptとか別に覚えるの面倒だから Appletのが良いかな。
51 デフォルトの名無しさん 2011/10/12(水) 14:20:24.13
全盛期のjavaアプレットは、あまりに重くてただのブラクラと化してたけど Swingみたく今はそうでもないのかね
52 デフォルトの名無しさん 2011/10/12(水) 14:34:34.67
iOS や Windows 8 がすでに、もうブラウザ上で動くプログラムは HTML5 オンリーと決め込んでるからな Flash も Java も Silverlight も廃れるべきと奴らは考えてるらしい。 おれが思いうに Java は着々とセキュリティホールは塞がれてるし、 動作速度も速い。ブラウザの対応も年の功で進んでる。開発環境は 揃ってて、クロスプラットフォームのクライアントサイドの技術と しては今ある中ではベストだと思うよ。
53 デフォルトの名無しさん 2011/10/12(水) 15:17:33.07
ブラウザがダメになるならAppletを実行・起動するにはどうすればいいんですか?
54 デフォルトの名無しさん 2011/10/12(水) 15:30:10.80
JavaWebStartってアプレット扱えなかったっけ?
55 デフォルトの名無しさん 2011/10/12(水) 17:24:59.78
ウィンドウベースのアプリケーションに移植するなら JApplet.setContentPane(mainPane) のとこを JFrame.setContentPane(mainPane) とかすれば、まあ動くだろう まあ、アプレットはブラウザ上でセキュアに動くから、 ユーザにとって価値があるのであって、なんでもやらかす ウィンドウベースのレガシーなアプリケーションにされると よくないだろう
56 デフォルトの名無しさん 2011/10/12(水) 18:18:38.68
そういえば Adobe AIR はどこにいったかね
57 デフォルトの名無しさん 2011/10/12(水) 18:35:17.45
radikoで現役じゃん
58 デフォルトの名無しさん 2011/10/12(水) 20:06:08.81
59 デフォルトの名無しさん 2011/10/12(水) 23:09:50.56
>>58 確かに、html + JavaScript(&ライブラリ)使って開発するよりは、Javaプログラマにとっては ハードルは下がりますね… しかしGWT使った開発、規模が大きくなるとすごく面倒。 コンパイルが洒落にならないくらい時間かかる、ってのが一番大きいと思うけど、他にもデバッグ時とか。 同等規模のhtml5風開発したこと無いのでJavaプログラマにとってどっちがよりましか、 ってのは分からないんだけどもね。 60 デフォルトの名無しさん 2011/10/12(水) 23:37:32.61
61 60 2011/10/12(水) 23:50:40.90
ごめん、多分 > Appletをデスクトップにドラッグ&ドロップすると > 通常のアプリのようにアイコンダブルクリックで起動できるようになる(JWSとしてインストールされる?) は記憶違い。 そして>>55 はJWSのことを言ってるわけじゃないことにも気付きました… 62 デフォルトの名無しさん 2011/10/13(木) 00:18:03.76
GWTってWAVEと同じでもうオワコンなんでしょ?
63 デフォルトの名無しさん 2011/10/13(木) 00:22:58.94
ハジマル前からオワテタ
64 デフォルトの名無しさん 2011/10/13(木) 04:12:46.11
JavaFXがmobile&tabletでも動けばなぁ。 ここの部分は切り捨てなくてよかったと思うよJavaFX。 つかAndroidで動くCDC/PPがいるか。
65 デフォルトの名無しさん 2011/10/19(水) 05:11:14.63
javaでRIAがもっとしっかりしてればウェブトップ開発に使えたのに
66 デフォルトの名無しさん 2011/10/19(水) 11:42:08.99
それがAndroidなんじゃないか?
67 デフォルトの名無しさん 2011/10/21(金) 21:28:11.58
java質問スレとどっちに書くか迷ったのですが、こちらで 質問させてください。 BorderLayoutなJFrameのCENTER位置にJTabbedPaneを 置いて、MouseListener#mouseExitedを仕込みその中で setCursorsしています。 すると、JTabbedPaneから周りのcomponentにゆっくり カーソルを出した場合は、さらにwindow外にポインタを 出してもsetしたカーソルを維持してくれます。 が、マウスを早く動かして周りのcomponent上での滞空時間が 短くなるようにカーソルをwindow外に出した場合は、カーソルが 変わってくれなかったり、windowの大きさ変更のカーソルに なったりします。 これをゆっくり動かしたときと同じようにすることは出来ない でしょうか。 (mouseExitedイベント自体はちゃんと発生してます) (window外で発生するmouseDraggedイベント内でsetCursors してもカーソルは変わってくれませんでした) (setCursorsはRootPaneのGlassPaneにおこなっています)
68 デフォルトの名無しさん 2011/10/21(金) 22:40:38.30
了解
69 67 2011/10/22(土) 08:33:58.21
setCursorのjavadocに、「このコンポーネントの contains メソッドが 現在のカーソル位置に対して true を返」さないと駄目って書いてある じゃんorz マウスの動きが速くてsetCursor前にコンポーネント外に出てしまうと きかなくなっちゃう、って話ですね。 完全にawtの問題でした。質問すれに行きます。すれ汚しすまんかったです。
70 デフォルトの名無しさん 2011/10/22(土) 12:45:02.33
>>66 RIAとAndroidになんの関係があるんだ? 71 デフォルトの名無しさん 2011/10/23(日) 15:31:13.82
SwingUtilities.invokeAndWait() が invocationTargetException をスローするとEDTが終了してくれないようなのですが、 何かいい対処方法ないでしょうか…
72 71 2011/10/23(日) 15:37:25.43
73 デフォルトの名無しさん 2011/10/23(日) 15:40:54.70
5か6で必要なくなったけど全部のケースじゃなかったのか?
74 デフォルトの名無しさん 2011/10/24(月) 10:20:47.22
>>71 EDTの生成、終了ってユーザが管理するものではないと思うが… 死んでも勝手に復活するぞ? 75 デフォルトの名無しさん 2011/10/24(月) 14:33:58.22
流れ嫁
76 デフォルトの名無しさん 2011/10/24(月) 17:33:33.87
流れ婿
77 デフォルトの名無しさん 2011/10/25(火) 03:12:17.90
78 デフォルトの名無しさん 2012/01/10(火) 12:06:38.54
SwingでmouseClickedの中でnew JDialog(...)してsetVisible(true)すると、 そこで処理が止まっちゃうんだけど、どうしたらいいの? class HogeListener extends MouseAdaptor { public voud mouseClicked(MouseEvent ev.) { JDialog dialog = new JDialog(...); System.out.println("1"); dialog.setVisible(true); System.out.println("2"); } }
79 デフォルトの名無しさん 2012/01/10(火) 12:41:37.61
setModalityType()とかでモードレスに設定するか 普通にJFrameでも使おう。
80 デフォルトの名無しさん 2012/01/10(火) 20:02:40.41
さんくすです。 モーダルダイアログだとsetVisible(true)すると setVisible(false)かdisponse()するまで処理が止まるんですね。
81 デフォルトの名無しさん 2012/01/12(木) 00:52:54.57
http://pastebin.com/4qH6Adke 上記のようなTableTest.javaというjavaのソースファイルを実行すると、 下図のように、表の部分にマダマダ余白があるにも関わらずスクロールバーが現れてしまうUIとなってしまいます このレイアウトで余白がなくなるまでスクロールバーが表示されないようにするにはどうすれば良いでしょうか? また、初心者なので他に変な所があれば指摘頂けるとありがたいです 82 デフォルトの名無しさん 2012/01/12(木) 22:42:06.88
>>81 35,36行目、JSplitPaneにつっこむところのJScrollPaneを消す。 83 81 2012/01/12(木) 23:34:46.24
>>82 出来ました!それすると表の項目名(xとy)が表示されないものとばかり思ってました ありがとうございます 84 デフォルトの名無しさん 2012/01/15(日) 22:32:04.55
JTableの選択モードで ・クリックしたセルを含む行全体を選択(ハイライト) ・同時に選択できる行は1行のみ のようにするにはどう選択モードを設定すればよいですか?
85 デフォルトの名無しさん 2012/01/19(木) 08:36:19.94
JTable table; table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); table.setCellSelectionEnabled(false);
86 デフォルトの名無しさん 2012/01/20(金) 20:37:51.11
JEditorPaneにHTMLフォームを表示しsubmitボタンでフォームデータを表示するプログラムを ↓を参考に作成しましたが、submitボタンでNullPointerExceptionが発生します。 http://www15.plala.or.jp/kichijitsu/java/jeditorpane_submit.html どこがおかしいのでしょうか? editorPane.setEditable(false); editorPane.setContentType("text/html"); editorPane.setText(content); ((HTMLEditorKit) editorPane.getEditorKit()).setAutoFormSubmission(false); editorPane.addHyperlinkListener(new MyHyperlinkListener()); class MyHyperlinkListener implements HyperlinkListener { @Override public void hyperlinkUpdate(HyperlinkEvent event) { System.out.println("HOGEHOGE"); //←マウスがリンクに重なると表示されます。 if(event instanceof FormSubmitEvent) { System.out.println("PIYOPIYO"); //←submitボタンを押してもここまできません。 ・・・・ } ・・・・ ↓発生する例外 Exception occurred during event dispatching: java.lang.NullPointerException at javax.swing.text.html.FormView.submitData(FormView.java:376) at javax.swing.text.html.FormView.actionPerformed(FormView.java:356) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) ・・・・ 87 デフォルトの名無しさん 2012/01/24(火) 01:22:12.63
ポップアップメニューで選択されたのをトリガーとして なにか重い処理を行う場合(サンプルコードのdoSomethingメソッドのような)、 ポップアップメニューが表示されたまま、画面が固まったようになってしまいます。 画面が固まるのは仕方ないとして、別処理の前にポップアップメニューを 非表示にすることはできないのでしょうか。よろしくお願いします。 サンプルコードは以下です http://ideone.com/zIVRZ 88 デフォルトの名無しさん 2012/01/24(火) 18:55:30.08
>>87 別スレッド立てて、そのなかで重い処理すればいいよ。 今時はスレッドを直接使うんじゃなく、swingworker使うのが普通かな。 89 デフォルトの名無しさん 2012/02/03(金) 11:38:07.78
Windows環境(XP/7)の文字入力で変換候補ウィンドウが入力文字に重なってしまうのを、 重ならない様に表示する方法があれば教えてください。 AWTでの表示のようになって欲しいです。 90 デフォルトの名無しさん 2012/02/03(金) 15:03:24.45
>>89 Sunの実装が手抜きで未確定文字左下のx,yしかwindowsに送ってないのが原因だから、 Java側からじゃどうしようもないと思う。 BugDatabase行くか、Swing使うの諦めるか、我慢するか。 91 デフォルトの名無しさん 2012/02/03(金) 15:53:25.38
どうしようもないですか… 分かりました、ありがとうございました。
92 デフォルトの名無しさん 2012/02/19(日) 10:56:26.50
GUIスレッドとファイル・通信を行う2つスレッドのがあります。 ファイル・通信を行うスレッドでイベントを発生させて、GUIスレッドでイベントをキャッチしたいのです。 どのようにすればイベントを発生させることができますか
93 デフォルトの名無しさん 2012/02/20(月) 10:52:32.50
SwingUtilities.invokeLater
94 デフォルトの名無しさん 2012/03/02(金) 14:18:11.33
あるウインドウAのメニューからそのウインドウの設定パネルBを出して、ウインドウAの位置や 大きさの現在値を表示したいのですが、設定パネルBを生成するのがウインドウAのコンストラクタ内 (Aの部品のメニューにaddActionListener()を設定して,その中でnew ActionListener(), さらにその中でactionPerformed(ActionEvent)として,その中で new B() を呼ぶ) なので,Aへの参照をBのコンストラクタに引数で渡して B(A instanceOfA) のようにしても instanceOfAには常にnullしか入っていません。(つまりAのコンストラクタが完了して完全にAを 生成した状態になる前の時点でB(A)を呼び出してしまっているのだと思います) こういうときSwingではどういうふうにするのが常套手段なんでしょうか? Aのコンストラクタ内以外でBのデータを更新して表示する方法があるのかわかりません。 お教えいただきたくお願いします。
95 デフォルトの名無しさん 2012/03/02(金) 15:03:46.87
どうみてもメニューが押されて初めてBが生成されてるようにしか読めないのだが。 Bのコンストラクタにthisを渡したらthisがnullだったわけ?
96 デフォルトの名無しさん 2012/03/02(金) 15:24:30.23
>>95 そうれす。 この場合のthisはAなんだけど、Bのコンストラクタを呼び出すのがAのコンストラクタの内部だから Aがまだ生成されていないのでthisはまだnullのままなんだと思う。 JavaはそこそこやってるんだけどSwingは最近始めたばかりなので感覚がわからん。 ウインドウA への参照を aRoot として取得できるかと思って B を生成するメニュー項目 menuItemB を使い final JFrame aRoot = (JFrame) SwingUtilities.getRoot(menuItemB); みたいなのをイベント発生前に入れてみても、所詮 A のコンストラクタ内なのでaRoot==nullなんだな。 目的とする処理はありがちなので常套手段があるんだと思う。引き続きお願いします。 97 デフォルトの名無しさん 2012/03/02(金) 15:52:33.69
こちらこそヨロシクお願いします
98 デフォルトの名無しさん 2012/03/02(金) 16:00:44.75
this 自身はたとえコンストラクタの中でも null にならないよ! きっと何か勘違いしてるよ! 本当にコンストラクタのせいだと思うならコンストラクタであれこれ初期化するのをやめればいいだけじゃない! init メソッドとか別に作ってそこで色々やればいいと思うよ!
99 デフォルトの名無しさん 2012/03/02(金) 16:05:09.38
内部クラスでのthis参照は色々と落とし穴があるので要注意。 解らなかったらとりあえず内部クラス使うのやめてみよう。 いや、thisがnullとかありえないから。
100 デフォルトの名無しさん 2012/03/02(金) 16:28:55.75
>>98 >>99 ついでに>>97 確認のために内部クラスを使わずに単純なクラスA,Bを作り、Aのコンストラクタ内部で BのコンストラクタB(A)を呼び出してみましたが,たしかにAには非null値がちゃんと渡されていました。 >>99 さんのご指摘のとおり、やはり内部クラスからのthis参照がまずいようです。 >>98 さんのご指摘のようにコンストラクタ以外のinit()メソッドのようなものを作って呼び出したいのですが どのタイミングで呼び出せば良いかがわかりません。 「パネルBを開いた」というのを、Bのコンストラクタでもなく、actionPerformed()ブロックの中でもなく 呼び出すには、Swingではどのようなからくりを使うんでしょう?初心者でサーセン。 101 デフォルトの名無しさん 2012/03/02(金) 16:33:10.64
>>100 誤>「パネルBを開いた」というのを、...呼び出すには、... 正>「パネルBを開いた」というのを、...知るには、... 102 デフォルトの名無しさん 2012/03/05(月) 10:03:36.04
A() { JMenu menu; menu.addActionListener(new ActionListener() { actionPerformed(ActionEvent event) { B b = new B(this); } }); } ということ?(上はかなりてきとーだけど) 上の場合の this は A ではなくて、無名クラスのですよ。 下のようにすれば、望みどおりいくような気がします。 見当違いでないとよいのですが。 A() { JMenu menu; menu.addActionListener(new ActionListener() { actionPerformed(ActionEvent event) { createB(); } }); } private void createB() { B b = new B(this); }
103 デフォルトの名無しさん 2012/03/05(月) 11:53:37.70
eclipseスレから誘導されてきました Eclipse + WindowBuilderでGUIを作って フォームにButtonnとLabelを置いて、Buttonをダブルクリックして自動的に開いたソースコードの部分に labelのテキストをSetText("変更しました")って変更したいんですけどlabelのオブジェクトにアクセスできないわけなんです どうやってlabelにアクセスするのでしょうか?
104 デフォルトの名無しさん 2012/03/05(月) 12:14:48.43
>>103 誘導されたとはいえ、いくら何でもひどい。 Eclipseスレで「JavaのSwingの基礎知識をググってから 」ってところを何もしてないのがバレバレ。 Javaがある程度理解できるなら、ダブルクリックで表示されたソースを見ただけで labelのインスタンスがわかるはず。 105 デフォルトの名無しさん 2012/03/05(月) 12:25:03.45
まーた中級者が初心者いじめしてるよ
106 デフォルトの名無しさん 2012/03/05(月) 13:03:57.19
じゃぁ答えてやれよw
107 デフォルトの名無しさん 2012/03/05(月) 21:43:10.51
そういやJava初心者スレってないんだな。 宿題丸投げスレが該当すんのかな
108 デフォルトの名無しさん 2012/03/06(火) 00:22:22.92
>>107 いやあのスレは初心者スレだから。分けてもしょうがない。 109 デフォルトの名無しさん 2012/03/06(火) 03:01:43.43
会話が成立していないぞ
110 デフォルトの名無しさん 2012/03/06(火) 03:04:39.29
111 94 2012/03/06(火) 14:09:03.26
>>102 さまはじめみなさま どうもありがとうございました。やりたかったのは次のようなことでした。 public class FrameA extends JFrame { final JFrame frameA = this; //これで期待通り動いた[PPP] JMenuItem menuItemForB = new JMenuItem(); menuItemForB.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { panelB = new PanelB(frameA); //[QQQ] } } ); } public class PanelB extends JPanel { public PanelB(FrameA frameA) //frameAの参照を引数で渡す[RRR] { //ここから frameA を操作するために frameA を参照する } } [PPP] のように単純に FrameA の this を取って [QQQ] [RRR] のように引数で渡したところ期待通り PanelB の内部から frameA を参照して操作できるようになりました。動かなかった原因は [PPP] の this のかわりに>>96 に書いたaRootを使っていたことでした。これでOKですが、もし [RRR]のように 引数で親の参照を渡すのより良い方法がSwingプログラムの常套手段にあるようならお教えください。 112 デフォルトの名無しさん 2012/03/06(火) 14:26:22.68
ない
113 デフォルトの名無しさん 2012/03/06(火) 15:56:14.06
PanelBが内部クラスならできるよ public class FrameA extends JFrame { JMenuItem menuItemForB = new JMenuItem(); public FrameA(){ menuItemForB.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { panelB = new PanelB(){ } } ); } public class PanelB extends JPanel { public PanelB() //frameAの参照を引数で渡す[RRR] { //FrameA.thisで呼ぶ } } }
114 94 2012/03/06(火) 16:20:38.22
>>113 なるほど FrameA の中で PanelB を定義すれば FrameA.this が見えるわけですね。 なお >>111 に示したコードの前半もほんとうは>>113 のように FrameA の コンストラクタ内にあったんですが貼り付けるときに削除してしまっていました。 Swing も内部クラスも使ったことがなかったので勉強になります。ただ、PanelB の コードは FrameA から独立させて書いておきたいので、Swing のマナー違反でない 限り >>111 のような引数渡しの方法を使おうと思っています。どうもありがとうございました。 115 デフォルトの名無しさん 2012/03/06(火) 17:03:13.13
単に public class FrameA extends JFrame { JMenuItem menuItemForB = new JMenuItem(); menuItemForB.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { panelB = new PanelB(FrameA.this); } } ); } は?
116 94 2012/03/06(火) 17:45:57.39
>>115 いちいちframeAに代入したりしないで直接FrameA.thisを渡すということですね。 >>111 よりスマートだしいけそうですね。どうもありがとうございます。 117 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/05(木) 17:18:43.81
JFrame をマウスでドラッグして移動するイベントを取得するにはどのようにするのが 定石なんでしょうか?以下のような構造のコードを書いてみましたが、タイトルバーの下の 本体領域の内部では[A][B]の処理が行われるものの、本来の目的である JFrame 全体の ドラッグは検知しないようです。HierarchyBoundsListener() を使えば JFrame 移動の イベントを取得できましたが、マウスのドラッグ以外による移動まで検知してしまうので できれば使いたくありません。簡単な方法がありましたらお教えいただきたくお願いします。 public class Test extends JFrame implements MouseMotionListener { public Test() { ... addMouseMotionListener(this); } public void mouseDragged(MouseEvent e) { ... } //[A] public void mouseMoved(MouseEvent e) { ... } //[B] }
118 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/06(金) 18:51:29.84
>>117 で質問したものです。挙動がおかしかったのはマルチディスプレイ・ マルチワークスペースという少し特殊な環境でテストしていたからのようで、 普通の単一スクリーン上でテストしたところ期待通り動いていました。 現在 HyerarchyBoundsListenerを使っていますが、ComponentListener の componentMoved() でも良さそうです。マルチ・ワークスペースに対応する ように修正することにします。うまくいかなかったらまた質問させてください。 119 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/07(土) 16:01:05.53
http://orablogs-jp.blogspot.jp/2012/02/mpeg-4-multimedia-support-in-javafx.html 2012年2月10日 [JavaFX] MPEG-4 multimedia support in JavaFX JavaFX 2.1で、H.264/AVCビデオとAdvanced Audio Coding (AAC)オーディオを含むMPEG-4マルチメディアコンテナフォーマットで格納されているデジタルメディアの再生をサポートしました。 この新しい機能は、JavaFXのサポートされているすべてのOS(Mac OS X、Linux、Windows XPとVista (32bit) 、およびWindows 7 (32/64bit)を含む)全体で動作します。 実際のオーディオおよびビデオのデコーディングは、OS固有のメディアエンジンに依存していますが、 JavaFXのメディアフレームワークは、これらのネイティブエンジンでサポートされているすべてのマルチメディアコンテナフォーマットと、メディアのエンコーディングを処理しようとしているわけではありません。 (*) JavaFX 2.0は既に以下のメディアフォーマットをサポートしています。 音声:MP3、非圧縮PCMを含むAIFF、非圧縮PCMを含むWAV 動画:VP6ビデオを含むFLV、MP3オーディオ 120 デフォルトの名無しさん 2012/05/13(日) 07:58:23.99
日経ソフトウェアの2011年9月号に載ってた Android用の静止画をモザイク処理するプログラムを PC用のJava SEにJavaの部分とJNIを使ったC言語の部分だけ移植してみたんだが 64bit版のJava SEと32bit版のJavaSEでかなり性能が違うな 計測に使ったOSは64bit版Windows 7 SP1でCコンパイラはWindows SDKのを使用 CPUはCeleron G530定格 初回実行時 2回目実行時 java C言語 java C言語 32bit 36ミリ秒 16ミリ秒 29ミリ秒 16ミリ秒 64bit 25ミリ秒 12ミリ秒 8ミリ秒 12ミリ秒 64bit版のJava SEは-versionでバージョン表示するとJava HotSpot(TM) 64-Bit Server VM、 32bit版のJava SEは-versionでバージョン表示するとJava HotSpot(TM) Client VMと出ますが 1度実行した部分の実行速度がかなり違うようです
121 デフォルトの名無しさん 2012/05/13(日) 08:44:11.60
もっと大きい静止画(4000x4000ピクセル)で試してみた 初回実行時 2回目以降実行時 java C言語 java C言語 32bit 274ミリ秒 133ミリ秒 244ミリ秒 133ミリ秒 64bit 87ミリ秒 100ミリ秒 65ミリ秒 100ミリ秒
122 デフォルトの名無しさん 2012/05/13(日) 13:41:17.35
マイナーアップデート毎にもデフォルトで有効になってる最適化オプション違うんでjreのバージョンも書いてくれ。
123 120 2012/05/13(日) 16:12:01.36
java version "1.7.0_03" Java(TM) SE Runtime Environment (build 1.7.0_03-b05) Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing) java version "1.7.0_03" Java(TM) SE Runtime Environment (build 1.7.0_03-b05) Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)
124 デフォルトの名無しさん 2012/05/13(日) 16:24:12.66
>CPUはCeleron G530定格 エンコードなど高負担のときなどにも日常的にOCしてるんですか?
125 120 2012/05/13(日) 17:21:55.86
64bit版でJavaよりJNIを使ったCの処理が遅いのは JNIで画素数分の巨大なint型配列を引数として渡しているので おそらくJNIのインターフェースのオーバーヘッドによるものだと思います
126 デフォルトの名無しさん 2012/05/14(月) 08:25:48.39
>>123 32bitと64bitの違いよりも、Client VMとServer VMの違いの方が大きいと思うよ。 32bitもServer VMで動かしてみな。 127 デフォルトの名無しさん 2012/05/15(火) 04:33:07.64
>>123 >>122 のときは-XX:+PrintFlagsFinalオプション使うんだ。 レスポンスの話なら7u4にするとG1 GC使えるからもっと良くなるよ。 client VMってまだあったんだ。 128 デフォルトの名無しさん 2012/05/15(火) 06:05:04.35
実行速度を優先したい場合は 32bit版のJavaでは-server オプションを指定するといいってことか
129 デフォルトの名無しさん 2012/05/15(火) 07:25:32.22
>>127 えっG1GCってJava6u10からじゃないの? 130 デフォルトの名無しさん 2012/05/15(火) 08:14:43.63
>>129 デフォがg1gcになるのが 7u4からってことでは? 131 デフォルトの名無しさん 2012/05/15(火) 09:33:10.84
>>129 商用サポート先行だからu4未満はAdvancedかSuiteにしかない 132 デフォルトの名無しさん 2012/05/20(日) 04:49:33.30
-server付けるとメモリ喰われて嬉しくないデメリットは有るんじゃないの? 鯖なら速度重視でメモリ積んどけでいいけど、クライアントpcでメモリ増やせってのはなかなか言えないかもしれない。台数多かったりするし。
133 デフォルトの名無しさん 2012/05/21(月) 21:34:44.89
俺がG1GCだと思って使ってたのは何だったんだ…
134 デフォルトの名無しさん 2012/05/30(水) 18:32:42.02
>>133 存在するけど機能しないオプションは通知なしに無視されるからデフォ設定で起動してたんじゃね? オプションの通知周りはu4で変更入ってたと思う。 135 デフォルトの名無しさん 2012/06/18(月) 16:46:49.63
ここ数年内に標準的なディスプレイの解像度が一気に3倍ぐらいうpするシナリオが Retinaとかで結構現実味を帯びてきたわけだが、 Swingプログラマはどう立ち回っとけばいいの? フォント周りはポイントサイズでの指定を徹底し、 ボタンやラベルやメニューを普通に使うぶんには JRE側でなんとかdpiを吸収してくれるのかな…
136 デフォルトの名無しさん 2012/06/18(月) 22:34:21.60
超解像度が必要になってくるのは家庭用の4KやQFHDなビデオソフトが出てきてからだろう。 WUXGAでたりないなら数枚並ばれば間に合う。いままでにWUXGA以上が出てるのに普及しなかっただろ。
137 デフォルトの名無しさん 2012/06/18(月) 23:13:49.72
>>135 サイズ固定にしないで設定で変えられるようにしとけばOK。 138 デフォルトの名無しさん 2012/06/19(火) 13:18:19.23
4KとかWUXGAとかは画素数の話で、DPI関係なくない? JUDEのウィンドウ実寸が1/3とかになったら目にきついからUML引退するっ
139 デフォルトの名無しさん 2012/06/20(水) 03:58:47.30
>>138 デスクの上に置くのに26インチ以上は無理があるだろうから今後は画素数だけ上がってDPIが大きくなるよ。 ノートやタブレットだとなおさら。 140 デフォルトの名無しさん 2012/07/03(火) 23:58:10.25
Judeていつの時代だよ
141 デフォルトの名無しさん 2012/07/04(水) 00:24:30.02
1968年だね
142 デフォルトの名無しさん 2012/07/04(水) 02:06:44.22
Na na na, na-na-na-na, na-na-na-na
143 デフォルトの名無しさん 2012/07/04(水) 02:18:32.85
銀座アスター
144 デフォルトの名無しさん 2012/07/04(水) 09:38:10.55
もう世の中アプリというアプリはみんなHTML5/CSS3でデザインするんだ Swingはもう完全に役目を終えたよ ご苦労さんでした
145 デフォルトの名無しさん 2012/07/04(水) 09:47:14.41
JavaFX2.0はXMLだっけ? HTMLにしとけばいいのに。
146 デフォルトの名無しさん 2012/07/04(水) 10:18:24.14
>>145 viewの定義をxmlでやるのは 最近のGUIではむしろトレンドだと思うんだが 147 デフォルトの名無しさん 2012/07/04(水) 10:19:25.87
つうかJavaScriptとかで書かれた小汚いコードいじりたくねえ
148 デフォルトの名無しさん 2012/07/04(水) 10:40:16.85
>>144 コンシューマー向けはそうなるかも試練な 149 デフォルトの名無しさん 2012/07/04(水) 10:42:47.34
150 デフォルトの名無しさん 2012/07/04(水) 11:03:31.53
>>149 ん?この本買えっつーこと? それは勘弁 すまんが自分の言葉で書いてくれないか? 151 デフォルトの名無しさん 2012/07/04(水) 11:18:04.38
>>146 以前からやってたマイクロソフトやアドビはしかたないけど、 HTML5の仕様がほぼ固まったあとに新たに違うものを覚えさせるより、 それに乗っかったほうが楽じゃなかったのかなと思うよ。 マイクロソフトはMETROではそうするんだろ。 152 デフォルトの名無しさん 2012/07/04(水) 11:45:09.58
>>151 正直domをJavaScriptみたいなクソ言語でゴリゴリいじるとかやってらんないんだけど それだけならまだいいけどサーバに問い合わせに逝くところ以外全部jsで書けと? 変数のスコープぐらいなんとかしてほしい。。。 別にHTML5絶対反対とか言わないよ 仕事で勉強しているし 押し付けられてもうざいだけ 153 デフォルトの名無しさん 2012/07/04(水) 12:14:01.48
でも、クライアントアプリのGUIデザインで使うJavaScriptなら まともなクラスも、letによるまともなスコープもある最新のJSが使えるだろうし ブラウザで動くんじゃないから、ブラウザ非互換も考えなくていいし そこまでうんこじゃないんじゃないか
154 デフォルトの名無しさん 2012/07/04(水) 12:14:28.28
>>151 HTMLで出来る事だったらそれで良いかもしれない。 だがねHTMLタグにはコンポーネントの場合どうするの? 例えばchartとか。 タダのcanvas置いといてidにそれらしい名前つけるとか、 divタグにnamespaceで特殊属性とか付けてる方が理解不能になるよ。 Adobeだって独自XMLだが、見た目はCSSで定義可能だよ。 Webアプリに関しても結局テンプレートエンジンとかが必要になるしな。 Wicketとかは素のHTMLに独自属性だから一番近い感じになるだろうけど。 XMLCだと画面はHTMLで書けるが、サーバ側でごりごりDOM操作しなきゃならんし。 155 デフォルトの名無しさん 2012/07/04(水) 12:34:27.60
htmlより抽象化された構文のxmlの方が画面の構造定義しやすいし Controllerのクラスにバインドして簡単にハンドリング出来る とは言ってもスマホのブラウザあたりからいじれるhtmlメインのアプリの利便性は否定しないよ 専用ランタイム要求する時点で相当敷居があがる 昔みたいなFlashしかなかった時代じゃないし でもJavaScriptほどウンコな言語もそうそう無いと思う
156 デフォルトの名無しさん 2012/07/04(水) 12:59:54.27
JavaScriptはうんこだとしても、flashの方がいいって思ってるのか? つーか、ブラウザは普通に他の言語でも動くようにすればいいだけだと思うが。
157 デフォルトの名無しさん 2012/07/04(水) 13:05:42.98
だよね ブラウザで python が動いたら楽しいだろうな
158 デフォルトの名無しさん 2012/07/04(水) 13:37:46.41
Go言語とかCoffee?
159 デフォルトの名無しさん 2012/07/04(水) 13:39:49.38
>>156 Flashは死滅して欲しい まぁFlexとか触ったことないけど 160 デフォルトの名無しさん 2012/07/04(水) 14:18:24.55
>>156 AS3はJavaScriptより良いと思う。 よりJavaに近いからそう思うだけかもしれないが。 >>159 ゲーム系死滅するからFlash死滅は困る 161 デフォルトの名無しさん 2012/07/04(水) 14:32:40.26
>>160 スレ違いだけど過疎スレだからいっか。。。 WebGLとかどーなん? 162 デフォルトの名無しさん 2012/07/04(水) 15:05:16.87
>>161 OpenGLをWebに持って来たって感じだから、素でも使える人間なら使えるんじゃない? まぁ、普通無理。 なんで結局ライブラリを使うわけだが、それでも3Dの素養が必須。 使えるブラウザ及びOSなら描画最速。(ハードウェア支援があるから当然と言えば当然) Canvasに素で書くより、ライブラリ経由してでもWebGL使った方が速いらしい。 最終的にはCanvasに描かれるんだけどね。 インタラクティブなもの、例えば地図を立体的に描く場合とかに有効だろうけど、 ゲームとかに使う場合、JavaScriptをオブファスケータとかに掛けないと すぐ中身見られるしあんまり美味しくないと思う。 画像データとかも保護されないし。 swfはそういう実行物のパッケージングとしては優秀だったと思う。 163 デフォルトの名無しさん 2012/07/04(水) 15:08:00.39
NaCl ですねわかります
164 デフォルトの名無しさん 2012/07/04(水) 18:12:56.35
>>160 スマホのFlashはフェードアウトするみたいだけど、どうなるん? 165 デフォルトの名無しさん 2012/07/04(水) 18:17:34.65
Flashがデスクトップのゲーム用にフォーカスすることになって 立ち位置がますますかぶるDirectorの将来がヤバい
166 デフォルトの名無しさん 2012/07/04(水) 22:22:40.06
>>164 スマホで金になりそうなのはアプリしかないでしょってことで、 アプリ制作にフォーカスしてランタイム作りますって事だと思う。 簡単な紙芝居とかだったら今まで使ってきたツールで作れて、 iPhone,Android両対応出来ますぜと。 マウスが存在する従来環境であれば今まで通りでいいんだろうけど、 タッチインターフェースはまるで違うからね。 インタラクティブってこうやればとか思ってた部分が根本的に変わるから。 167 デフォルトの名無しさん 2012/07/05(木) 00:11:27.88
日本語でおk
168 デフォルトの名無しさん 2012/07/05(木) 10:26:34.68
そんなにわかりづらい事書いたかな?
169 デフォルトの名無しさん 2012/07/05(木) 11:26:33.05
彼はきっと日本語勉強中なんだろう
170 デフォルトの名無しさん 2012/07/06(金) 02:11:19.48
JavaWebStart最強じゃね?
171 デフォルトの名無しさん 2012/07/06(金) 08:59:54.15
ここんとこMacじゃ嫌われ者扱いだけどナー
172 デフォルトの名無しさん 2012/07/06(金) 09:50:58.74
アポーがアップデート配信タラタラするからだろ 別に堅牢なOSでもないのにウィルス対策入れてないの多いし
173 デフォルトの名無しさん 2012/07/07(土) 18:08:51.57
>>171 ,172 友人が先祖代々信者だがそういう連中はそういうの分かり切っててmacだからで諦めてるよ。 あれが出来ねーとかごちゃごちゃいってるのはにわかだから生粋の信者は文句ないらしいぞ。 開発するならwindowsとか言ってたし。 174 デフォルトの名無しさん 2012/07/07(土) 18:48:27.47
道具に接する態度としてどっちがいいかはなんともいえんな
175 デフォルトの名無しさん 2012/07/07(土) 19:44:50.34
Macなんて所詮道具(キリっ) 道具が目的化したのがWindows(キリっ)
176 デフォルトの名無しさん 2012/08/16(木) 19:37:15.63
アプレットでjava7に切り替えた途端、ネットワーク接続が以下のエラーで失敗するようになりましたが、 アップデートで何か気にしなければならないことはあるでしょうか? Caused by: java.net.SocketException: Permission denied: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79)
177 デフォルトの名無しさん 2012/08/19(日) 04:49:51.03
ディスクの残り容量
178 デフォルトの名無しさん 2012/08/20(月) 09:02:58.96
>>176 -Djava.net.preferIPv4Stack=true IPv6がらみ。 179 デフォルトの名無しさん 2012/08/26(日) 00:18:35.58
JavaFXの姉妹スレはC++さんに荒らしされてるのでこっちでお聞きします。 metalがまだsteelのころに、metalworksだったかのサンプルでcolorがred,greenなど全体の印象を変更できたのですが、metal laf (steel,ocean)の時にそれらカラーなどをSystem.setPropertyなどのプロパのセットのやり方だけで設定することは出来ませんか?
180 デフォルトの名無しさん 2012/08/26(日) 00:51:59.27
馬鹿には無理
181 デフォルトの名無しさん 2012/08/29(水) 09:57:43.43
Containerクラスの以下のメソッドで、マウス下の部品を取ろうと思っていますが、 コンボボックス、テキストボックス、JTabbedPane、JScrollPaneなどは取れますが、ラベルがどうしても取れません。 なにかいい方法はないでしょうか? Component getMouseEventTarget(int x, int y, boolean includeSelf) {
182 デフォルトの名無しさん 2012/08/29(水) 10:27:01.65
馬鹿には無理
183 デフォルトの名無しさん 2012/09/10(月) 08:01:46.88
WindowsのネイティブアプリからSwingアプリにドラッグアンドドロップすると ネイティブアプリ固まるようになってね? Swingアプリを終了するまでネイティブアプリ操作できないし ネイティブアプリ領域にマウスポインタもってくとアイコンがドラッグアンドドロップ状態のままだから ドラッグアンドドロップの終了処理がないとかのミスだと思うが。
184 デフォルトの名無しさん 2012/09/11(火) 01:16:49.58
ドロップで受けたときにスレッドに処理を預ければいいんじゃないの?知らんけど
185 デフォルトの名無しさん 2012/10/05(金) 13:09:24.80
パネルの指定した座標上にある最上位の部品を判断する方法はありますか? これの逆ギャックっぽいものを探しています。 SwingUtilities.getDeepestComponentAt
186 デフォルトの名無しさん 2012/10/05(金) 13:35:46.27
アプレットとか考えなくて良いならgetWindowAncestorで取れんじゃないの?
187 デフォルトの名無しさん 2012/10/08(月) 16:46:15.51
JTextArea のインスタンスについては setBackground(色) を使って普通に背景色を 設定できるんだけどなぜか JTextPane のインスタンスには同じ方法で設定できません (デフォルトの白のまま) 考えられる問題点とか対処方法について情報があったら教えて
188 デフォルトの名無しさん 2012/10/08(月) 17:53:27.77
189 デフォルトの名無しさん 2012/10/08(月) 22:55:03.75
>>187 背景色指定されたHTML文書読ませた、とか? うちでは引数なしコンストラクタで生成したJTextPaneに setBackground()で背景色指定したら反映された。 190 デフォルトの名無しさん 2012/10/09(火) 01:18:03.21
191 デフォルトの名無しさん 2012/10/16(火) 20:03:04.79
ボタンを押すと、GUIが配置される仕組みにしています。 JButtonやJLabelなどはこれができるのですが、JTabbedPaneだけ表示されません。 JTabbedPaneは何か特殊な仕様になっていますか?
192 191 2012/10/16(火) 20:22:27.77
自己解決しました それぞれのタブを全部可視化しなきゃならんのか
193 デフォルトの名無しさん 2012/10/17(水) 15:21:36.51
Javaアップデートの準備ができました? って疑問形でタスクバーに表示されたけど、こんな風な聞かれ方だっけ?
194 デフォルトの名無しさん 2012/10/17(水) 18:09:13.59
丸ウェアですねわかります
195 デフォルトの名無しさん 2012/10/17(水) 21:37:46.74
( ´_ゝ`)フーン・・・ Σ (゚Д゚;)マジ? 念のため無料のアバストで全てのファルをウイルスチェックしましたが大丈夫だったぽいです。
196 デフォルトの名無しさん 2012/10/23(火) 12:06:01.13
public class main extends JApplet{ public void init(){ JButton 画像の描画スレッド } public void run(){ 描画スレッドの中身 repaint(); } public void paint(Graphics g){} } 画像を描画しながらJButtonを前面に表示するにはどうやれば良いですか? また、初期状態でJButtonが表示されずにマウスポインタをオーバーさせたら表示されます。これはどうしてですか?
197 デフォルトの名無しさん 2012/11/10(土) 13:03:50.56
Swingやって、金もうけられた人っているの?
198 デフォルトの名無しさん 2012/11/10(土) 18:45:49.52
2000年付近の数年はイントラ向けアプリでボロ儲けではないけど普通に。 今も仕事自体はあるけど段々他プラットフォームに移行してる
199 デフォルトの名無しさん 2012/11/10(土) 21:12:45.77
2000年っていうと、いわゆるWeb系の超初めのころだね。Strutsとかまだなかったんだよな・・
200 デフォルトの名無しさん 2012/11/10(土) 21:17:24.91
サーブレットとJSPとJavaBeansで頑張ってた頃。
201 187 2012/11/10(土) 23:05:00.63
単純にJTextAreaへの参照が正しく貼られていなかったのが原因でした >>189 さんありがとう 202 デフォルトの名無しさん 2012/11/11(日) 00:05:04.05
軽量の意味はOSの機能を使っていないという意味なんですよ。 速いという意味ではないんです。 だから、Swingは十分高速なんです。
203 デフォルトの名無しさん 2012/11/11(日) 00:08:35.83
誰に対するレス?
204 デフォルトの名無しさん 2012/11/11(日) 12:46:19.72
今のスレタイに落ち着いた経緯をご存知ないということでしょう
205 デフォルトの名無しさん 2012/11/20(火) 21:02:14.53
JAVAFX2ってJRE7に入ってる?
206 デフォルトの名無しさん 2012/11/21(水) 03:12:10.97
JavaFXスレと分離しているのはなぜよ? 向こうはもう完全にFXスレにしてまえばえーやん
207 デフォルトの名無しさん 2012/11/21(水) 04:15:18.85
208 デフォルトの名無しさん 2013/09/15(日) 00:48:54.37
macのJFileChooserのやる気のなさパねぇ
209 デフォルトの名無しさん 2013/09/18(水) 01:42:21.03
いまはopenjdkベースだから開発者が少ないと実装が遅いでしょ
210 デフォルトの名無しさん 2013/09/19(木) 13:11:14.07
開発者に志願して助ければいいってことかい?
211 デフォルトの名無しさん 2013/09/19(木) 21:31:55.18
macの開発できるならオープンソースコミュニティは喜ばれると思うよ。
212 デフォルトの名無しさん 2013/11/13(水) 13:41:16.32
jtableの最終行の色を変えたいのですが どうすればいいでしょうか? getRowcount()でレコード数がわからると思うのですが、そのあとがわかりません。
213 デフォルトの名無しさん 2013/11/13(水) 14:26:23.72
TableCellRendererについて調べるよろし
214 デフォルトの名無しさん 2013/11/13(水) 14:36:50.41
>>8 って実は最近人気のフラットデザインなんじゃね!? 215 デフォルトの名無しさん 2013/11/13(水) 19:55:01.89
216 デフォルトの名無しさん 2014/01/13(月) 13:14:19.16
カレンダーコントロールもないのか?
217 デフォルトの名無しさん 2014/01/13(月) 14:22:10.66
次のjavafxとswingにdate pickerが入るんじゃなかった?
218 デフォルトの名無しさん 2014/01/13(月) 22:41:37.48
次っていつよ。。。
219 デフォルトの名無しさん 2014/01/14(火) 01:14:59.46
JavaFX8は今年中には出る! はず。。
220 デフォルトの名無しさん 2014/01/14(火) 01:29:29.09
もしかして、FXスレって消えた?
221 デフォルトの名無しさん 2014/01/16(木) 00:54:04.93
>>220 ないみたい。 こっちをFX共用にしとけばよかったのかな。 222 デフォルトの名無しさん 2014/01/17(金) 23:31:15.37
Swingは失敗したけど、FXは成功するでしょうか みたいな議論はどのスレでやればいいのでしょうか?
223 デフォルトの名無しさん 2014/01/17(金) 23:40:48.34
このすれ以外にどこかあるんですか?
224 デフォルトの名無しさん 2014/01/18(土) 03:15:28.42
JDK-6506617 : Keyboard-lock in swing program on Linux box という重大なバグを8年以上たった今でも解決する気がないみたいだけど、 どうしてなんだろう。
225 デフォルトの名無しさん 2014/01/18(土) 03:17:25.68
ちなみに限定的なバグじゃなくてあらゆるLinuxOSで100%再現する。
226 デフォルトの名無しさん 2014/01/18(土) 03:26:41.27
オラクルはケチで有名なので文句を言われなければ手間暇かけて直そうとしないからですよ
227 デフォルトの名無しさん 2014/01/18(土) 16:23:44.73
228 デフォルトの名無しさん 2014/01/18(土) 16:37:38.84
>>224 それは本当にJDK側で解決すべき問題なのかい? 229 デフォルトの名無しさん 2014/01/18(土) 16:54:18.07
YES.なぜならswingの領分で、他のコンポーネントにフォーカスを強制的に移して戻したら数回は直る。 そのときにクリックするなど一切せずLinuxへのメッセージはないからだ。 しかしクリックすれば確実に直る。
230 デフォルトの名無しさん 2014/01/18(土) 17:06:18.99
日本語入力の時に頻繁に発生するから最悪なんだよね VBOXとかの仮想環境で古いリナックスを使うことが多いけどそのバグが原因でスイングあぷりを使う機会はまずないね オラクルはウインドーズにしか投資しないつもりだからそのバグが直る見込みは絶対ないよ
231 デフォルトの名無しさん 2014/01/18(土) 23:06:20.34
>>230 ネイティブ環境(非仮想環境)だと出ないん? まあ、仮想環境でもキーを連続で打てないのは痛いけど。 ちなみに、バグレポートではキー押しっぱなしが再現方法になってるけど 日本語入力だと、どうすると出てる? 232 デフォルトの名無しさん 2014/01/19(日) 00:03:12.21
ubuntu 6.06 ltsだったけど実機でもよく出るよ 再現方法が少し違うから違うバグだろうけどx-window関連だから多分同じバグだろう 特にESCでダイアログを閉じたときフォーカスが戻って来ないのでキー入力がアスキーでも日本語でもテキストが入力されないバグだったかな ショートカットも効かなくなるからマウスでアプリを終了するしかない(再起動すれば最悪また戻る) このバグはぐぐると英語サイトがいつくかヒットするけど、swingのアプリは実質ウインドーズ専用と考えたほうがいいだろうね javafx8 (build 1.8.0-ea-b117)ももうするリリース近いのにubuntu 12.04では日本語入力がまともじゃないからjavafx8も結局ウインドーズ専用になると思う
233 デフォルトの名無しさん 2014/01/29(水) 20:55:21.39
JavaFX jarファイルに固めてダブルクリックしても起動しないんですが仕様ですか? eclipseからは起動するのに
234 デフォルトの名無しさん 2014/01/29(水) 21:28:38.71
JavaFXを含まないHello Worldレベルのを作って試してみたら?
235 デフォルトの名無しさん 2014/01/29(水) 21:45:02.32
Swing、SWT、ともに起動します 何故かjre7.u45以前のVMを指定したらコマンドラインから起動できることを確認しました jre7.u45以降のではコマンドラインからも起動できない
236 デフォルトの名無しさん 2014/02/02(日) 19:56:24.94
Swingや選んだのは失敗であった 日本語入力するときが不自然すぎる JavaFXもくそすぎわろた 同じように日本語入力が不便 せめて SWT を選んでおくべきだった・・・
237 デフォルトの名無しさん 2014/02/02(日) 20:03:56.91
osx?
238 デフォルトの名無しさん 2014/02/03(月) 10:45:06.38
OSXは知らないけど、WindowsではGoogleIME使ったときが、入力候補の出る場所がおかしい。 ウィンドウの左下に出る。普通、カーソルのすぐ下に出るだろう。
239 デフォルトの名無しさん 2014/02/03(月) 11:18:12.25
ubuntuでも同じく左下にでます
240 デフォルトの名無しさん 2014/02/04(火) 04:53:44.83
>>230 java 1.6 のソースコードを見るとログを仕掛けてなおそうと頑張ってた形跡がある。 そのログを見たいなら以下で取得可能。 public static Logger focusLog = Logger.getLogger("java.awt.focus.Component"); >>231 キー押しっぱなし→? Textボックスをマウスクリックでたまにキーフォーカスが死亡する。 241 デフォルトの名無しさん 2014/02/04(火) 10:17:13.08
ubuntu12.04+ibus+mozcですが、たまにテクストコンポーネントがキー入力を受け付けず、ascii,日本語とも入力できなくなる時が今でもありますよ しかもnetbeans7使っていても発生するのでswing,javafxを検討してみたり勉強しようと考えないほうがいいと思いますよ(java+linuxではそれぐらい終わってるバグです) ケチで有名なオラクルの技術力なんてのは企業買収で成り上がっただけなので底力なんてあるはずもなく実力は所詮こんなものです
242 デフォルトの名無しさん 2014/02/04(火) 13:10:42.52
java.awt.im とかちゃんと使ってる人いるのか? Javaプログラマが日本語入力監視してやらないと、 入力バリデーションとかが期待通りに動かないことがまれによくある。
243 デフォルトの名無しさん 2014/02/04(火) 19:22:33.47
java1.6以上のJTextAreaなどJTextComponentのline-wrap方式は、 奇妙な位置で折れます。 これを1.5以下の方式に戻す方法があるか教えて下さい。
244 デフォルトの名無しさん 2014/02/04(火) 23:03:46.05
他の外国語でも同じバグがあるなら修正用ラッパ作る気にもなれるんだけどね…
245 デフォルトの名無しさん 2014/02/04(火) 23:06:29.04
>>243 奇妙な位置で折れることを想定してプログラム書けば全て解決する話 それよりもそのことのためだけに今更1.5以下のJRE使えという方が非常識 246 デフォルトの名無しさん 2014/02/04(火) 23:13:02.05
たと えばこんな感じに折れます。 これを想定し て書くのはしんどいです。
247 デフォルトの名無しさん 2014/02/04(火) 23:27:34.38
なんだかんだ言ってMicrosoftの素晴らしさを再認識する
248 デフォルトの名無しさん 2014/02/04(火) 23:34:38.59
Javaも大きく育てばもっとSunもOracleも開発に人材をさけたのかもしれん
249 デフォルトの名無しさん 2014/02/04(火) 23:48:22.66
サンの時代ならまだ信用があったから起死回生もありえたけど、クライアント(ウェブ)やモバイルやデスクトップに興味がない今のオラクルじゃ何やってももう無理
250 デフォルトの名無しさん 2014/02/05(水) 00:31:55.09
>>246 てか、それ英単語の空白部分で折れてんじゃないの? そもそもそんな不自然な折れ方するバグがあったとしたら世界中の開発者が黙ってないと思うんだがな しかも1,6以上で出るんだろ? もし英単語空白部分で折れてんなら、それline-wrapの仕様だよ 251 デフォルトの名無しさん 2014/02/05(水) 00:44:09.39
252 デフォルトの名無しさん 2014/02/05(水) 00:55:16.69
それ関係なくね
253 デフォルトの名無しさん 2014/02/05(水) 01:50:03.91
textコンポーネントってカスタム化したBreakIteratorとか指定できないのか
254 デフォルトの名無しさん 2014/02/07(金) 10:00:31.04
GUIレイヤーにはHTML5/Google Chromeを使えばすべて解決
255 デフォルトの名無しさん 2014/02/22(土) 16:40:09.20
FX興味あるけどまだSwing主体で使うべきなんだろうな
256 デフォルトの名無しさん 2014/02/22(土) 21:36:37.89
主体で使うべきはいまだにawtですよ
257 デフォルトの名無しさん 2014/02/23(日) 00:12:26.05
今の時代、FXっていうと金融のほうの話にしか聞こえない
258 デフォルトの名無しさん 2014/02/23(日) 00:16:06.75
どっちも手を出したらケガする点は一緒
259 デフォルトの名無しさん 2014/02/23(日) 12:29:54.52
260 224 2014/02/24(月) 00:48:36.27
なんかopenjdkにしたら直ったくさい。 CentOS(32bit) jdk1.7からopenjdk1.7にしたらOK Debian(64bit) open1.6でOK
261 デフォルトの名無しさん 2014/02/24(月) 02:28:30.01
バグの再現方法が分からないのに直ったも糞もあるかよ
262 デフォルトの名無しさん 2014/02/24(月) 04:30:04.61
今までは毎日50回以上再現してたわけだが。
263 デフォルトの名無しさん 2014/02/24(月) 04:35:27.92
jdk1.7でもawtのテキスト・コンポーネントってawt.useSystemAAFontSettings=onにしても汚いままだね java+linuxはやっぱり終わってる
264 デフォルトの名無しさん 2014/02/24(月) 04:43:32.62
テキストじゃなくてリスト・コンポーネントだったか? とにかくオラクルはawt component全般で直す気もなければやる気ないんだから、awt,swing,javafxでguiをやろうと考えるのは茨の道に入るのに等しい
265 デフォルトの名無しさん 2014/02/24(月) 04:44:53.54
266 デフォルトの名無しさん 2014/02/24(月) 04:46:31.64
ナオト君とユリコさんしか文句言ってないんじゃあ直されるわけがない
267 デフォルトの名無しさん 2014/02/24(月) 05:24:53.45
linuxデスクトップですらまともに使えないjava+awt+swingなんてのは結局のところwindows専用のguiフレームワークでしょ ていうかjavaがサンだった頃はまだ可能性はあったが、オラクルになったjavaってのはwindowsデスクトップともども静かに死んでいく運命でしかない awt,swing,javafxなんていうデスクトップやクライアントものは誰も相手にしないから、バグなんかもわざわざ報告してもらえるはずない
268 デフォルトの名無しさん 2014/03/01(土) 01:05:24.52
JavaでGUIは諦メロンってこと?
269 デフォルトの名無しさん 2014/03/01(土) 03:44:24.16
Androidうらやまー。 TWLとかLIBGDXとかゲーム系GUIで良いのが出てくればよいのだが
270 デフォルトの名無しさん 2014/03/01(土) 11:02:45.58
androidの寿命が思いの外長いみたいだから、embbed,mobileのjavafxのライセンスは主要なところはどこも買わないだろう オラクルが欲を出して裁判でグーグルに負けたあたりから、javaはswing,javafxが低速低品質であるだけでなく、desktop/client java自体が終息していたんだなあと思う
271 デフォルトの名無しさん 2014/03/06(木) 23:38:19.81
Product Version JavaFX Scene Builder 2.0 (Developer Preview) Build Information Version: 2.0-b12, Changeset: 8bb7f8e4931d Date: 2014-01-30 08:10 JavaFX Toolkit = QuantumToolkit Pipeline = ES2Pipeline Hardware acceleration ENABLED Java 1.8.0-b127, Oracle Corporation Operating System Linux, amd64, 3.2.0-58-generic Copyright ? 2012, 2014, Oracle and/or its affiliates. All rights reserved.
272 デフォルトの名無しさん 2014/03/06(木) 23:41:36.02
?
もはや一般向け言語じゃないな。 アプレット開発完全に終わった。 ユーザーにコピペ作業させないと動かないフリーソフトって有り得ないだろwww
>ユーザーにコピペ作業させないと動かないフリーソフトって有り得ないだろwww これって何のこと? 開発者側じゃなくて?
JavaFXで2chブラウザで作ってみたけどかなりシンプルで扱いやすいライブラリになってて気に入った これはSwingとかは簡単に駆逐される予感がする
今出向先でswing使わされてるけど糞すぎて死にたい sdkも1.4使ってるし、いるのか知らんけど まともなアーキテクトいないと自社内で技術の選定もできねーんだなぁと
JavaFXはまだま未熟な印象あるけど相当使える JavaDocとか見てると3Dとかスマホを意識したメソッド名が散見されるけど、 今後クライントアプリで存在感示せるには十分、強力なライブラリだと思うな
>>282 ダイアログは、OSが勝手に扱いを変えるしな… ダイアログ的なものなんか簡単に実装できるもんじゃないの
画面の中央で手前に表示されるか Enterをおしたら、閉じて、OKの意味を伝達するか Escをおしたら閉じるか Tabをおしたら、フォーカスが移動するか
ダイアログってそんなややこしい仕様だったの? ちっさなStageにボタンつけてモーダルで表示するだけだと思ってた だからみんなダイアログ実装しろしろうるさいんだな
プラットフォームによってメタファが違うしライブラリが勝手な解釈して実装がカオスだったりもする
ダイアログって出されて嬉しかった記憶がまったくないから もうダイアログは出しちゃダメっていう決まりでいいだろう そういうダイアログメッセージメッセージ出す前にボタン押させないようにするとかいろいろあるだろ
SwingどころかAWTですら実装しているというのにFXときたら…
WPFだって事実上実装してないに等しいので、 「FXはダイアログとか出さない!」 というコンセプトなのでは。
RIA の方向性がそうなのかもな。 htmlからリッチにするとは言ったがそれはviewにおける表現の事であって云々。
すると、ダイアログの今後はどうあるべきなのは提示されないと困るよね。
モーダル・ウィンドウ作れるからダイアログ要らんがな。 実装面倒くさいだけならJFXtrasにひと通りのもんは入ってる。
軽量とか重量とかって何を基準に言ってるんだろうな。
日本では処理が軽いか重いかっていうイメージで間違った使われ方してるけど heavyweightが環境依存の重いコードガシガシ書くことでlightweightが環境非依存の軽いコード書く事だから本来はコードのポータビリティの話だろ。 会話するとき、間違った使い方してる奴が混じってると会話が噛み合わんってよくあるじゃん。
swingだろうとトップウィンドウがheavyになるって話も実際どこまで理解されてるのだろうね。
javafxはなんでほぼModelのクラスをContorollerって呼んでるんだろ
javafxはbindingがあるからsupervising controllerのMVPになるか。
>>300 じゃあなんでPresenterにしなかったのっていう話に javafxはMVPでもpresenter modelでもどっちでも作れるようになってるからcontrollerがpresenterっていう名前だったらおかしいだろ。 それと役割が同じだからじゃね。
署名高すぎ。 なんだよ年5万円って。 趣味でやるなってことか?
相模原メディカルサイト歯科日吉サンテラス歯科藤沢なのはな内科スマイル歯科アイ整形外科亀有 リリオ歯科アクロスみなみの歯科足立ハート歯科新宿くろさか歯科熊本ファミリー歯科伊勢原桜台歯科森林公園滑川モール歯科横浜いちょう歯科小田原めぐみ歯科ホワイトスタイル
質問失礼します。 JTabbedPane に複数の Panel を登録すると、キーボードのカーソル左右でタブを切り替える事ができます。 この機能を無効化したいのですが、どうしたら良いでしょうか?
setFocusable(false)でどうだろう
>>308 フォーカスは与えたいので少し厳しいですね。 左右で変えられるのは仕様として別のやり方でやってみます。 ありがとうございました。 カードレイアウト使ってタブはボタンかラベルでそれっぽく書けくのは? JavaFXだとStackPane使うんだけどSwingには相当するものがないね。
javax.swing.FocusManager で KeyEvent.VK_RIGHT / VK_LEFT を無効にすればいいんでね。
怪しいリンク踏んで遠隔操作されたらたまったもんじゃない
>>316 ヘボOSとかヘボブラウザ使ってるとビクビクしなきゃなんないのかもね 片山ゆうちゃんとかいう奴の事件が2chにリンク貼ってダウンロードさせるのが目的だったじゃn
>>318 あの人、ブラウザで閲覧しただけで即感染するレベルのもん作れたの? >>321 どうでもいい所にツッコんでるなー。 どうせなら、サイトの一番下にコメント書けるようになってるみたいだから、 「背景を別の色にしてください」 って作者さんにリクエストすればいいんでない? なんでそこまでする必要があるのかよくわからんが…?
2ちゃんブラウザは書き込める公開proxyにしか興味なくなった
>>313 そっさく更新されててワロタwww しかも背景ちょっと色が薄くなっただけ 作者さんいい奴ぽいな。他人事だと思って軽い気持ちでコメント書けばって言った俺ちょっと反省。
タイトルバーを独自に描画しないと、FX使っても カッコ悪いアプリしかできないね。
俺も昔そう思ってたわ 「俺の考える最強のタイトルバー」をユーザは求めているのか? どんなメリットやデメリットがあるのか?自己満足じゃないのか?
タイトルバーの色をラズベリーレッド・パールホワイト・ミッドナイトブラック の中からお選びください
間違えた。 野際陽子「レディース・アートネイチャーより、Forte (for Java)登場しました。」
今までSwingの標準Look&feelで書いていたプログラムをGTK+のLook&feelで動かそうと思ってmainの最初にUIManagerの命令を足しました。 見た目はしっかりGTK+化されているのですが、setBackgroundなどが機能せず、色が変更されません。 専用の命令が必要なのでしょうか?
setBackgroundしてから、repaint();で変わらない?
>>335 NetBeansなどのデザイナー使えばいいんでね >>334 UIManagerとUIDefaultsとputClientProperty使えと何度言えば 軽量コンポーネントは描画してないっつーの。 それかJavaFX使え。CSS書けばそれで済むからSynthと違って本当にCSSだけでなんでもできるから。 テンプレに入れとけよこれ。 JavaFXのメリットが良くわからん。 SwingのL&Fを強化すれば済んだんじゃないのか? substanceとか、syntheticaとかの外部ライブラリを使えば綺麗にできるけどね。
>>339 FXで今度こそプラットフォームインデペンデントな開発ができると夢見たんやな… >>339 ・原則ソフト前提のswingとちがってH/Wアクセラレーション前提で動いてるとか ・ライブラリのスペースがswingと比べて超軽量とか ・Swingにないコンポーネントサポートしてるとかはnetiveな部分が関わってるからswingではできないしJNIでJAWT呼び出す以上糞重いし ・マルチスレッドで書いたつもりなのに謎のバグがあるし ・>>334 みたいなswingわかってない奴がどうやっても描画ぶっ壊せない設計になってるとか LnFなんてメインテーマじゃない。 >>342 javafxはそんなもん目指してない。バリバリプラットフォーム依存してるしJAWTより薄いnativeで書かれてる。 そもそもRIAなんだからプレゼンテーション層はアプリケーションプログラマが書くからその下触らせないようにしてるからプラットフォーム独立なんて必要ない。 実装にクロスプラットフォームなライブラリ使ってるから移植性に問題もない。だから3dできるしwebブラウザあるし動画再生できるしOS依存の機能使える。 他にも山ほどメリットあるけどあげ出したらキリがない。 というか、SwingXのpainter APIをsunが諦めた時点でswing捨てるのは決まったようなもんだしjavafxにswing teamがsponsoredしてるからその内swingはメンテ終わる。 あと >外部ライブラリを使えば綺麗にできるけどね。 その外部のライブラリをJREに含めるはずだったSwingAppFrameworkがキャンセルされた後javafx2に移行したんだよ。 ほかにもSwingLabの成果は将来のSwingにマージするつもりだったけどこれもJXLayer以外キャンセル。SwingLabはSwingにおけるboostだからそこが解散したらもう未来はない。 javafxにおけるSwingLabに相当するコミュニティもすでにあるから移行する気まんまんだよ。
JavaFXってWindow最大化判定ってできないの?
Y_AXISに配置するBoxLayoutを設定し、maximumSizeを決めたJPanelの下にJTextPaneを設定すると、 JTexetPaneの右端まで文字が行っても改行してくれなくなってしまうのですが、これを改善する方法はありますでしょうか?
swing designerのような、GUIでウィンドウパーツを組み、ダイレクトにプログラムが書ける EclipseのJavaFX2プラグインありませんか?
そこ前スレじゃないし。分けても人来なくて過疎って落ちるだけって前から言われてたのにテンプレも貼らずに立て逃げしただけ。
>>351 そういうことだったのね どうもSWINGで作ったアプリがJDK8に入れ替えたトタンに、JtextField上で日本語変換すると アプリが落ちちゃうんだよなあ。 jdk8u20以降全部ダメだから8u11にしなさいとの神のご神託です。oracleだけに
>>360 Oracleがいかに糞なのかがわかる。 Googleも糞だが、2バイト語圏のテストなんてまるでしていないのがよくわかる。 Javaもそろそろ潮時かもな javafxのlinux platformへの対応が今でも後回しってことが根本的に間違ってる java7(javafx2)がでた2011年の時点でも、javaseやjavafxがwindows platformで使えるメリットって全く無いでしょ そういう要不要の判断ができないのは、優先順位や目的も設定できず、なんとなくで作ってたのが原因だろう モバイルデバイス市場をグーグルに持ってかれちゃった時点でjavafxは廃止してとりあえず様子見でswingに集中すべきだったのにね で、できたjavafx api/frameworkはswingと全く同じだし、それならswing apiを流用して内部実装だけ取り替えるという設計もあったんじゃないのかと思う javafx9は現在のjavafx2/8のapiを全て破棄して、swingライブラリ一部として結合してほしいね(それぐらいのことしないとjavaのguiは使ってもらえないだろう) ただ、グーグルはオラクル(サン)に比べれば名ばかりの貢献であって、長期的に実質的にはオープンソースに何らの貢献もしてないし,グーグルはオラクルを上回る大糞ってことは確かだ
よくみたらJComponentの継承関係がjava.awtに依存してるからjavafxとswingを統合するのは無理か それで考えてみたんだけど、javafxのui生成はfxml,cssだけにして、javaコードではui生成はできないようにすればjavafx apiの大半を削除できるし、awt,swingとの差別化にもなる fxmlにはannotation仕様も入るから、html+jsのようにbindingもfxmlでやれるし、現在javafx apiが肥大化し続ける問題を全て解決できるだろうね html,cssでpage form作るのとほぼ同じパラダイムになるからswing mvcを学ばなくて済むし、コントロールのクラスが非公開なのだから公開java apiをメンテしなくて済む uiの動的生成は全く使わないしbuilder classパターンと同じくいらないから、コントロールのjavaクラスはjava9では削除にして、fxml+annotation(java)+nashorn(js object)で構築するのが自然だろう
そもそもJavaの商用アプリケーションなんて「素人が作りました」という言い訳が可能が携帯ゲーム以外で見たことないしな…
uiは基本的に使いまわしたり他に流用したりせず使い捨て前提でデザインするから、ui frameworkが大きく変わって互換性があまり考慮されなくてもあまり困らないだろう。 kde3,4やgonome2,3も互換性は維持は前提としてないし、ui frameworkは同一バージョンのプラットフォーム固有で、パフォーマンスが必要な3d,anime,game,canvasなどはネイティブに密着で作って欲しいね。 というか、多少複雑でもhtml,flashですら簡単に素早く作れるのだから、それに比べれてみても、javafx8 apiは肥大化して、機能多過ぎで、言語サポート(リテラル)がなくいためコードが多くなって煩雑になる。 しかも、frameworkの設計が使い捨て捨て前提のui生成ではないから管理に手間もかかり、今後javafxをやるのはどう見ても終わってる(普及する可能性もない)。
>で、できたjavafx api/frameworkはswingと全く同じだし まるっきし違うんだが少しはソース読めよ。 ていうかおまえそればっかだな
はあ? javaをwindowsだけで使うならjavaなんか止めてc#やれよ。 windowsでjava使う状況は、仕事で必要って以外でjava,javafx,swingが必要な場面ってまずないだろ。 ていうか、linuxのswing,javafxの悲惨すぎる現状を知らないんだろうおまえは? guiなんかhtml page見てもわかるけど、model-viewなんかに分離しなくてもちゃんと作れるし、mvcやその派生のデザイン・パラダイムはもう今の時代やニーズに合わないってこと気が付かないの? linuxやshellもろくに触れず、windowsで満足しているお子様には、guiのお作法とかswing mvcの勉強とか絶対無理。 そもそも勉強が一巡できるかどかよりも、今のjavafx,swing frameworkは巨大で難解すぎて集中力の方が続かないだろね。
>>362 JavaFXに限らずLinuxのデスクトップなんて優先度は最下位でおk。 linux desktopが大事なんじゃなくて、javafx platform戦略としてはopenglesのjava platform再実装であって、linux kernel(shell)を使う端末のためのgui shellをx11に変えて提供するのが目的ってことで、 linux実質はopenglesが大事になってる。その流れでopenglesを実装したx11ではないlinux desktopが恩恵を受けられる。 windowsは特別dirextxのラップで提供しているに過ぎないけど、xbox,psなどjavafx(opengles) apiを使うよりよりネイティブのdirectx/c++しか使わないから、 directx版のjavafxを提供し続けてもjava/oracle利益にもならないし、microsoftものに関わってる時点でオープンソースに貢献もしない。 つまりwindows platformは副次的にして、linux(技術者サーバ)、mac(高利益クライアント)にoracle's resourcesを集中しないと、 javaはdotnetの代替に過ぎずjava platformとしても成長することはない(javafxがwindowsで普及することは絶対にない)。 思うに、windows版のoracle jdkは廃止して、jreだけ提供にすれば、google android対策、windows普及対策、ms-devices普及対策になるね。 windowsでjava開発をしたければ、oracle virtualbox(つまりfree linux desktop)か、jre/bin/jjs(つまりecmascript5/6以降)でやらせて、 ide当開発のパフォーマンスが欲しい人は、microsoftものではなく、mac,linux desktopを導入してもらえばいい。 microsoftの社長がナデラに変わったけど、windowsはcloudosを標榜してるから、windows native(desktop)の高速化にもこだわらず、デバイスがcpu 2.0ghz以下だからパフォーマンスも期待できず、 コスト管理のためwin32apiを全般してdotnetに統一しても、今後のmsもの,windows platformものは、デバイスが高速でないから体感も差はないから批判はあまりないだろう。 これが意味するところは、windows native開発ははc/c++を廃止して全てdotnet vmでやるという方向転換をされたら、jvmはdotnetvm上で動きパフォーマンスはかなり悪くなるから、 linux desktop,devices(tabletなど)が大事なのは、javaが今直ぐwindowsから離れないなら、もうjava platformはmicrosoftの手の上なのだからjavaに未来はないからだ。 sunは消滅し、mac,msとも代表者が代わり、時代は変わったし、これに順応してスキームを変えられないところ(もの)は時代にもニーズにも合わず自然消滅するのかと思う。
この板の投稿の限界値、2048文字丁度なんですよ 他に書いたこともいろいろ削除したんですけどね
率直に聞きますが Swingでスタンドアローンアプリってどうなんでしょうか? やっぱり、各プラットフォーム毎にアプリケーションはそれぞれ に最適なもので作ったほうが良いのでしょうか?
guiもクロスプラットフォームにできるという発想自体が幻想だったんですよ 実際受け入れられたのはhtml formですし javafxについても、html5のオラクル実装ってことで突き進んで欲しかったんですが、fxml,cssだけでいいんで、java codeでもui作れるのはいらないです(そういうのはswingでお腹いっぱいです) 理想としては、html3,4 (form), html5のタグをjavafxもの(fxml)に変えてclassfileへコンパイルするだけでjavafx appとして動くってのがいい感じなんですけどね
>>374 商用はあきらめて、Pascalみたいに教育に特化すればよいかと 何で「Swingでスタンドアローンアプリってどうなのか?」って質問の答えが 「Pascalみたいに教育に特化すればよい」になるんだよ?
swing linuxは、java6以降であればgraphics2dが改善されてるので性能やレスポンスの面では実用です。 linuxの本格的なサポートはxrendererがサポートされたjava7みたいですけど。 ただ、gtk-lafは崩れるし、linuxでは金掛けてないんで作りこまれておらずただ動くってだけで、j.a.SystemTrayはやる気ないし、awtとネイティブ日本語入力・変換との連携はjava8u5でもバグってて未だ直ってません。 画面が見たいなら、netbeansやv2cのlinuxをみればいいんじゃないですかね。
>>369 windowsでjava使う人がほとんどだと思いますけど。 とくにjavaが一見人気に見えますが、よく見ると実際はwindowsでandroid作ってますってのが大半でしょう。 つまりそういう人たちは、microsoftやgoogleものに貢献してますが、oracle,javaものには全く貢献してません。 上の続きですが、oracle jdkのwindows配布は中にして、windows oracle jdkは有料プログラムだけにするのがいいでしょう。 mac,linuxはオープンソース自体なので有料にする理由はありませんが、windowsではvirtualboxもopenjdkもあるので問題ないです。 これと同じくmsがwin32api, c/c++,vc++を一般向けは廃止にして、有料の契約者だけにして、一般は全てdotnetでやるという戦略をとるは現実的だと思いますよ。 そうすると、windowsplatformのvmものつまりdotnetで作るアプリ以外の全てのアプリはパフォーマンスがでないので、msとの有料契約か、ただ動くっていうのだけになるでしょう。 cloud-osの説明を見ててもmsとしてはwindowsのアプリは、基本html5,js,browserでやってくれればいいことでしょうね。 windowsでandroidしか作れない現状のjavaは、javafx(javame)はもちろんjavase自体がオワコンってことです。 JCheckBoxでテキストをクリックしてもチェックが変化しないようにしたいのですが、どうすればよいですか?
>>381 なるほど、こういう意見を言う奴は、3以下の数すら数えられない知性の持ち主と言うことで、 ということは、まともな知性の持ち主は当然逆。 >>384 それって、もしかして産業革命とモジったの? 低速も問題かもしれんが、デザインしにくい VisualStudioだったら適当に貼り付けて終わるが WindowBuilderでやるとスゲー時間が掛かる まるでWEBページを手打ちだけでデザインしてるようだ V2Cもswingで作ってるけど、どれだけ時間掛かったのだろう オマエラの根性に頭が下がるわ
もしかしてJavaでGUIがやれるという点しか利点がないんじゃね
天才が組んだアセンブリ資産をデバッグできる人がいなくなったという教訓から、プログラミング言語は馬鹿にもできなきゃダメだということ共通認識になりつつある
8u25が出たのにレス1つなしかいなw swingのバグ直ったらしいぞ。
javafxもswingもまともに動くのはwindowsだけだし、実質windows専用でしょ 今どきwindows以外でもguiが使えればいい、動けばいいというだけじゃだれも使わないよ android,iphoneやその他モバイルでは、どうしてクロスプラットフォームのフレームワークがなかなか流行らず、みなネイティブ言語を使い新規にguiコードを新規に書くのか guiのコードについて手を加えずともwindows以外でも動くのに、なぜ過去にswtが台頭し、なぜ現在までswingは積極的に使われなかったのか それは、windows以外だとjavafx,swingは積極的に力を入れてサポートしておらず、まともに動くのは結局windowsだけしかないからです
>>399 windowsで満足してlinuxも使ったことないのによくいうよ windowsで十分満足ならそのどこにクロスプラットフォームが必要なんだよw しかもネイティブlinuxでswingとかjavafxとか作ったことも動かしたこともないんだろ? linux環境でgtk-lafの不出来motiff-lafの最悪さをみれば、swingってのは結局windowsだけだなってことがよく分かるだろう javafxだと、オラクルになってからjavafxドメインと専用ページが消滅し、javafxの紹介ページもjavaseに埋もれてjavafx platform自体が消滅してるでしょ(つまりjavaはオワコンってこと) XPサポ切れによるLinux人口が増えてればLinuxでのGUI需要も増えるだろうからOracleも対応してくるかもしれんよ
>>402 そういう人はlinuxにも来なくていいしjavaでも全くお呼びでないので、windowsだけで一生過ごしてて下さい >>401 Windowsにこそクロスプラットフォーム性が必要だということを知らないのか? クライアントは自分のマシンにも「Windows」という名前がついてるから、Windowsで動くものは動いて当然だと思ってるし >>404 それはマイクロソフトがやることであってオラクルの仕事じゃないですね そもそもwindowsで閉じてるならjavaじゃなくてdotnetでいいのでは? >>396 IME問題と思われ。 JDKのページ(その詳細じゃない方)に書いてあるね。 V2Cで騒がれてたけど、そもそもNetBeansでこけるという壮大な奴。 oracle社員誰も使ってないんだねー >>404 Windows CEとWindows RTとWindows Phoneをdisるのはやめてもらえませんか?w >>409 経験上、Windowsで互換性が一番あるのがC言語だったというオチ >>401 クロスプラットフォームなんて幻想だよww 実際には、それぞれの環境に応じて、同じインターフェースになるように 作ってるのが現状。Javaだのなんだの、そんなものは、今もう語るような ものじゃねぇよ。 /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://ヽ:::::::::::::::| l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::// ヽ::::::::::::::l l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/:::「'ヽ:::::::::::// ヽ:::::::::::| |::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ノl:::ノ l:::::::/ ヽ::::::::| ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::/ ゙゙ ノ:::/ ,,;;;;;;,, ,,,,ヽ:::::l ):::::::::::::::::::::::::::::::::::::::::::::::/ ノ/ __,'''i: ('''__):::l )::::::::::::::::::::::::::::::::::::::::::::::::::/  ̄ ̄ン:. :「 ̄`ヾ 1:::::::::::::::::::::::「 `┤l:::::::::::::::::l  ̄ , ヽ ̄ l `l:::::::::::::::::::::ヽ :l li:::::::::::::/ ヽ /´ `l | ヽ::::::::::::::::::::::\_」 lヽ::::/ .l !:-●,__ ノ / ノ:::::::::::::::::::::::::::ノ | l `゙゙ i ,,;;;;;;;;;;;;;;;;;;;;, /ヽ ,/ ヽ::::::::::::::::::::::( l l::::::::.. /.:''/´ ̄_ソ / `ヽ ヽ:::::::::::::::ヽ | l:::::::::::... /::// ̄ ̄_ソ / \ ヴッ!! ヽ:::::::\| l::::::::::::::::... / :::.ゝ` ̄ ̄/ / ヽ ヽ:::l l:::::::::::::::::::..  ̄ ̄;;'' / ヽ l l;;;;;;:::::::::::::::.....;;;;............;;;;;;''ノ l l l '''''''''''''''''''''''''''''''''''''' ̄l | | VIDEO JFrameの大きさを中のコンポーネントに合わせて変化させたいんだけど、中のコンポーネントの大きさを変えた後のJFrame#pack()が効かない件
>>414 とりあえずこれは動いた import java.awt.Font; import java.util.Random; import javax.swing.*; public class Test { public static void main(String[] args) { SwingUtilities.invokeLater(() -> { Random rng = new Random(); JLabel label = new JLabel("ぬるぽ"); JFrame frame = new JFrame(); frame.getContentPane().add(label); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); Timer timer = new Timer(1000, e -> { label.setFont(new Font(Font.MONOSPACED, 0, rng.nextInt(40) + 10)); frame.pack(); }); timer.setRepeats(true); timer.start(); }); } } >>415 ごめん、一週間以上ハマってたのに自己解決してしまった。 しばらくスレ更新ないからこんなに早くレスくると思わなかったよ。ありがとう。 JFrame/JScrollPane/JTableという階層構造にしてて、JTableの大きさは自動調整させてたんだけど、その結果をJScrollPaneに指定してなかったのが問題だったみたい。 JTableからgetPreferredSize()でサイズとってJScrollPane#setPrefferedSize()で指定してあげて、pack()したらうまくいった。 2回目以降のpack()は動かないって勝手に決めつけるんじゃなくて、そういう簡単なコードを書いて確かめるようにするよ。 >>414 JFrame.setVisible(false) JFrame.setVisible(true) で反映しない? packでダメなのは当たり前ね。すでに表示してるんだから。 JDK8 u60入れてからV2CをNimbus Look&Feelでつかってると 垂直方向のスクロールバーのバーハンドルが表示されなくなるんだけど。 リストが短い(バーハンドルが長い)場合は表示されるんだけど、 リスト長くなると表示されなくなる。 閾値超えるとバーハンドルの長さを最低で留めるって処理が正常にできてないっぽ。 u51ではなんとも無かった。なんでこんなところでエンバグしてんだよとしか…… たぶん水平方向も同じじゃねーかと思うが、 V2Cでは横にはそんなに長くならんので確認してない。
バグが埋め込まれたってことは、もう完全放置かと思いきやいじってるのはいじってるってことか
受ける会社大丈夫? 下記の条件が全て当てはまる会社にご注意下さい。 ・IT系 in tokyo ・「社名 労基」でググると過去の2chスレが出てくる ・転職会議で2.5点
swingが分かりやすく学べる、おすすめの本を教えて下さい。
>>422 ええ、かなり前に出版された本ですね。 で、どなたかお勧めプリーズです。 本屋行って出来るだけ新しい本を探そう 最低でも3年以内、11年前の本とかは論外(読みかえが必要な個所が多数で使いものにならない)
swingは時代遅れ、javaFXの乗り代えなさい
>>425 なるほどそうなんですか…。 プログラミングの世界は技術革新が早いですね。 同じjavaでもラムダ式だと一瞬他の言語のように見えます。 そーいやJavaFXは日本語入力できるようになったん? 最初期に触ってた新しい物好きな日本人はあれでかなり居なくなったよね。
Javaって業務用アプリ書くのに使うのに、日本語通らないって言われたら誰も手を出さないんじゃない。 jre6なSwingでいくつかローカル部門用アプリ書いたけど、jre8の今もまあ普通に使えてるよ。 FXに手を出したことさえないけどさw
JFrame だけのプログラムで、フレームを拡大縮小し続けるだけでメモリ使用量が 200MB くらいまでいくんだがw
なんて起動して放置してるだけでヒープ増え続けていくのん? なんか生成し続けてるの?
小さい画像領域に大きい画像は入らないから、新しいメモリ領域を確保するだろ 小から大へ動かすとメモリを大量に消費するだろ
最近始めたんですが 起動がめっちゃ遅いのは仕様ですか? Eclipseからの起動→遅い JAR書き出し起動→超遅い
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 JD7SU
JavaFXが死んでこっちは盛り上がっているかと思ったが、そうでもないんだな。
向こうのスレから転載 An Oracle White Paper March 2018 Java Client Roadmap Update https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf Swing and AWT AWT has been an integral part of Java SE since its launch in 1996. Swing was introduced shortly thereafter as a separate library and finally incorporated into “J2SE 1.2” in 1998. Both toolkits are still part of the Java SE Specification and core to many other toolkits and applications that build on top of them. Oracle will continue developing Swing and AWT in Java SE 8 and Java SE 11 (18.9 LTS). This means they will be supported by Oracle through at least 2026. > This means they will be supported by Oracle through at least 2026. オラクルがこういう言い方するときは要するにまだ何も決まってないってことだぞ。 未来のことに触れてると見せかけて現状を説明しただけっていういつものやつ。