Java低速GUI Swingat TECH
Java低速GUI Swing - 暇つぶし2ch809:デフォルトの名無しさん
04/06/05 00:38
>>806 が書いたのが含まれてるんだろ

810:デフォルトの名無しさん
04/06/07 15:08
Metalのテーマって、いろいろあるもんかな?

811:デフォルトの名無しさん
04/06/07 22:25
SwingDemo を見る限り 4 つだったか 5 つは少なくともあるけど。

812:デフォルトの名無しさん
04/06/07 23:36
Mac風、Win風、GTK風、Motif風、Metalの5つ?

813:デフォルトの名無しさん
04/06/07 23:45
>>812
それは LookAndFeel であって
Metal 自体に 4 つだか 5 つだかあるぞ。

814:デフォルトの名無しさん
04/06/07 23:47
>>812
それはLookAndFeel。
質問をよくみて。

クラスとしてはDefaultMetalThemeのほかにOceanThemeが追加されてるね。

815:デフォルトの名無しさん
04/06/07 23:57
orz 参考になります多。

816:デフォルトの名無しさん
04/06/08 03:11
なんだ?最近sWINGの話題が豊富じゃないか。
2年前なんて全然閑古鳥状態だったのに・・・

817:デフォルトの名無しさん
04/06/08 04:11
>>816
1.4.2から、やっと使い物になる速さになった。

818:デフォルトの名無しさん
04/06/08 19:54
>>816
sWINGなんて書くからWINGsかと思った
WINGsの情報は皆無に等しいがな

819:デフォルトの名無しさん
04/06/08 21:21
無料でばらまいてから、消えたな>WINGs

820:818
04/06/09 04:00
>>819
???
俺が言ったのはWindowMakerが使ってるやつ

821:デフォルトの名無しさん
04/06/09 04:18
wingS?

822:デフォルトの名無しさん
04/06/09 04:28
URLリンク(wings.mercatis.de)

823:デフォルトの名無しさん
04/06/18 14:02
サンデープログラマーですが、何か作ろうと思っています。
Null Layoutはあまり使わないってどこかで見ましたが、実際はどうなんでしょうか?
VBっぽくNull Layoutで作ろうと思ってます。


824:デフォルトの名無しさん
04/06/18 14:09
>>823
好きにしろ。
自分しか使わないようなアプリならどっちで作っても他から文句はでないだろ。

825:823
04/06/18 14:17
>>824
まあ、そうなんですが一般的な話を聞いているだけですよ。


826:デフォルトの名無しさん
04/06/18 14:35
>>825
一般論で言えば、VB出身者は null Layout を好む。
エディタ+コマンドラインツール派は Layout Manager を好む。

827:デフォルトの名無しさん
04/06/18 15:02
>>825
一般的には、作るものに応じたものを使う。

828:デフォルトの名無しさん
04/06/18 15:58
>>823
一般的にはNullLayoutは使わない。
>>826
null Layoutを好むVB PGもJavaではLayoutManager使うでしょう

それはそうとSwingは糞
誰かJavaWebStartのネイティブorSWT版作ってくれ。
せっかくSWTの美しいアプリ作ってWebStartで公開しても
起動メニューがアレじゃあ俺様のアプリがへっぽこに見えるじゃねーか

829:デフォルトの名無しさん
04/06/18 16:04
決めつけ(・A・)イクナイ
NullLayoutが適切な場面であれば、NullLayout使えばいい。

830:デフォルトの名無しさん
04/06/18 16:30
>>828
> null Layoutを好むVB PGもJavaではLayoutManager使うでしょう
VB PG は JBuilder とかで null Layout を使います。
以前にVBを主に使ってて Layout Manager を使う人は見たことないです。

> それはそうとSwingは糞
そーゆー話題は他のスレで気の済むまでやってください。

> 誰かJavaWebStartのネイティブorSWT版作ってくれ。
必要なら自分で作ってください。

831:デフォルトの名無しさん
04/06/18 16:38
>起動メニューがアレじゃあ俺様のアプリがへっぽこに見えるじゃねーか
実際にへっぽこなんだろ?

832:デフォルトの名無しさん
04/06/18 17:58
>>828
1.5beta2についてるやつ使ってみ。

833:デフォルトの名無しさん
04/06/19 01:04
>>830
> VB PG は JBuilder とかで null Layout を使います。
> 以前にVBを主に使ってて Layout Manager を使う人は見たことないです。

漏れは、以前にVBを主に使ってたが、SwingではGridBagLayoutをメインに使ってる。


834:デフォルトの名無しさん
04/06/19 01:09
NetBeansなんかだと、null LayoutからGridBagLayoutにがんばって変換してくれるしね。
EclipseのVEでももう少し賢くできるんじゃなかろうか。知らんけど。

835:デフォルトの名無しさん
04/06/19 03:06
久々に Swing でコーディングしてるが、
思いのほか動作が軽快でいい感じ。

JavaWebStart も凄く便利。
感動した。

836:デフォルトの名無しさん
04/06/19 03:09
SwingのUIって
ニ セ ブ ラ ン ド み た い な 怪 し さ が あ る よ ね !

837:デフォルトの名無しさん
04/06/19 03:12
>>836
あーはいはい。で?
最近はまっとうな批判ができなくなったから、ただの中傷するだけになったん?

838:デフォルトの名無しさん
04/06/19 03:14
いかようにもなるので「SwingのUI」なるものはありません。

839:デフォルトの名無しさん
04/06/19 03:22
>>836
そういや、VCLもそんな雰囲気だったなぁ。
MFCで作るものと、動きが違うものがあった。
ウィンドウ最小化するときのアニメーションがなかったり。

840:デフォルトの名無しさん
04/06/19 03:38
使う必要がなくなったので、最近の事情は知りません。
したがって、真っ当な批判も出来ません。

ここの書き込みによると、今ではswingも充分高速になり、見栄えもすばらしいものになったようですが、
評価できないのが残念です。

841:デフォルトの名無しさん
04/06/19 03:57
まっとうなフォームデザイナでフリーのやつがあればなぁ。
JFaceも気になるけどねぇ。

842:デフォルトの名無しさん
04/06/19 03:58
とりあえず、1.4.2を使ったことなくて遅いというな、と。かなり改善されてる。
起動が遅いのは変わりないけど。ちょっとずつ改善されてる。
1.5ではフォントの描画もきれいになってるし、VM使いまわすみたいだから、2つめのアプリからは起動が速い。

843:デフォルトの名無しさん
04/06/19 03:59
>>841
NetBeansでいいじゃん。
JBuilderは知らんけど、あれも無料で使えんかね?

844:デフォルトの名無しさん
04/06/19 04:12
APWORKSっていうのもあるよ

845:デフォルトの名無しさん
04/06/19 07:22
Swingは見た目よりも中身だろ。
どうせお前らは何もできないからSwingの欠点をつくことしかできないわけでw


846:デフォルトの名無しさん
04/06/19 07:34
>>838
毎度おなじみの「作ればできる。」ですかw
いや「作ればいかようにもなる。」でしたねw

847:デフォルトの名無しさん
04/06/19 08:27
NetBeansで問題ないな
というか、いまのところJavaのGUIエディタはアレが最高峰だ

JBuilderは無料のヤツがパーソナルではなくなってファンデーションになったので
商用開発も可能

扱いやすさではJBuilderがEclipseやNetBeansより上だからまずは初心者は
JBuilderさわったほうがいいかも
ただ、初心者だと下手にコードいじってコンパイル通らなくなる可能性もあるから
NetBeansのような保護が欲しいところ

EclipseVEはまだまだ今後のバージョンアップに期待というところか
JBuilderやNetBeansにくらべるとGUIエディタは劣る

1.5β2はSwing特有のboldの文字が綺麗になったのでびっくりしたというところか



848:デフォルトの名無しさん
04/06/19 12:08
>>846
UIを作るどころか、切り替えれもしないやつがひとり。

849:デフォルトの名無しさん
04/06/19 14:04
SWTは結局流行らなかったな。
まぁAWTで捨てた道だから当然といえば当然だが。

850:デフォルトの名無しさん
04/06/19 14:10
SWTは未だにJava UIの最適解だと思われ
あれはプッシュする組織が少ないのが問題なんでしょう
標準じゃないってだけで流行らないのは人間の佐賀

851:デフォルトの名無しさん
04/06/19 14:22
標準ですでにノウハウや部品のあるSwingから移行ができない、というのが欠点だと思うよ。

852:デフォルトの名無しさん
04/06/19 16:08
>>850
作る側にとって最適解でないというのが改善されれば…

853:デフォルトの名無しさん
04/06/21 01:17
>> SWTは結局流行らなかったな。
充分流行っていると思うが。
まぁ、流行っても流行んなくても関係ない
一ついえる事はJavaで「ニセブランド」の怪しさをかもし出さないGUIアプリを作るには
今のことろSWTを使うしか、方法がない事

854:デフォルトの名無しさん
04/06/21 02:36
ネイティブルックアンドフィールでいいじゃん。

855:デフォルトの名無しさん
04/06/21 12:19
ネイティブL&Fにしてから適当にコンテナのツリー辿って、
特定のコンポーネントのボーダーはずしたりして調整すると
見た目はほぼ同じになるよ。

856:デフォルトの名無しさん
04/06/21 15:29
それは微妙に動きが違う、とか言うんだろうけど、VCLでもMFCとは違うし、本物っぽく、つまりMSのアプリケーションの動きに近づけたければMFC使うしかない。
最近のアプリはみんな独自UIだしね。

857:デフォルトの名無しさん
04/06/21 16:30
>>856 ユーザーが困らなかったら、外見は Metal でも Windows でもいいと思われます。
>>848 Look & Feel (スキン)の切り替えができることを知らない人が多いから、やむを得ない反応では?
>>846 この辺を参照されるとよいかと。

URLリンク(www.javadrive.jp)

 ソースコード中ではなくて、以下のようにシステム・プロパティーをセットしてもいいけど。

java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel [起動クラス]

858:デフォルトの名無しさん
04/06/21 21:13
>>857
Swingで作る側がSwingDemo一度も動かしていないとは考えにくいが
あれは動的なLAF変更で遊ぶものだよ


859:デフォルトの名無しさん
04/06/22 15:59
普通
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
を呪文の様に入れる。


860:デフォルトの名無しさん
04/06/22 19:57
>>859 OSごとにデザイン変わるやん。

861:デフォルトの名無しさん
04/06/22 22:58
>>860
それでいいんじゃないの?

862:デフォルトの名無しさん
04/06/23 00:15
windowsLAFはWindowsしか持ってないからな
固定で書くサンプルもよくみるが>>859がベター


863:デフォルトの名無しさん
04/06/23 01:47
JEditorPaneでsubmitするにはどうしたらええですか?

864:デフォルトの名無しさん
04/06/23 03:00
あげ

865:デフォルトの名無しさん
04/06/24 13:13
WindowsのL&FもMacみたいにネイティブで実装すればいいのにね。


866:デフォルトの名無しさん
04/06/24 14:43
WindowsがJavaを意識したUIを作ってくれれば可能だね。

867:デフォルトの名無しさん
04/06/24 22:34
ダサい方に合わせてどうすんだ

868:デフォルトの名無しさん
04/06/24 23:12
>>865
だってMacだとJavaはほぼネイティブと同じものなんだもん。

>>867
ハァ?

869:デフォルトの名無しさん
04/06/24 23:34
>>868
それは、mac向けのjvmはappleが作ってるから。

まぁjdk1.5からは、デフォルトがmetalじゃなくなるし、
ボールドなフォントもわりとマシになるから、見た目的には
実用に耐え得るようになると思うがね。

870:デフォルトの名無しさん
04/06/25 00:13
スクロールするリストの上部にTextFieldがあって、互いに連動する、
Windowsでいうところの「ListBox」を作っているんですが、うまくいかんです。

List から項目を選択すると、TextField に選択項目が表示される処理、は上手くいっていますが、
逆に、TextFieldを変更したときに、Listの選択項目が変わる処理、が以下のような例外を投げて
しまいます。

>java.lang.IllegalStateException: Attempt to mutate in notification
>at javax.swing.text.AbstractDocument.writeLock(Unknown Source)
>at javax.swing.text.AbstractDocument.replace(Unknown Source)
>at javax.swing.text.JTextComponent.setText(Unknown Source)
>at AListBoxPanel.valueChanged(AListBoxPanel.java:31)
> (以下略)

ソースはこちら。
URLリンク(do.sakura.ne.jp)

なにがマズイのか、ご教授くださいませ。

871:870
04/06/25 00:15
すいません、ソースのリンク間違えました。
正しくはこっちです。
URLリンク(do.sakura.ne.jp)


872:デフォルトの名無しさん
04/06/25 00:23
>>870
よく読んでないけど

テキスト変更

リストの選択項目変更

その結果がさらなるテキスト変更を引き起こす

最初のテキスト変更と競合

ってことじゃなかろうか。SWINGはプログラム内部で操作しただけでも
ユーザ操作と同じイベントが発生するので注意。

873:デフォルトの名無しさん
04/06/25 00:30
>>870
ListBoxっつーかドロップダウン?ComboBox?
JComboBoxをsetEditable( true)にして使うのはそのものでない?

874:デフォルトの名無しさん
04/06/25 00:42
>>873
ドロップダウンリストが常に表示されてるようなコントロールです。
JComboBox は選択時にしかリストが出ませんよね?

JComboBox でも機能としては間に合うんですけどね。
WardPad の Font選択ダイアログ画面みたいなのを、似せて作ってみようかと。

>>872
どうも、そうみたいです。
Listで選択→TextFieldへ反映、の方も上手くいってませんでした。同じ例外投げてます・・・。

875:870
04/06/25 01:05
自己解決できました。
isFocusOwner() で、自分にフォーカスがあるか調べて、フォーカスがあるときだけ
処理をするようにしたら良いみたいです。

876:デフォルトの名無しさん
04/06/25 01:56
>まぁjdk1.5からは、デフォルトがmetalじゃなくなるし、

よくそう言われるけど、Metalがデフォじゃないってソースは?
どこを探してもテーマが違うだけって話しか見つからないんだが。

877:デフォルトの名無しさん
04/06/25 02:05
URLリンク(java.sun.com)

Swing
以下の記述はこのリリースの Swing 機能に関連しています。
リリース 1.5 では Java の Look & Feel が変わりました。
新しい Look & Feel の名前は「Ocean」であり、自動的にロードされます。
Ocean は以前のデフォルトの Look & Feel (Metal) で使用されていたウィジェットサイズを維持します。
見た目は変わりましたが使い心地はほとんど変わりません。
Metal の Look & Feel はシステムプロパティ swing.metalTheme=steel を設定すれば指定できます。

詳細はバグレポート4607364 および Swing のリリースノートを参照してください。

878:デフォルトの名無しさん
04/06/25 02:27
つまり、プログラム仕様をみてるか、リリースノートを見てるかの違いだな。
プログラム的には、MetalLookAndFeelなんだが。

879:863
04/06/25 05:37
JEditorPaneでsubmitする方法、教えてくれよ。
じゃないと、むしゃくしゃして、大阪のほうの小学生をなでまくるぞ。

880:デフォルトの名無しさん
04/06/25 06:05
submitするってのはどゆこと?

881:863
04/06/25 06:17
>>879
簡単にいえば、グーグルで検索するみたいな。
入力フォームでsubmitを。
リンクはhyperlinkUpdateイベントでできるんだけど。

882:デフォルトの名無しさん
04/06/25 18:20
>>881
submit って言葉がようわからんけど、

google だったら検索する単語をアドレス後方に付けて GET メソッドだし、
他のものでの POST メソッドで呼び出しゃいいんちゃうの

883:デフォルトの名無しさん
04/06/25 19:32
>>879
やってみてないけど
1.5にはjavax.swing.text.html.FormSubmitEventがあるね、ってことは
どっかからこれをプログラム的にイベントポストすることはできる気がする。

884:デフォルトの名無しさん
04/06/25 23:47
JEditorPane使ってブラウザ作る気ならやめとき。
ポテンシャルの低さにガックリさせられるよ。
AA多いスレ開いた日には泣くよ。

885:デフォルトの名無しさん
04/06/25 23:58
>>882
呼び出すのはいくらでもできるけど、submitボタンのタイミングが取れない。

>>884
いや、ブラウザ作るほどじゃなくて単なる簡易表示なんだけど、アンカーはイケるのにsubmitできないから中途半端で。

886:デフォルトの名無しさん
04/06/30 11:25
JTableの1つのセルを編集するごとにある処理を行いたいのですが、
リスナーなどをインプリメントして、ActionPerformedのように
なんかしらをオーバーライドすればよいのでしょうか?
イマイチどうやったらよいものかわかりません。よろしくお願いします。

887:デフォルトの名無しさん
04/06/30 12:22
>>886
URLリンク(java.sun.com)

888:デフォルトの名無しさん
04/06/30 13:46
>>887
ありがとうございます。
テーブルの変化を読み取ることができるようになりました。
しかし、その中で table.setValueAt("hoge",0,0)のようなことを行うと
何度も tableChangedメソッドを繰り返してしまいます。
このメソッドをコメントアウトすると、一編集に対し、一度だけきちんと動作するのですが…
ご存知でしたら教えてください。


889:888
04/06/30 15:08
自己解決しました。
どうやら、setValueAt()をすることで、tableChanged()を呼んでしまい
再帰的にグルグルと回っていたようです。
一時的にtableModelListenerを解除してなんとか切り抜けました。

890:デフォルトの名無しさん
04/06/30 17:03
>>889
詳細が分からないからはっきり言えないけど、invokeLaterを使うべきではない?

891:デフォルトの名無しさん
04/06/30 21:02
>>891
初めてそのメソッドを知りました。
これから調べてみます。
レスありがとうございました。

892:デフォルトの名無しさん
04/07/07 00:46
      |ハ,_,ハ
      |´∀`';/^l
      |u'''^u;'  |
      |∀ `  ミ  ダレモイナイ・・・
      |  ⊂  :,    モサモサ スルナラ イマノウチ
      |     ミ
      |    彡 
      |    ,:'
      |''~''''∪


               l^丶            
        もさもさ   |  '゙''"'''゙ y-―,     
               ミ ´ ∀ `  ,:'     
             (丶    (丶 ミ     
          ((    ミ        ;':  ハ,_,ハ
              ;:        ミ  ';´∀`';,  
              `:;       ,:'  c  c.ミ  
               U"゙'''~"^'丶)   u''゙"J


            /^l
     ,―-y'"'~"゙´  |   もさもさ
     ヽ  ´ ∀ `  ゙':
     ミ  .,/)   、/)
     ゙,   "'   ´''ミ   ハ,_,ハ
  ((  ミ       ;:'  ,:' ´∀`';
      ';      彡  :: っ ,っ
      (/~"゙''´~"U    ι''"゙''u


893:デフォルトの名無しさん
04/07/07 01:21
もっさりさんキタ━━━(゚∀゚)━━━!!!

894:yukiko♪
04/07/11 05:45
JLabel imageLabel = new JLabel(new ImageIcon("imgs/hoge.jpg"));
container.add(imageLabel, BorderLayout.WEST);
this.setSize(600, 400);
this.setVisible(true);

containerはgetContentPaneで取得して、レイアウト設定済み。
こんな感じで作ってるんだけど、
なぜか画像が表示されないよ~。
サンプル見て作ってるのにわけわかめ。

パスもこのクラスファイルの格納されてるフォルダーimgs-hoge.jpeg
あってるはずなのに。。

誰かわかる人いない~?
もういや(。_ _)。

javaのversionは1.4.2です。




895:名無しさん@そうだ選挙に行こう
04/07/11 11:40
>>894
こんな情報でなんかわかるやつがいたら、神かストーカーだな。

896:名無しさん@そうだ選挙に行こう
04/07/11 11:56
>>894
NetBeans使って楽しろ。
もしくはpack()をはさむ

897:名無しさん@そうだ選挙に行こう
04/07/11 11:57
thisはJFrameなんだろうなぁというくらいしかわからんな
あとウインドウはサイズ指定よりpack使え
サンプルもサイズ指定ならそのサンプル捨ててしまえ

ちなみにそのコードそのまま使ったら画像普通に表示されたけど?


898:名無しさん@そうだ選挙に行こう
04/07/11 11:58
まあ画像へのパスがおかしいんだろ。

899:名無しさん@そうだ選挙に行こう
04/07/11 11:59
サイズ指定は要るだろ。
それか、選挙いけ。そしたら、100年後にはクソサンプルも減るだろう。

900:名無しさん@そうだ選挙に行こう
04/07/11 12:02
なんでサイズ指定させるんだよ
この場合JLabelに推奨サイズ指定してJFrameはpackだろ

pack使わなかったら同じWindowsであってもうまく表示されないぞ

もしかして特定の環境でしか動かなくていいという人?


901:名無しさん@そうだ選挙に行こう
04/07/11 12:07
>>900
・・・うまく表示されないってのがどういうことかわからない。
とりあえず、ここらへんで意図したとおりに動かなかったことはないのだが。

902:名無しさん@そうだ選挙に行こう
04/07/11 13:16
setSizeはinsetsを含むから同じWindowsであってもXPとクラシックでずれが生じる
さらに全く同じWinのバージョンでも人によってタイトルバー大きくしてたりするから
問題が出る

pack使ってない本はすべて捨てていいよ


903:名無しさん@そうだ選挙に行こう
04/07/11 13:52
>>902
あぁ、そういうことね。
「うまく表示されない」っていうほどのことじゃないと思うが。

気になるなら、addNotifyオーバーライドしてこう。
 public void addNotify(){
  super.addNotify();
  Dimension d = getSize();
  Insets is = getInsets();
  setSize(d.width + is.left + is.right, d.height + is.top + is.bottom);
 }


904:yukiko♪
04/07/11 21:33
みんな返事ありがとう♪

eclipseでやってるんだけどどうもパス関係があやしいみたい。。。

パス指定をルート(c:/eclipse/workspace/.....)
から書いたらいけたo(*^▽^*)o

けどなぜ駄目なんだろ?
eclipseの階層表示のとこにclasses以下のフォルダが表示されてない
のが気になるんだけど、ちゃんとローカルにフォルダが出来ててビルド結果も
ちゃんとそこに入ってるのに。。。

classパスはメインが実行できてるからOKなはずだし、
その確実にとおってるパスの直下のフォルダのjpgファイルが
どうして表示されないんだろ(*_*)

905:デフォルトの名無しさん
04/07/11 21:40
>>904
/imgs/hoge.jpgにしたら?

906:デフォルトの名無しさん
04/07/11 21:48
クラスパスとカレントパスは全然関係ない

907:デフォルトの名無しさん
04/07/11 22:08
new JLabel(new ImageIcon(getClass( ).getResource("/imgs/hoge.jpg")));
とテストもせずに言ってみる

908:デフォルトの名無しさん
04/07/11 23:00
>>904-907 Eclipseのパッケージエクスプローラは生成したクラスファイルが
保存されるフォルダを隠蔽して表示しないから。多分プロジェクトの
プロパティでclassesがbin出力フォルダになっているはず。

で、907の通りにgetResource()を使うのは定番なんだけど、このとき
うっかりclassファイルがあるフォルダ(classesかな?)に自分で(手動で)
imgs/hoge.jpgを入れるのではなく、ソースファイルがある対応した
フォルダにimgs/hoge.jpgを作らないとはまるので注意。あとは実行時や
export時にeclipseがよきにはからってくれるのでそれに任せる。

909:デフォルトの名無しさん
04/07/11 23:15
>>908
ドキュメントに「文字列は URL に変換され」とあるから、明示的にgetResource使う必要はないと思ってたのだが、どうか?

910:デフォルトの名無しさん
04/07/11 23:33
>>909 getResourceを使うとクラスパスを基準としたファイルの位置指定になるから
jarかどうかといった実行形態によらない管理ができて楽になるよ。

911:デフォルトの名無しさん
04/07/11 23:37
>>910
いや、等価になると思ってたのだが、どうか、という話なのだが。

912:デフォルトの名無しさん
04/07/11 23:44
>>911
ImageIcon(String filename)は最終的にfilenameに手を加えずにそのまま
Toolkit#getImage(filename)を呼ぶだけなので等価にはならない。

913:デフォルトの名無しさん
04/07/11 23:46
>>912
了解。
サンクス

914:yukiko♪
04/07/12 01:11
>>905
よくわかんないけど
/imgs/hoge.jpgは絶対パスだから
c:/imgs/hoge.jpgになっちゃいません?

<<906
わけわかめ状態になっちゃってて。。。。(。_ _)。バタ!


>>907
new JLabel(new ImageIcon(getClass( ).getResource("/imgs/hoge.jpg")));
なら表示されますたo(*^▽^*)o♪

>>908
主導でclasses以下に放り込んではないよぉ~。
classes以下を全て削除してからもう一度ビルドして
みたんだけど同じですた(*_*)



915:デフォルトの名無しさん
04/07/12 10:03
クラスパスとファイルのパスの違い分かってるの?


916:yukiko♪
04/07/13 01:04
ファイルパスは/ではじまったら絶対パスでカレントディレクトリの所属する
ルートからの位置。
/なしで始まったらカレントディレクトリから読み始める相対パス。

クラスパスはただclassファイルやjarファイルが置いてあるディレクトリを
コンパイル時に参照できるように設定するもの。
これはルートから書く。

。。。と思ってるけど違うの?


917:デフォルトの名無しさん
04/07/13 01:07
違います。

918:デフォルトの名無しさん
04/07/13 01:39
>>916
違ってはないけど、クラスパスに関しては正しいともいえない。
ひとつつっこむと
× classファイルやjarファイルが置いてあるディレクトリ
○ classファイルやリソースが置いてあるディレクトリやjarファイル

919:デフォルトの名無しさん
04/07/13 01:58
>>918
明らかに間違ってるだろうが。

>コンパイル時に参照できるように設定するもの。
実行時もクラスパスは必要。

>これはルートから書く。
相対パスでも問題ない。

920:デフォルトの名無しさん
04/07/13 03:35
「間違っている」と「間違っている箇所がある」は違うぞ。

921:デフォルトの名無しさん
04/07/13 09:38
いや同じだ。

922:yukiko♪
04/07/14 01:20
まぁまぁ( ^-^)_旦~
おふたりさん、ありがとう♪
おかげで勉強になりましたm(__)m

あたしって向いてないんだよねプログラマo(*^▽^*)o
理論とか理屈はあまり好きじゃなくて感覚でやってるとこあるから・・・

軽蔑されるかもしんないけど、
この業界に入ったきっかけもかっこよくてできるイケメンプログラマ
との出会いを求めてだからね~o(*^▽^*)o♪

でもクラスパスを書くときに相対パスで書く場面とゆうか
具体的な例が思い浮かばない。。。


923:デフォルトの名無しさん
04/07/14 01:58
>>922
ウザ。
プログラマじゃなく人間やめた方がいいよ。

924:デフォルトの名無しさん
04/07/14 04:53
>>922
> この業界に入ったきっかけもかっこよくてできるイケメンプログラマ
> との出会いを求めてだからね~o(*^▽^*)o♪

正しい姿勢だと思うが。
出生率低下の歯止めに貢献しろ。

925:デフォルトの名無しさん
04/07/14 07:15
とりあえず俺と

926:yukio♪
04/07/14 07:18
>>925
え、オレでいいの?

927:由紀夫
04/07/14 09:09
>>925
お前は俺のモノだ。

928:デフォルトの名無しさん
04/07/14 15:04
やらなイカ。

いいこと考えたぜ。
お前ら俺のケツで小便しろ。

929:デフォルトの名無しさん
04/07/15 22:13
import java.awt.*;
import javax.swing.*;
public class BoundsTest extends JFrame {
  public static void main(String[] args){new BoundsTest();}
  Display display = new Display();
  BoundsTest(){
    Container container = getContentPane();
    container.add(display);
    setSize(display.getSize());             // これだとダメ。
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }
}

class Display extends JComponent {
  Dimension DEFAULT_SIZE = new Dimension(200, 200);
  public Display(){
    setSize(DEFAULT_SIZE);
  }
  public void paint(Graphics g){
    Rectangle clip = g.getClipBounds();
    g.setColor(Color.white);
    g.fillRect(clip.x, clip.y, clip.width, clip.height);
    Dimension size = getSize();
    g.setColor(Color.red);
    g.drawString("width = " + size.width + "  height = " + size.height, 20, 20);
  }
}
Display のサイズに合わせてJFrameをオープンしたいのですが、どーもうまくいきません。
上のようにdisplay.getSize() で得たサイズでそのままJFrameのサイズを設定しても、ちょっと小さくなってしまいます。
JFrameの全体サイズではなく、クライアント領域のサイズを設定しないとダメだと思うのですが、その方法がわかりません。
どうしたらいいんでしょうか?

930:929
04/07/15 22:23
別のJavaスレでまさにこの話題やってた。
JPanelでPack()するか、addNotify()オーバーライドのinsets。
後者は知らんかった、調べてみます・・。

931:デフォルトの名無しさん
04/07/15 22:37
>>930
もとは>>903あたりのやりとりなんだけどね。

932:今日は蒸しますね
04/07/16 09:40
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); しておいて、
windowClosingで本当に閉じるか確認メッセージを表示後にdisposeしています。
「X」ボタンからはうまくいってます。

自前の終了ボタン(JButton)のイベントからwindowClosingを経由させて閉じたい場合
どんな方法があるのでしょうか?
(disposeするとwindowClosingを経由しません。)


933:デフォルトの名無しさん
04/07/16 12:44
経由させたいなら勝手にwindowClosingを呼べばいいのではないのかね

934:932
04/07/17 08:05
>933
そうですね。
ありがとうございました。

935:デフォルトの名無しさん
04/09/01 14:22
age

936:デフォルトの名無しさん
04/09/07 19:31
936

937:デフォルトの名無しさん
04/09/07 23:39
937

938:デフォルトの名無しさん
04/09/08 02:15
938

939:デフォルトの名無しさん
04/09/09 14:26
939

940:デフォルトの名無しさん
04/09/09 15:30
ここにもスレ番荒らし出現してんのか。

941:デフォルトの名無しさん
04/09/09 21:40
次スレ
スレリンク(tech板)

942:デフォルトの名無しさん
04/09/10 02:01
netbeansが4.0βになってずいぶんと使いやすくなったので
(Antベースのプロジェクト機能が大きい)、遊んでたんだが、
最近のSwingってOSネイティブな感じで結構速いのな。
おれには実用的な速度に思える。


943:デフォルトの名無しさん
04/09/10 08:16
>>941
つうことは、そこでSwingの話していいのか?

944:デフォルトの名無しさん
04/09/10 10:04
NetBeans3.6まで触ってきた人にとって4は鬼門
Ant標準なのはいいのだが・・・うーむ
いままでNetBeansが敷居が低かった部分をすべて破壊してEclipseのまねごとへ向かってる感じ
Swing部分はまったくかわってないし

とりあえず安定度がお話にならないから3.6使った方がいいぞ



945:デフォルトの名無しさん
04/09/10 11:18
安定度に関してはβなんだし細かいこというな。

「ファイルシステム」がなくなったのがいやだな。

946:デフォルトの名無しさん
04/09/10 13:54
NetBeans4はある意味改悪だな

947:デフォルトの名無しさん
04/09/11 03:19:22
そなの?
おれ4.0になってから分かりやすくなったけど。
マウントとか、いままでのnetbeansユーザには使いやすかった
ようだが、おれはいまのプロジェクトシステムのほうが分かりやすい
けど。

948:デフォルトの名無しさん
04/09/11 11:45:01
>>947
ライブラリを使うときってどうやるの?
ヘルプがないからわからん・・・

949:デフォルトの名無しさん
04/09/11 13:21:43

おれはプロジェクトディレクトリにlibディレクトリをつくって
そこにぶち込んでる。libはもともとプロジェクトに入ってるので、
勝手に認識する。

ビルドの時には、lib下のjarも全部アプリケーションjarにマージ
するようにAntスクリプトを書き加えてる。



950:デフォルトの名無しさん
04/09/11 16:58:26
・・・前のファイルシステムの方がわかりやすいな。

951:デフォルトの名無しさん
04/09/11 18:02:51
951ゲット!!

952:デフォルトの名無しさん
04/09/11 23:56:34
>>949
分かりやすいのか?


953:デフォルトの名無しさん
04/09/12 00:08:51
Eclipseからのユーザーを奪おうとして
結局NetBeansユーザーが逃げるよな

ユーザーが欲しいのは似たような方向へ動くことではなくて
各IDEが特徴出しつつ得意不得意をどうやっていくか、だと思うけどな

Swing関係は3.5からまったくかわってねぇーし
新機能も大事だが、既存のいい部分をのばすというのも大事だと思う
Swing使うならNetBeansで現状決まりなのだが、これをさらにすすめて
クライアントサイドはSwing、結果的にNetBeansできまりというような

具体的にはイベント周りの強化、TableModelとかListModelなどの
細かいコードを書く支援とか、やるべきことはいくらでもあるだろうに

954:デフォルトの名無しさん
04/09/12 00:22:39
イベント周りを使いやすく、コンポーネントの配置位置をわかりやすくしてほしい。

955:デフォルトの名無しさん
04/09/12 01:33:23
955

956:デフォルトの名無しさん
04/09/12 03:12:58
そこでWebLogic Workshopですよ。

957:yoyo
04/09/12 08:01:24
いきなり質問します。
俺の実力ではどうしても解決出来なかったのでここに掲示します。

JComboboxでコンボボックスが展開した時のイベント、
また、閉じられた時のイベントを取りたいですが、どうすれば
取得できるのでしょうか?ていうか本当に取得は可能なのでしょうか?
結構長い時間調べてみましたが、全然分かりません…
よろしくお願いします。

お答えお願いします。

958:デフォルトの名無しさん
04/09/12 10:22:31
PopupMenuListener じゃだめなの?

959:yoyo
04/09/12 14:11:35
お答えありがとうございます。
Popuopもいいですね~~~。
出来ればJComboboxでやりたいですが…
もうちょっと調べてみますが、これも回避策として入れておきます。
hm... 出来ないのかな…

960:デフォルトの名無しさん
04/09/12 14:16:27
>>959
URLリンク(java.sun.com)(javax.swing.event.PopupMenuListener)

961:デフォルトの名無しさん
04/09/12 14:25:44
>>959
> 出来ればJComboboxでやりたいですが

だからJComboBoxにPopupMenuListener

962:yoyo
04/09/12 14:34:14
すみません。
勘違いしました。
まさしく、私が探していたのはこれ!です。^^;;;
本当にありがとうございました。
助かりました…

963:デフォルトの名無しさん
04/09/14 03:12:43
963

964:デフォルトの名無しさん
04/09/15 02:39:40
964

965:デフォルトの名無しさん
04/09/15 15:17:15
965

966:デフォルトの名無しさん
04/09/16 17:51:22
次スレを立てるのなら、Swingにこだわらず、
昔この板にあったスレッドのように、
クライアントサイドJavaスレッドというようなタイトルにして、
SwingもAWTもSWTも、まとめてあつかったほうがいいかもしれない。

Swingスレッドのレス数と、とくにSWTスレッドのレス数をみるに、
それでも、十分のようにおもう。

検索しやすいように【Swing】クライアントサイドJava【SWT】のように、
【】のなかに、Swingなどの文字もつけたうえで。


967:デフォルトの名無しさん
04/09/16 18:04:12
SWTはPart2まで行っているのなら、
あっちはあっちで独立スレッドのままでもいいかもしれない。

スレッドタイトル。
【Swing】クライアントサイドJava【SWT】

本文。
GUIをはじめとして、クライアントサイドにおけるJavaについて語るスレッド。

前スレッド。
Java低速GUI Swing
スレリンク(tech板:965-番)

クライアントサイドJavaどうよ?
URLリンク(pc3.2ch.net)
クライアントサイドJavaどうよ?:part2
URLリンク(pc2.2ch.net)
クライアントサイドJavaどうよ? part3
URLリンク(pc2.2ch.net)

参考スレッド。
Java 高速GUI SWT
URLリンク(pc5.2ch.net)
Java 高速GUI SWT 2
スレリンク(tech板)

FrontPage - java
URLリンク(www.wikiroom.com)


968:デフォルトの名無しさん
04/09/16 19:13:10
GUIという土俵は同じだが、考え方が全く違って宗教論になって終わる希ガス


969:デフォルトの名無しさん
04/09/16 19:13:45
>>966
クライアントサイドっていわれるとねぇ・・・
JavaGUIだね。

970:デフォルトの名無しさん
04/09/16 19:37:53
このスレの内容なら初心者Javaスレで十分だと思うのだが。

971:デフォルトの名無しさん
04/09/16 19:49:42
クライアントサイドというのならゲームもリッチクライアントもはいるしなぁ


972:デフォルトの名無しさん
04/09/16 19:53:12
>>971
むしろ、そこが狙い。
対象範囲を広く取ったクライアント全般のスレッドを今一度。


973:デフォルトの名無しさん
04/09/16 20:02:01
新スレッドを、GUI関連をまとめて扱うスレッドにするにしても、
クライアント関連をまとめてあつかうスレッドにするにしても、
SWTは、別にしておいてもいいようにおもう。


974:デフォルトの名無しさん
04/09/16 20:16:19
だからさぁ、Swingは標準でついて来るから初心者Javaスレでいいし、
SWTは別個のライブラリだからスレも別個でいいじゃん。

975:デフォルトの名無しさん
04/09/16 20:43:42
SwingスレとSWTスレで、妙にレスがおおいなって思ったときは
大抵、Swing vs SWTとか、Javaおせーとか、exeじゃなきゃ駄目だ
とかそんな話ばっかなんだよな。

976:デフォルトの名無しさん
04/09/16 20:55:02
そうそう。
そもそもここも「高速GUI SWT」スレをパロって作られただけだし。
無理してSwingを単独スレにする必要もないと思う。
初心者Javaスレでも普通にSwingの質問扱ってるし。

977:デフォルトの名無しさん
04/09/16 21:14:41

じゃあ、異論がなければSWTの文字は削除して、
次スレッドを立てるとすれば、クライアントサイドスレッドのPart4ということにする?

もしSwingのスレッドも無いと寂しいという声もあれば、
携帯電話Javaスレッドのように、括弧のなかにSwingの文字も入れるけど。

スレッドタイトル。
クライアントサイドJava Part4(GUI,Swing等々)


978:デフォルトの名無しさん
04/09/16 21:16:27
次スレいらん。

979:デフォルトの名無しさん
04/09/16 21:23:04
Swingスレッドにするにしても、クライアントサイドスレッドにするにしても、
このページへのリンクは入れて欲しい。

Creating a GUI with JFC/Swing
URLリンク(java.sun.com)


980:デフォルトの名無しさん
04/09/16 21:45:39
>>977
だからその内容じゃJavaスレで足りるっつの。

981:デフォルトの名無しさん
04/09/16 21:53:07
むやみに情報を分散させないでほしいなぁ。
どうせJavaスレでもSwingを扱うし、
J2SE5.0がリリースされればGenericとかもJavaスレで扱うし、
SwingスレとかJ2SE5.0スレとか別々に作るのやめてほしいよ・・・

982:デフォルトの名無しさん
04/09/16 22:03:08
情報をごちゃまぜにするのもどうかと思うけど、Swingに関しては話題がなくてスレ番荒らしにあってる状況だから、まあいいか。

983:デフォルトの名無しさん
04/09/16 22:08:44
少なくとも標準で付いてくるパッケージについて一つのJavaスレで話す分には問題ないかと。

984:デフォルトの名無しさん
04/09/16 22:09:32
じゃ、合流ということで。

【初心者】Java質問・相談スレッド53【大歓迎】
スレリンク(tech板)

985:デフォルトの名無しさん
04/09/16 22:15:26
  閑散としたスレに救世主が!!

       廃墟
       ヽ|・∀・|ノ  <ハイーキョマン
       |=◎=|
         | |

986:るぶっっっっっっっっっっっっっっっっっっっっy
04/09/16 23:09:47
Ruby ,,,>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Swihngpier

987:949
04/09/17 03:16:24
いまさらですまんが、netbeansの話を蒸し返す。というか
おれなんかウソっぽい事書いたような...

>>948
ライブラリをクラスパスにいれるってだけなら、プロジェクト
アイコンを右クリックでpropertyを開けば、ビルド設定ができる。

Compiling SourcesのとこにClasspath for Compiling Sources
ってのがあるんで、そこにjarを登録すればどこにあるライブラリでも
使える。
 まあマウントの代わりにここでクラスパスとおせってことだな。

ちなみに俺が >>949 で書いたのは、ライブラリの使い方というより
は、ビルド後のjarファイルにライブラリを組み込む方法だな。
なんかすまん。


988:デフォルトの名無しさん
04/09/17 04:33:06
>>987
あぁ、ありがとう。
しかし「ディスクが入っていません」エラーで起動が激しく面倒なので、こんど試してみる。

989:デフォルトの名無しさん
04/09/17 14:23:05
>>985
毎回救世主と言って現れるものの、スレを救ってる所を見た事ないぞ

990:デフォルトの名無しさん
04/09/17 14:30:37

スレリンク(tech板)l50

991:デフォルトの名無しさん
04/09/17 15:26:06
>>990
立てやがった。
必要ないのに。
しかも、Swing限定の名前で。
ま、立てちゃったもんはしかたないね。
削除以来というてもあるが。

992:デフォルトの名無しさん
04/09/17 18:03:33
立てるのなら低速の文字は外して欲しかったような気がする。
元々が高速SWTスレッドのパロディからとった名前のうえに、
2002年の頃の話だからなあ。

993:デフォルトの名無しさん
04/09/17 18:48:54
993

994:デフォルトの名無しさん
04/09/17 18:50:31
記念パピコ

995:デフォルトの名無しさん
04/09/17 18:52:51
995

996:デフォルトの名無しさん
04/09/17 18:56:25
996

997:デフォルトの名無しさん
04/09/17 18:57:19
997

998:デフォルトの名無しさん
04/09/17 18:57:49
998

999:デフォルトの名無しさん
04/09/17 18:58:02
999

1000:デフォルトの名無しさん
04/09/17 18:58:26
1000ならRubyのために死ぬ。

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch