1 :
デフォルトの名無しさん :
2006/02/21(火) 23:57:46
2 :
デフォルトの名無しさん :2006/02/21(火) 23:58:29
3 :
デフォルトの名無しさん :2006/02/21(火) 23:59:40
4 :
デフォルトの名無しさん :2006/02/22(水) 00:00:21
5 :
デフォルトの名無しさん :2006/02/22(水) 00:01:03
6 :
デフォルトの名無しさん :2006/02/22(水) 00:01:59
セシール♪ イルッボンヌ サァ コリアン へ シャザイシール
前から思ってたんだけど
>>1 の「犬猿」って何?
おお便利。 でも日本語とおらん、UTF-8でないとだめなのかな。
今現在、「Swing だから重い」って感じる機会はゼロだなあ。
13 :
デフォルトの名無しさん :2006/02/22(水) 20:29:38
SpringLayout普及委員会
俺は GridBagLayout 教手書き派
趣味でならいいけど、仕事ではつかえないな>手書き
SpringLayoutってなんか依存性注入してトランザクションなんか管理しそうだよな。
GridBagLayout宗 GUIによるプロパティ指定派
Visual EditorってあくまでGUI構築ツールのリファレンス実装という形なので、 新しいレイアウトマネージャーには対応する予定はないって話しあったよね。 Visual Editorを元にGroupLayoutとかに対応したのを作ろうっていう動きは どっかにないのかな。 あ、俺はムリよ。L&F集のコレクションで忙しい・・・。
そう言わずに
NetBeansでいいやん
Synthって普及しないのかな? substanceで統一させようとか考えてるのか それともsunの作ったOSに合わせたskinが決定稿なのかな?
26 :
:2006/02/24(金) 12:29:26
Swingコンポーネントにリスナーを複数登録した場合、イベントが発生して呼び出される順番はきまってるの? 初めに登録したのが先に呼ばれるとか、後から登録された方が先に呼ばれるとか。
>>26 原則は順番不定だったと思う。
でもソース見れば順番はわかったりもする。そんなのに依存すべきじゃないけど。
28 :
:2006/02/24(金) 13:19:04
>>27 どうもありがとう。順番に依存する実装は止めた方がよさそうですね。
>>28 順序依存したいならメッセージを順序立てて投げるアダプタクラスつくってやればいいのだ。
そうすることでソースコード上で順序立てたことを表明できるし。
30 :
デフォルトの名無しさん :2006/02/24(金) 15:58:20
>25 スキン作ろうと思わせるアプリケーションが まだJavaにはないんじゃないかね。 もしくは、Synthを想定してないアプリケーションが多いとか。
31 :
デフォルトの名無しさん :2006/02/28(火) 12:07:53
すいません質問したいのですが、画面表示の切りかえってどうやるんですか? 画面1 → 画面2 → 画面3 → 画面1 みたいにやりたいのですが、画面1から画面2に行くときに画面1が表示されたままになってしまい困っています。 どのようにしたら常に画面表示が1つだけの状態になるのでしょうか?
32 :
デフォルトの名無しさん :2006/02/28(火) 12:18:48
Graphics2Dを使っているなら g.clearRect(x, y, width, height) Swingとは関係ないね JLabelを使っているなら setIcon(new ImageIcon(hogeImage)) でいけるはず。ImageIconは毎度newせずとっておけば幸せになれる。
>>31 つjava.awt.CardLayout
34 :
デフォルトの名無しさん :2006/02/28(火) 15:24:57
質問させてください。 JTextField を2つ作りその中に別々の数値など(例えば、"a","10")を入力して、 String配列を作っておきその中に入力したものが入っているかどうかを調べるときってどうしたらよいのでしょうか?
35 :
デフォルトの名無しさん :2006/02/28(火) 15:31:29
>>34 こんな感じでやればできたから参考にしてみて。
1)JTextField を2つ作る
2)その中に別々の数値など(例えば、"a","10")を入力させる
3)String配列を作っておきその中に値を入れておく
4)String配列に入力したものが入っているかどうかを調べる
Javaも6.0からはSWTと同じでネイティブルックになるの? 何かそんなようなこと書いてある記事があったから気になった
>>37 ネイティブのAPIを使って描画するようになるから、ルックだけはネイティブ。
フィールは変わらないから、SWTと同じルック&フィールではない。
39 :
デフォルトの名無しさん :2006/02/28(火) 22:05:48
Javaは遅いと言われてるけれど私はその遅さを実感した事が無いのですが、どの程度の事をすると遅く感じて実用的じゃないのでしょうか? そんな実用レベルじゃないJavaアプリケーションを見てみたいのですが誰かどこかにアップしてないでしょうか?
ビデオメモリが貧弱なノートでJRE1.3を探してきて実行するといいよ
なんでわざわざ遅いの体験するんだろう…
Zendは遅いなあ。結構スペックいいマシンでも いらいらする。再描画もカックンとくる。
>>39 Javaが遅かったのはJITの技術の完成度が低かったからだよ。
1.4.2とかjava5以降は不足を感じることはほとんど無い。
6.0でどこまでSwingが速くなるか期待したい βだもうバリバリ動いてるんだろうか
1.3.1は大分早くなったと感心したものだ 1.2時代や1.1時代のSwingはきっつい
だが Metal が一瞬で飽きるのは相変わらず。
47 :
デフォルトの名無しさん :2006/03/01(水) 00:56:36
>>39 Eclipseも遅い。
NetBeansとか使えたもんじゃない。
言うまでもないが、JavaのGUIは失敗しているので選んではいけない。
どうしてもクロスプラットフォームにしなければならないなら話は別だが。
netbeansは軽い(というか普通)だと思うが・・・ SJSE8でJ2EEとか開発してるなら糞重いんだろうけど
俺は起動の遅さにびっくらこいたがな。>>NetBeans まぁ、マシンはセレロン1.2Gのメモリ700MBだから、そんなプアーなマシン使うなと言われたらそれまでだが
いや、俺もそんなもんだけど気にならんよ 起動が遅いのがダメならJavaは使わないほうがいいかもね
複雑なものを動かすには2GHzは必要かなと思ってる。 遅いと言われなくなるにはもう少し時間が必要だと思う。
昔の Java と比べて速くなったなんてナンセンスだな。 普通は同じマシン上で動かしてる別のアプリと比べるもんだから。 まぁ俺は ThinkPad X31 で十分。でも広い画面は欲しい。
>>52 アプリ次第では?
おそいおそいといいつつjarファイルダブルクリックしてるだけとか
ヒープ調整しないと最初ヒープ拡張のためにFULLGC連発ですし
Tiger で generics もサポートされたことだし そろそろ Swing は書き直して欲しい。
>>55 Swingは生APIだから層が違うと思われ
それモデルが万能じゃないだろ
Swingは互換性が命だからVectorをListインターフェースに置き換えるだけでも
かなりきついのが問題か
>47 「JavaのGUIが悪い」じゃなくて、 「Swingで作ったアプリのGUIが悪い」じゃないのか? うまく作ればいいGUIだってできるよ。 下手なやつを作りやすいだけ。
> Swingは互換性が命だから Swing は Swing で進化させつつ 1から作り直したやつも用意すれば良いかと。 生APIは生APIとして作るとして より上位のレイヤがあっても良い。 WebのMVCは雨後の筍のようにポコポコ生まれてるのにね。 もういいだろ、Webは。
>>58 メンテが厳しいのでは
AWTですらいまだに手は入ってるし履歴見るとバグ修正とかかなりでてる
SwingのAPIの数もすごいしね
どっかがSwingベースで簡単に作れるようなのを用意すればいいだけ
ただ、業務系で複雑なテーブルとか使う機会があるからそこはどうかなぁと
>>55 それはXcodeとInterfaceBuilderの凄さじゃないか
SwingよりNetbeansとかに求める機能だと思う
61 :
デフォルトの名無しさん :2006/03/02(木) 00:08:30
UIの事はようわからんのに、cocoaやvisualworksなんか、 xml等のスクリプト言語に、レイアウト情報を格納してい るのに、swingっていまだにコードにレイアウト情報を 直接に書くしかできないの?
もう少し日本語を上手に使って下さい。
Cocoaはレイアウト情報をXMLやらに書き込んだりしてません。 あれはなんと、オブジェクトをシリアライズしてるんです。 起動時にそれをロードしてるだけ。
>>61 じゃないが、
「レイアウト情報をコードから分離させろ」
ってことでしょ。
できないわけじゃないけどね。
65 :
デフォルトの名無しさん :2006/03/02(木) 01:50:33
>>61 XMLはスクリプト言語じゃないだろ!マークアップランゲェエエ痔
なんでもかんでもXMLでやるな。 Lispの時代のS式厨と同じにおいを感じるぞ
C#が1つのクラスを複数のファイルで定義できるのはちょっといいなと思った。
>>19 > SpringLayoutってなんか依存性注入してトランザクションなんか管理しそうだよな。
おれもマジでSpring Framework使われてすげー!!と思った
かっくしorz
69 :
デフォルトの名無しさん :2006/03/02(木) 09:31:32
>>67 わかりづらい。
プロトタイプ式に変更したいのではなく、そもそも複数の役割を持つようなクラスは
単にうまく分離できていないだけだと思う。
それとも単に、長いよ、っていう話ならプリプロセッサのantタスク作ってincludeすりゃいいんじゃない?
なんかパックンマックンのコント中コント中コントを思い出したよ。
分かりづらいかどうかは単なる言語に対する慣れだろう。C++ でも普通にやってることだし。
そのクラスに依存関係のあるクラスだったら Javaでも1ソース複数クラスかけるしなぁ とはいえできることとやってもいいとは違うと思う C#でも1ソース1クラスにしてるところは多いだろ C++での多重継承とおなじ
>>70 おれはC++の宣言と実装が分かれてるところが嫌いなんだよね。
あれは生まれた時の事情をそのままひきずっちゃったというか。
DやらjavaやらC#やらが結構すきなのは1クラス1テキストって対応がとれるからなんだよね。
UIのレイアウト定義を外部に出す系のjavaコードだとThinletってのがあったよ。
実装は小さきを目指したせいでアレだけど。
>>72 Cの互換性維持からはじまってるからどうしようもないんだよね
考慮されてないダイナミックリンクと相性は悪いし
Javaはコンパイルされたpublicなclassはすべて手軽なライブラリとして扱えるから
これだけフリーのプロダクトが普及したと思ってるが
74 :
:2006/03/02(木) 14:27:19
SWingでJTreeやJTableでこったことやろうとするのダウンキャストの嵐になるね。 ダウンキャストといっても本質的に場合分けじゃないけど。
>>74 同意。
DefaultMutableTreeNodeとか激しくウザイ。
レンダラやエディタ、モデルをこねくり回すクラスのそこかしこで出てくる。
あくまでもインターフェースだからな 実装と分けてるからDefault系がはいるとはかぎらない のだが、実際のところJTableにしろJTreeにしろDefault系で機能は十分足りる 足りなかったことがないんだよな せこせことつくったはいいが、実際はDefault系を継承したりする程度で済む ということばかりだったな
77 :
:2006/03/03(金) 11:51:26
Swingのテキストコンポーネント(JTextFieldやJTextPane)上で日本語変換をするとき、単語境界の変更が他のWinアプリと違って見にくいのをどうしたら改善できますか。 たとえばIME上で "きょうだいすきな” を入力してその後(スペースを押して)変換させようとしますね。 そうすると "兄弟好きな”と変換されて、Swingコンポーネントでは”兄弟”の部分が選択されたように白黒反転されます。 ここで望ましい変換が"今日大好きな"だとします。 そのためにshiffと矢印キーで単語区切りをを拡張収縮します。すると白黒反転の選択表示が解除されてIMEがどの部分を単語境界とみなしてるかが凄くわかりにくいのです。 普通のWinアプリならIME上で変換のための単語境界を拡張収縮する時は対象の単語が選択状態の白黒逆転表示になるので見やすいのです。そのようにSwingのテキストコンポーネントでするにはどうしたらいいですか。
78 :
:2006/03/03(金) 11:57:23
わかりにくいかもしらないので具体的に書きます。 「きょうだいすきな」 を変換しようとすると 「兄弟好きな」 になるので 単語「兄弟」の範囲を収縮させて「きょう」にして「今日」と変換させたいとします。 Swingテキストコンポーネントでは単語の範囲境界の変更がすごい見にくいんです。 「きょうだい」から「きょう」に最初の単語境界を移動させる時に普通のWinアプリだとその境界までの文字列が選択されたように白黒逆転されて表示されているんですが、Swingではそうなりません。
>>77 変換中テキストの描画してるところで AttributedCharacterIterator の属性弄るとかすれば
出来んじゃないか? とか適当な事を言ってみる。
80 :
デフォルトの名無しさん :2006/03/03(金) 17:35:06
すいませんちょっと質問をしたいのですが、 JTextField でできたテキストに文字を入力(おはようございますとか)した後 テキストボックスをクリックすると自動的に記入していた内容が消える(空になる)ってことはできるのでしょうか?
JTextField に FocusListener を仕掛ける。
82 :
:2006/03/03(金) 18:26:03
>>79 応対してくれてありがとう。その辺を調べてみました。でも難しく理解がまちがってるかもしれない。。
とにかく自分の調べた限りではAttributedCharacterIteratorを使っては属性を変更できないみたいです。
なんかInputMethodListenerを登録してでカスタマイズするのは無理そうな気がする。
InputMethodEventから取り出したAttributedCharacterIteratorから
getAttribute(TextAttribute.INPUT_METHOD_HIGHLIGHT);
を呼び出すと
InputMethodHighlightクラスのオブジェクトが得られます。
それに文字属性のハイライト情報がはいってるみたいで、これを使ってJTextComponentは描画してるんだろうけど、自分では属性を変更できないのでどうしようもない。
というかJTextComponentは文字が選択状態の属性を持っていても、未変換の属性をもっていると白黒反転表示しない。
最終的に文字を描画するのはJTextComponentだからどうしようもない。
83 :
デフォルトの名無しさん :2006/03/03(金) 22:29:18
Swingの例外って UnsupportedLookAndFeelException しかないんですか?
>>82 まず、「単語境界を移動させる時」も反転してないけど下線が太くなってる。
これは、たぶん太い下線を描くような属性がわたってると思う。
それから、「単語境界を移動させる時」は反転してないけど、
その部分を変換する時は、その部分だけ反転するよね。
これも、たぶん反転させるような属性があると思う。
で、AttributedCharacterIterator が final でなければ
任意の属性を偽装するのはできるよね。ちと面倒だけど。
JTextComponent じゃないコンポーネントでも、InputMethodListener から渡された
AttributedCharacterIterator を Graphics2D で drawString しても同じような結果になるから、
AttributedCharacterIterator を偽装してやれば思ったような描画に出来んじゃないかと思うんだわ。
これは、JTextComponent の processInputMethodEvent 上書きして
super.processInputMethodEvent() に
偽装した AttributedCharacterIterator 渡してやれば出来る。
もっとも、ここまで苦労しても JTextComponent の実装依存なんだけどね。
>>83 「Swingの例外」を定義してくれ。
javax.swing パッケージで使われている例外=「Swingの例外」なら
>>83 の問いの答えは no だ。
javax.swing パッケージ(サブパッケージは含まない)で宣言されている例外=「Swingの例外」なら yes だ。
コンポーネントが画面外に出て戻ってくると、 別に何も無かったようにJTextFieldなどはそのまま表示されますよね。 しかしJPanelの上にJTextFieldをのせ、JPanelのpaintComponentを弄ると JTextFieldは本来の指定された領域が描画されず、フォーカスだけが点滅しています。 このようなケースで上述した画面外から戻ってきたときのような 綺麗な再描画を得るには何を利用すればよいのでしょうか?
paintComponent以外もオーバーライドしてる余寒
>>87 TimerTaskでrepaintを繰り返してる以外は別に変わったことしてないんですよね・・・
paintComponentでやってみたけどやはり問題ないなぁ
Swingのレイアウトって静的に決まるものじゃないからね packしてサイズと位置がはじめて決まる 必ず100ピクセルの幅で!とかは一応やれないことになってる
92 :
デフォルトの名無しさん :2006/03/05(日) 02:59:45
SwingでEclipseのコンソール出力みたいに テキストのログを表示したいんですけど JTextPaneとかJEditorPanteとかを使うのが定石なんでしょうか? キー入力とか編集機能は別にいらないんですが、、、
JLabelにでも出せば。
エラー出力を赤字で出したいって思わない? だったらJTextPaneを使おうよ、思わないならJTextAreaだね
コピーさせろよおめー
>>94 JLabel label = new JLabel();
label.setText("<html><font color=\"red\">エラー</font></html>");
JLabel label = new JLabel("エラー");
label.setForeground(Color.red);
ログだろ
>>100 やっとわかった、出てきたログをテキストとしてUI上からコピーさせろと言う意味だったのか。
略しすぎると基地外の戯言にしか見えんぞ
>>98
JTextPane使っとけってことだね
103 :
92 :2006/03/05(日) 23:47:31
>93-102 ありがとうございます。 ちなみに98は私ではないんですが 自分がいない間に 言いたい事を代弁してくれてどうもッス
104 :
デフォルトの名無しさん :2006/03/08(水) 16:03:11
JTable で、追加ボタンを押したときに、 最後のデータ行だけ編集可能にする方法を教えていただけないでしょうか? 編集ボタン → 編集 もあるのですが、そこは応用します。 よろしくお願いします。
105 :
デフォルトの名無しさん :2006/03/08(水) 19:03:34
>>104 > TableModel.isCellEditable(int rowIndex, int columnIndex)
> rowIndex、columnIndex に位置するセルが編集可能な場合に true を返します。
メソッドを実装して最終行かどうか判定せよ。
編集開始するには
> JTable.editCellAt(int row, int column)
> row および column に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、
> セルの編集をプログラムに基づいて開始します。
だがもしかしたらフォーカスが変かも知れない。
希望の動作をするには、Model中で追加する状態か編集する状態かそれ以外かというモードを持ってあげないといけなくなるがね。
もしくはどこかにモードを持たせてそこを見に行く。
しかし俺はそもそもボタン押さなきゃ編集不可という仕様が嫌だが。
ExcelライクにF2で編集、最終行で↓押すと行追加するとかの方が気が楽だし大抵のソフトはそうなってる。
106 :
デフォルトの名無しさん :2006/03/08(水) 19:07:55
Swingで メニュー開いた後ウィンドウのフレームクリックしてもメニューが閉じなかったり マウスカーソルがサイズ変更のやつのままになるのはバグ?
それSwingができたときからの動作けど、タイトル行をクリックしたときの動作って GUI環境での依存だしJavaでかけるようなものじゃないんだよねぇ 俺もタイトル行とかクリックしてメニュー閉じるのが癖なんでなんとかしてほしいところだ
次期バージョンでは直っていることを祈ろう。
開発者はきっと気づいてるんだろうな。
111 :
デフォルトの名無しさん :2006/03/09(木) 01:37:11
お隣を守り続けて400年
なぜこうなのか、と思ったらバグパレードを確認しよう
>>105 > TableModel.isCellEditable(int rowIndex, int columnIndex)
> rowIndex、columnIndex に位置するセルが編集可能な場合に true を返します。
メソッドを実装して最終行かどうか判定せよ。
JTable.isCellEditable を使うのはよろしくないのでしょうか?
>>113 1つのTableModelを複数のJTableで共有した場合に、
JTable毎にeditableを変えたいなら JTable をいじり、
全てのJTableで同じようにしたいならTableModelをいじればよかろう。
JPanel.paintComponent(Graphics) でJPnael上にグラフを表示しています。 このPanelをJScrollPane上に配置しても、はみ出した部分は消えるだけで、スクロールできないのですが、何か方法がありますか?
>>115 普通 JComponent じゃないか?
Swingの教科書買えれ。
PanelのPrefferedSizeを、見えない部分も含めた大きいサイズ(グラフ全体のサイズ)を指定するとか。
118 :
115 :2006/03/09(木) 19:09:21
>>116 私が持っているSwingの教科書にはそこまで載ってないのです…
何かおすすめのSwing本ありますか?
>>117 それはやってみましたが、やっぱり消えます。
>>116 グラフの上にボタン置いたりするのであれば、JPanelでいいんじゃない?
>>118 消えるってのは、どういう状況なんだい?
パネルのサイズを大きくしたのであれば、パネルのサイズに合わせて、スクロールバーが表示されて、
パネルをスクロールして見られるはず。これは自前描画ロジックとは関係ない。
ためしに、パネルのBorderをLineBorderとかに変えて、
パネルがちゃんとスクロールされているのか確認してみたら?
パネルのスクロールがキチンとできるのが確認できるのに、見えていない範囲が描画されないとしたら、
単に描画していないだけじゃないの?それはJScrollPaneとは関係ない。
スクロールできないのか、描画されていないのかを切り分けろ。
今ブラウザをJAVAで作ろうと思ってるんですけど swingで本格的なものは作れますか? JEditerPaneを使っているんですが それだと完璧には読めないようですので
>>121 swingコンポーネントが持ってるHTML表示機能を使ってって言う意味なら無理。
swingで本格的なブラウザを作れますか?と言う純粋な問いに対してはYes
でもおまえさんには無理だと思うよ。
>>122 ちょwwwおまwwww
ギコナビ一画面占領してるwww
で、質問なんですが
実行中にクラスパスを変更することは出来ますか?
任意のJarファイルをクラスパスに含めたいのですが。
>>119 >JPanelでいいんじゃない?
JComponentでもボタンは追加できるし
グラフがJPanelが持つべき性質を引き継ぐべきとは思えない。
たとえば、L&Fでパネルの文字はイタリックだと指定されたからといって、
グラフの文字がイタリックになるのはおかしい。
>>125 JComponentは継承元の関係でたまたま上におけるだけ
そうおもってるほうがいいぞ
じゃないとSwingすべてそうだから
InputMethodFrameworkを使って フルスクリーンに文字を入力するサンプルってありませんか? イベントすら受け取ってくれないので挫折気味です
129 :
115 :2006/03/11(土) 16:25:54
>>119 400×200のJScrollPaneの上に、150×150のJPanelを6枚GridBagLayoutでおいています。
┌───────────────────┐
│┌──────┐┌──────┐┌──┤
││ ││ ││ │
││ ││ ││ │
││ グラフ1 ││ グラフ2 ││ グ│
││ ││ ││ │
││ ││ ││ │
│└──────┘└──────┘└──┤
│┌──────┐┌──────┐┌──┤
││ ││ ││ │
││ グラフ4 ││ グラフ5 ││ グ│
└┴──────┴┴──────┴┴──┘
で、上みたいな感じで切れてしまって、右端や下端にスクロールバーが表示されません。
JFrameの大きさを変更して、JPanelが全部表示されるサイズに広げると、グラフはちゃんと描画されています。
>>120 サンプルありがとうございます!!
ちゃんとスクロールできますね・・・。私のと何が違うのか、いろいろ調べてみます。
>>125 ,
>>127 前はCanvas使って、笑われました。。。
で、JPanelでいいじゃないかということだったので。
130 :
115 :2006/03/11(土) 16:30:07
すみません。AAうまくかけてませんでした。 感じはつかんで頂けますか・・・?
131 :
115 :2006/03/11(土) 16:49:51
スクロールの件、解決しました!!皆様ありがとうございました。
>>117 さんのレスで解決していたのでした!!
とっても単純なことでした。
JScrollPane の下にJPanel(panel1)があって、その中に6枚のグラフ(graph0〜5)を配置していたのですが、
グラフの方ばっかり気にしていて、panel1でsetPrefferedSize するのを忘れていただけでした。
たくさんレス頂いたのに、単純なミスですみません。
みなさん本当にありがとうございました!!
がんがれ このスレは比較的易しい人種がおおいな Swingってなれてくるとほんとうにどんどん楽になってくるよな
JPanelよりはCanvasの方がましのような、、、 まあ動いてるならいいか。
AWTでやるならCanvasでいいけどここはSwingスレだからな
135 :
デフォルトの名無しさん :2006/03/11(土) 21:00:30
JFrameって最大化するとスタートメニューまで隠れるよね? その状態のときってなんかCPU占有しない? mp3とか全く聞こえなくなる。 そして明らかに実行速度が変わると思うんだが。 描画速度が速くなるだけ?
>135 隠れないよ。どこかおかしなことしてない?
>>135 その最大化は、自分で実装してる?
いずれにせよなんかおかしな事してそうだねぇ・・・
>>136-138 おまえら JFrame.setDefaultLookAndFeelDecorated() とかって使ったことありまつか?
140 :
115 :2006/03/12(日) 12:50:26
このスレ、優しい人が多いし、荒れることも少ないし、とっても重宝します! 私みたいな初心者でも気軽にSwingのこと聞けるから(馬鹿にされて終わり、みたいなところ多いので)これでSwingがもっと普及するといいですね!
とっても重宝します! とっても重宝します! とっても重宝します!
じゅうたから(←なぜか変換できない)って何だよwwww 日本語話せよwwww
144 :
デフォルトの名無しさん :2006/03/12(日) 14:33:11
ちょうほうだろ
マジレスでさっさとクロージングする
>>144 に感謝
ここから「重複」じゅうふく、ちょうふく?大論争です。
重複は「ちょうふく」だが、知らん奴が多すぎて「じゅうふく」もOKになった 「ちょうふく」は国語、「じゅうふく」は大衆語
NHKのアナウンサーでもじゅうふくっていうやついるからな
ちょんちん です。
>>139 ありまつよ。
それで最大化でタスクバーが隠れる所までは分るが
実行速度については変なことにはなってない。CPU占有率は変わらない。
だから何か変なことしてるんじゃないか、っと。
>>139 それ質問の趣旨とおおきくことなってないかね
それ以前に隠れることも知らない奴が何鬼の首取ったようにつっこんでんだよ
つーか隠す方法いくらでもあるだろ ただ、デフォでは隠さない それだけ
153 :
135 :2006/03/12(日) 19:52:02
みんなめっちゃレスくれてるのに返事遅くなってスマソ JFrame.setDefaultLookAndFeelDecorated(true)使ってます。 なんで速くなるのかなー。 スレッドは元のスレッドとあわせて2つ使ってます。
>>44 6.0からはまるでJSPのように2回目以降からの実行が速くなるんだって?
ネイティブアプリと変わらなくなるとか
>>47 言っておくが、NetBeansはEclipseよりも軽いぞ
おおっと〜ここでロングパスだが受け取る人が居ないようだ〜
>>49 メモリはおれの倍くらいで十分すぎるが、競れ論が重たい原因だな。
俺のNetBeans使ってるマシンはPentium M 1.66GHz, メモリ256MB + 128MB
Java SE 5 Update 6 + NetBeans5は問題もなく快適。
Eclipseをメインに使っていたので
重たいのが気になってWinXPの無駄なサービスやLunaスキンを完全に無効化
とかしてはいるが。
>>153 プロファイラ使え
>>155 EclipseはJNIの速度がネックになってる感じ
最適化されないからね
C+アセンブラやリンクで最適化が阻害されるのと同じ
>>155 WTPが重くて使いにくくて使い物にならんらしい
>157のCPUをPen3 933GHzにしただけの環境だけど、 NetBeans5は快適に動く。4は重くて無理だった。
NetBeansはVMオプションのデフォが悪い これを調整すれば3.51あたりからまともに使える SWTはもちろんこれらの調整が生きないのがちとな
JavaでJNIを多用するとむしろ遅くなるのはSWTが出る前から常識だったと 思うんだが、なんでまたIBMはJNIに走ったのかな.... なんかAWTが通り過ぎたところに戻ったような感が...
たしかSwing使おうとしてNoを言い渡された経緯があったはず 「プラットフォームと同一のUIでなければならない」となるとSWTしかない Java6からはネイティブGUIにGOサインが出たんだっけ? 1.4.2、5.0の寿命次第だが、5年もすればEclipseもSwingだろうね
あの頃はまだ JNI で GUI 描画するより Swing の描画の方がずばぬけて遅かったろ。 今はもうどっちも実用的に使えるレベルだからどうでも良いんじゃね? 逆に言えば SWT がなかったら今の Swing の速さはないな。
でもさ、SWTって「プラットフォームと同一のUI」じゃないよねえ。 あれってどのプラットフォームで動かしても、「EclipseのUI」としか 言い様がないじゃん。
というかWindowsのUIを他のプラットフォームにも というのが正しい SWTが開発開始したのはおそらく1.2の時代あたりか 1.2って1.1よりおそくなったからねぇ それよりSWTのあの汚いコード誰もなんとも思わなかったのかよと
IBM 風味のコードっていつもあんなんばっかだから別に何も思わなかったw
Swing で作り直して欲しいよなあ。 Swing そのものも設計しなおして欲しいけど。
>>165 SWTは、ネイティブのコントロールを使っているのが、良いのでは?
テキストボックスおいて、右クリックすると、Windowsの右クリックメニューがちゃん機能する。(再変換とかある)
そういうところが、「プラットフォームと同一のUI」なんでしょ。
Swingでは実現されていないけど、メニューに影がついたりするし。
今でこそ、SwingのWindowsLookAndFeelの見た目は、ネイティブと遜色ないけど、
1.3時代のWindowsLookAndFeelなんて、なんちゃってWindowsじゃん。当時はSWTの利点は大きかったと思う。
SWTもEclipseも一過性のものになるんだろうな。 日蝕っていうのは一過性の現象だしな。 EclipseはEmacsのようには生き残るだろうけど。
Eclipseはすでにこれだけ使われてるし、今後が駄目でも使われ続けるだろ JavaのGUIをのっとろうとしたSWTがこけただけ JNI使ってるとプロファイラで最適化して・・・とか簡単にはいかなくなるしな
>>49-50 あー俺んとこも起動はEclipseのほうが速い気がするな。
動作自体はNetBeansのほうが軽い感じ。
だからIDEを立ち上げっぱなしにしておく感じになる。>NetBeans
NetBeans5.0日本語版RC2きますた
>>171 NetBeans5.5の出来とEclipseのEJB3対応次第では、状況が動くかも。
NetBeansの補完とかリファクタリングがもっとマシになったら使いたいんだが
SWT はもともと Swing に置き換わるような想定はなかったでしょ。単にプラグインを作るために 仕様化して公開する必要があっただけで、たまたま昔は SWT が速かったから、これでアプリ 作ってみようぜって雑誌が特集とか始めたわけだし。
Eclipse RCP なんかを見ると Swing (というか VB あたりも?) を置き換える勢いで作られてるような気がするが。
Eclipse RCPとかNetBeans Platformって、学習量の割には使いどころがないんだよね。
>>176 昔というかつい最近までよくやってたな
Eclipseという名前のせるとそれだけでうれますんで
JTableで、セルの中に長いString入れると、途中で...になってしまいますよね。 これをExcelみたいに複数行に折り返して表示できませんか? セルレンダラを作ったりしないといけないですか?
htmlにするとか
俺なら、JTextAreaをRendererとして返すようにするなぁ。
セルレンダラ書けって言われる前に答えを書いた
>>182 はテラヤサシス
187 :
186 :2006/03/15(水) 22:45:33
JBuilderとかそのへん独自コンポーネントがあったような だから業務系でよく使われてた
TextSS のWindowsXP(Professional)64bit化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
GroupLayoutがコアAPIになる模様
GroupLayoutって簡単にいうとどんな機能?
AWTを中心としたLook and Feelを意識しないデザインという文化に 止めを刺す絶対指定ポトペターじゃない?
Matisseで使ってるレイアウトでしょ。追加のJarが要らなくなる。
>>192 絶対指定のように配置しつつLaFによって調整されるという最強レイアウト。
OSXのInterfaceBuilderみたいなものかな Netbenas5で試せるならやってみるか
>>196 OKになったんだったら別にいいじゃねえか?
お前は明治時代の人か
漢字廃止計画が持ち上がったのって幕末だったっけ?
国語をエスペラント語に
英語を公用語にすると、プログラマが育ちます。
いやインド人が凄いのは数学のせいだと思うよ・・・ 凄いのは上流階級の人間だけだろうけど
なんたって0を発見したのはインド人 つまりビットを発見したわけで まあかないませんよ CPUの設計とか曼荼羅を書くような感覚で 右脳でやるとかいう伝説があるしなあ
bit ? digit だろ。
それも違うんジャマイカ? zeroだと思うぞ。
インド人を語るスレはここですか?
むやみやたらとインドを褒め称えてる奴らって、90 年代に 「眠れる獅子」 とか言ってやたら中国を持ち上げてた連中と 同じ臭いがする。
>>202 インド人で天才と呼ばれる人間はごく僅か。
あれだけ人口がおおければうなずけるってもんよ。
>>208 じゃあ中国には、さらに倍の天才がいるわけか
212 :
デフォルトの名無しさん :2006/03/21(火) 12:34:21
>>210 中国は共産主義の国だから
天才がいてもそのほか大勢の靖国バカによって潰される。
_、、_ _、、_ (Д´≡`Д) ここはどこだあああああああ!!!Swingはどこだあああああああ!!!!!!
I like to Swing. I like to Swing. I like to Swing. And you Swing. And you Swing. And you Swing. Swing! Swing! Swing! こんな歌があったね。 あの曲すごく気に入ってる。
話題がSwing
swingというか、awtのjava.awt.Fontなんだが、 x64 WinXP上だと、一部のフォントのサイズの値が負になる。 5.0 32bit JVM、5.0 64bit JVM、どちらも。6.0の32bit、64bitどちらも。 Metalとかsubstanceだと、きちんと動くけど、SystemLookAndFeelだとだめ。 だもんで、SwingでもSWTでもメニューバーとかのジオメトリ計算がおかしくなる。 eclipseでもこれのせいで、ダイアログのテキストエディットのサイズがおかしくなる。
>>218 > swingというか、awtのjava.awt.Fontなんだが、
> x64 WinXP上だと、一部のフォントのサイズの値が負になる。
「一部」の境界条件を見つけて BugParade に報告しといてね。
eclipse って java.awt.Font 使ってたっけ?
SWT でも AWT でも同じ症状が出てるなら
ネイティブAPIからフォントサイズ取得するのに失敗してる、とかを疑った方がいいのかな?
Windowsネイティブアプリならフォントサイズが負の値になるのはわりと普通 実際のコードとかだしてもらえるといいな
JComponent#setOpaque()ってなんて読むんですか? セットオーパーキュー?
オーペイックかな
Opaqueって英単語でしたorz どうもすみません
どうでもいいことだけど、 Opaqueって日本語APIドキュメントだと「不透明」って書いてて、混乱する。 「setOpaque(不透明)でfalseにすると、透明になる」 って初めて知ったときは、「分かりにくいプロパティだなぁ」と思ったものです。 いい感じの日本語訳はないの?
>>224 tranceparentのが良かったかい?
transparent じゃないか?
透明にすることを目的としてたら、falseを入れて透明になるのが変に感じるだろうけど 機能の内容とはあってると思うよ
そうともいえるね
transparentだったら私的には、しっくりです。 >透明にすることを目的としてたら、falseを入れて透明になるのが変に感じるだろうけど なにを目的にしたら、変に感じない? 「不透明にする」のが目的だとややこしい。 A:「setBackgroundしても背景色が変わらないんですけど。」 B:「setOpaque=trueにしろ」 A:「あ、できました。Opaqueって何ですか?」 B:「不透明。不透明を有効にしたんだ」 A:「??」 まあ、日本語に透明を否定する「不透明」以外に、Opaqueを表す言葉がないってことなんだろうけど。 つまらん疑問に付き合ってくれてありがとう。
Flashはtransparentのほうを使ってるな どんな理由でopaqueになったんだろうか
「opaque = 塗る」 と覚えろ。専門用語は一般的な訳そのまま持ってきても不自然なものが たくさんある。プログラムで context と聞いてリアルの文脈の意味で考える奴は居ないだろ。
>>231 そんなこと言ったら、専門用語でなくても訳はみんなそうでしょ。
ちなみに、contextは英語では文章には限定されない。
日本語で相当する語がないので、辞書には文脈という訳が最初に来るけど。
くまのプーさんを思い出した。 「『何もしない』をするんだよ」
Swingって、標準のウィジェットじゃ、まともなデスクトップアプリつくれないだろ。
ttp://www.jidesoft.com/products/ とか見ると、Swingスゲーって思うんだけど、売り物。
なんか、いわゆるcoolなウィジェットセットないもんだろか。タダで。
Sunも本気でデスクトップjavaを普及させたいんなら、Swingの追加
widget集みたいなの作ってくれ。
236 :
180 :2006/03/22(水) 13:53:37
>>182 遅レスすみません
ありがとうございました。
まともなデスクトップアプリって何だろ・・
>>232 おまいは何を一生懸命俺と同じことを言ってるのか。
WindowsLAFがだめということになると Windowsのアプリはすべて駄目らしい
Windows Look & Feel なんてネイティブ Win に比べて格段にダサすぎ。
Sun が意図してダサくしたとしか思えない。
アレが同じに見えるなら
>>240 の目は腐ってる。
>>241 微妙に違うんだよね
プルダウンメニューの影が無いとか。
結構似てて微妙に違うから余計に気になるよね。 靴下の中に小さい小さい石が入ったみたいな。
JTree のノード間の間抜けな空間の取り方とか、 JTable のカラムが Win3.1 の頃を彷彿とさせるとか、 JSplitPane の divider がダサすぎるとか、 デフォルトのフォントサイズがウンコちゃんとか、 ネイティブに似せた L&F じゃなくて、ネイティブそのものの L&F って作ってくれよ。 あ、でもそれやったら誰も Metal とか使わなくなるか。
245 :
234 :2006/03/23(木) 17:01:10
>>235 も
>>239 もすでに紫だが、ほしいのはLAFじゃなくて
ウィジェットセット。
ttp://common.l2fprod.com/index.php みたいなやつ。まだまだ足りないけど。
>>235 のトップにあるリンクでいうとJGoodiesのFormsの部分。
もちろん、SunのWindowsLAFはひどいLookなので、LAFも欲しい。
テキストのレンダリングにAAとか、フォントのヒントみてAA、非AAの
判別ぐらいしてくれ。
その点、SWTがいいんだけど、SWTは遅い。Tableとか悲劇的に遅い。
Sunが、Javaはサーバサイドがメインで、デスクトップは、やってるポーズだけ、
って割り切ってるならしかたないけど、まだ本気でSwingでデスクトップアプリ
書かせたい、って思ってるんなら、もっとウィジェットを充実させろ、と思う。
l2fprodの言葉を借りると、「modern user interfaces」に必要なwidgetだな。
とりあえずモダーンなウィジットを使ったモダーンなアプリケーションについて何か書いてくれないとつっこめなさげ。
>>244 そんなに見た目違ってたっけ?
1.4系だとテキストフィールとかも大分違ってたけど5.0でかなり改善したからさほどばれない
一番困るのはメニュー選択中にタイトルバーをクリックしても閉じないことくらいだが
Javaのデスクトップで思い出したけど looking glassってやつはswingと関係ある?
>>248 いや、むしろJava3Dとの関係が強い。
ググって調べてみなよ。日本語でもある程度情報あると思うよ。
>>247 いや、はっきりと違ってたら、違うものと認識するので、それはそれで
いいんだが、なまじ似てるだけに、残像効果も手伝って、違和感を
感じるんだよ。
似てるだけに、細部が違うと、すごく気になる。
顔写真をコラして、完全に左右対称にしたような違和感。
open glがSwingのPanelとして標準サポートされるのはいつ? アクセラレートって意味じゃなくて普通にGLの3Dがサポートされるんだよね?
見た目が気に入らなければ、LAFでもUIでも自分で書けばいいじゃない。 モダーンなヴィジェットがなければ自分で書けばいいじゃない。 パンがなければケーキを(ry
ちゅか「かくかくしかじかなモダーンなアプリを作りたいから、たとえばこれこれこういうモダーンなウィジットが欲しいのだが、なんでないんじゃボケ」 という具体的な話が全然出ない辺りがなんかどうでもいい感じ。
>>250 俺はFirefoxでもそれを感じたなぁ。
ネイティブのアプリでも結構そういうのがあるんだよね。
>>255 最近はスキン変えたりそういう感じのが多い
MSだってOfficeとか隠しAPIで独自にいじってきたわけで
>>252 >見た目が気に入らなければ、LAFでもUIでも自分で書けばいいじゃない。
見た目が気に入らなければ、Java捨ててC♯使えばいいじゃない、
ってのが現状だな。
つーか、AWT使えばいいんじゃね?
機能がおわっとる
SWTを使えばいい、わけじゃないか? Java 3DでGUIを構成すればいい、 わけじゃないか。 全部自分で実装すればいい、わけじゃないか Kook&Feelって自作できない?
Cock&Feel?
>>253 シェブロンもない、ドロップダウンボタンもない、ステータスバーもない。
ステータスバーは、Windowsの流儀に従って、右下にドラッグハンドルがでる奴な。
ReBar相当のものもなかった気がする。
メニューは影がつかない、メニュー開いてる最中にシステムメニュー(ウインドウ左上の
アイコンクリックか、ALT+SPCで出る奴)出しても閉じない、そのシステムメニューが消えた後、
隠れた部分の再描画がされない。
タブコントロールの背景がテーマに従った描画にならない。
システムの設定と異なるフォントが使われる。
MS UI GothicなのにAAがかかったり、TahomaなのにAAがかからなかったりする。
スクロールバーとかエディットとかのコンテキストメニューについては、まあ見逃してやる。
>>264 おいおいマジレスしても 「じゃあ Swing 使うなよ(@荒プ」 という答えしか返ってこないと思うぞ
たぶんそのほとんどは6.0で解決するんじゃない? ネイティブLaFを堂々と使っていいことになったからね。 シェブロンってツールバーの最後にある>>って奴だろ? Winだけ乱用してる奴だし自作でいいじゃん。 タスクトレイアイコン化みたいに共通度が高くなってから実装されるもんだ
268 :
267 :2006/03/27(月) 03:34:35
以下がソースです。 ------------------------------------------ 1:import java.awt.*; 2:import java.awt.event.*; 3:import javax.swing.*; 4: 5:public class SwingFrame extends JFrame { 6: 7: public SwingFrame() { 8: setSize(400,300); 9: setTitle("Swingでフレームを作成"); 10: 11: // 「×」ボタンを押されたら終了 12: addWindowListener(new WindowAdapter(){ 13: public void WindowClosing(WindowEvent e) { 14: System.out.println("1"); 15: System.exit(0); 16: System.out.println("2"); 17: } 18: }); 19: } 20: 21: public static void main(String[] args) { 22: JFrame w = new SwingFrame(); 23: w.setVisible(true); 24: } 25:} ------------------------------------------
×WindowClosing ○windowClosing
270 :
267 :2006/03/27(月) 04:00:41
>>269 さん:
こんな時間にレスどうもありがとうございます。
書き換えたらうまくいきました!!
Swing の質問というよりJavaの言語の質問に
なってしまいますが確認させてください。
12行-18行目がなにをやっているか、Java的にわからなかったのですが、
以下のような理解であってますか?
・addWindowListener() は、引数が WindowListener 型。
・WindowAdapter クラスは WindowListener を implements しているので
addWindowListener() メソッドの引数に渡せる。
・しかし WindowAdapter クラスは abstract クラスなので new できない。
・そこでこのサンプルでは、無名クラスとして12行目で宣言し、
かつ windowClosing() をオーバーライドしている。
オーバーライドしている中で、ウインドウがクローズされたら、System.exit(0) する処理を
実装している。
・私がやったことは、無名クラスに WindowClosing() という、単なるメソッドを
宣言しただけなので、誰もからもこいつが呼ばれることはなかった。
どうでもいいけど abstract クラスは、無名クラスなら new できることを
初めて知った。
そういう理解でOK。ただ > abstract クラスは、無名クラスなら new できる わけではないよ。WindowAdapterを継承してabstractでない 無名クラスを作っただけだから。 あとウィンドウを閉じるときにアプリを終了したいだけなら JFrameにsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)するとラク。
>>264 スキン使うようなアプリケーションが書きたいってこと?
ていうかそれ、見た目と動作に関する細かい?不満であって、
「かくかくしかじかなモダーンなアプリを作りたいから、たとえばこれこれこういうモダーンなウィジットが欲しいのだが、なんでないんじゃボケ」 という具体的な話をしろ
に対する回答にはならない、というのは理解できる?
何か言い返してやろうという努力だけは認める。
> abstract クラスは、無名クラスなら new できる abstract メソッドさえ実装すれば 名前がついてても new 出来ます。 interface でも同様。
>>274 つかそりゃ当たり前だよ(w
無名クラスだと、なんだか抽象クラスやインタフェースを
インスタンス化してるかの様に見えちゃうねぇという話ですな。
新人さんに説明しにくいかもなあこれ。
>>272 IE、FireFoxのような外観モダーンなアプリを作りたいから、たとえばドロップダウンボタン、シェブロン、ReBarのようなモダーンなウィジットが欲しいのだが、なんでないんじゃボケ
シェブロン、ReBarってどんなん?
>>277 メニューとかツールバーの省略時にでるやつ>シェブロン
子ウィンドウにできるメニューとかツールバー>ReBar
だったっけな
Macでは殆どみたことないな Winは普通にあるが……標準で必要かな?
それを言ったら JScrollPane の OneTouch だって標準で必要か? シェブロンとやらなんて自動にやってくれるもんでしょ。あれば便利なんだからあったほうが良い。
280 :
デフォルトの名無しさん :2006/03/27(月) 21:44:01
クレ厨が居ついたスレはここですね?
シェブロン使ったことないから自動かどうかは知らんがたぶん違うだろw Win32APIそのものはWindowsの表の表情とは比べ物にならないほどドカタな匂いを発している
シェブロン必要な時点でUI改良を考えるのが先じゃないか
「そのシステムメニューが消えた後、隠れた部分の再描画がされない。」 これってどう再現するの? 再描画されると思うけど ただメニューの影はよくいわれるね タイトルバーのクリックでメニューが閉じないはもう7,8年くらいいわれてるかと
Swing、趣味レベルでは十分実用の範囲内だと思う やっぱり仕事で使ってる(or 使いたい)人の方が多いのかな? 職業PGは大変そうだなぁ…と、この板見てていつも思う
>>284 他の仕事も大変だから。販売員、車関係のテスト要員、PGとやってきたけど
PGが一番長続きしてる。
>>285 そうか…わざわざすまんね
転職したことないもんだから今の職場のことしかわからんのよ
>>284 いや、むしろ業務用として十分だけど、趣味用としては不十分だと思う。
Swingはモデリングも動作もしっかりしてるので、動作は信頼できる。
他に選択肢がないので見た目で選ばれることがなく、操作性のみを
追求すれば良い業務アプリはSwingで十分。
他にも選択肢がたくさんあり、プラットフォームネイティブのUIと競争しなければ
ならない趣味のアプリだと不十分。
netbeansが、特にWindows上でEclipseに惨敗状態なのも、機能じゃなくて、
UI、ほかのアプリと並べたときに違和感があるかないかの差だろ。
マルチプラットフォーム謳った UI なんて所詮最小公倍数にしかならんだろ。
NetBeansは3.51までずっとメタルがデフォで敬遠されてきたからね 3.6では基本的にLAFがSystemLAFにかわっただけなのにかなり好評だったのを思い出した
Java自体が(ry
いや、3.6は3.51と別物くらい動きも速くなってたし、ちょうどその頃リリースされた1.4.2(だったかな)とあわせてめちゃくちゃ快適になってた。
3.51と両方使ったけど速度かわってねーよ LAFによる感覚の違いだけ ただ、バグは大分取れた NetBeansってバグつぶすのにマイナーバージョンアップしないで 次のメジャーバージョンアップまで放置ってのがちと問題だねぇ
>>292 スマソ速度がかわって1.4.2が出てきたのは3.5のときのようだ。
3.5からだよな NetBeansがつかいものになったのは 4.0、4.1と速度の向上が激しい 5.0はまだテスト中で実運用してないのでなんともいえんが
昔からかなり使い込んでるヤシって多いんだな このスレって 漏れはEclipseを始めて使ったのが2.0で それ以前は秀丸+Antだったというのに。
296 :
670 :2006/03/28(火) 13:54:43
自己解決しました。 おまいらほんとに使えませんな(プグラ
297 :
670 :2006/03/28(火) 13:55:18
誤爆スマソ
偉そうな誤爆、か・・・ 新機軸だね
300 :
デフォルトの名無しさん :2006/03/28(火) 16:51:35
しぇぶろんとやらは >> とか出てこないように メニュー絞るように作った方がいい。 Eclipse でソース開きまくると >> 出てくるけど 一覧表示できなくて不便。 使ってないソース閉じようとする。 ReBar は小窓になったら作業領域狭くするだけ。 Firefox の検索インタフェースになれた後に IE で検索行う時の苛立ちを感じる。
>>301 お前の意見はそうかもしれんが、世間一般は違うようだ。
そして、いわゆるフリーソフトのデスクトップアプリは
世間一般に対して作るものだ。
良かれ悪しかれ、一度なれたUIは、そう簡単には変えられない。
302のごとく、自分の意見=世間一般の意見 と屈託無く信じられる人って、 ある意味羨ましいな。
>>301 わかってないなー
ReBarはデュアルディスプレイとか巨大な解像度だと便利なんだよ
上は超同意
当方
>>301 ですが、確かに人それぞれっすね。
必要な人が居るんなら実装しててもいいですね。
設定なりで無効に出来るんなら困らんですし。
>>303 フリーソフト書いたことないと分からんのかもしれんが、
シェブロン対応、ReBar対応は、割とメジャーな要望として上がってくるもんなんだよ。
動作を1クリックで行いたいので、シェブロンは冗長って人もいるだろうが、
何が何でもドキュメントエリアを最大化したいので、
全ての(ReBarの中の)ツールバーをシェブロン化して、
全てのツールバーを1行にまとめられるようにしろ、って
人が両方いるから。
画面がXGAみたいな人も まだ沢山いるってことだな。
ノートなんかはXGA大量 そしてPCのほとんどがノート
やっぱりノートはSXGA以上じゃないと 使いたくないね
ノートはSXGA以上はあるけどSXGAがないんだよな
普段持ち歩ける限界は 12 インチ以下 苦痛なくコード (文章も) を書ける限界は 12 インチ以上 が俺的着地地点。Libretto から ThinkPad R から Solaris ノートからいろいろ試してみたが 今のところ 12 インチ以外の選択肢が考えられんな。 解像度は 1024x768 以上の選択肢がないものばかりだが、VISTA のマルチ解像度 (名前 なんだっけ?) が使いのもになるならもっと高い解像度でも可能になるだろう。今の解像度 で GUI エディタはちと辛い。
最近は妥協してWSXGAの13インチくらすでもいいかなとおもってる 256ピクセル横広いとGUIエディタがすごいらくだな コードだけならXGAでも大丈夫
313 :
312 :2006/03/29(水) 12:46:22
WXGAのまちがい
WUXGAにしよう。
UCC が良いんじゃね?
316 :
309 :2006/03/29(水) 14:20:00
>>310 そういやおれのノートSXGA+だった。
A4サイズで2.9kgでちょっと重いんだけどね。
317 :
309 :2006/03/29(水) 14:21:26
やっぱりEclipseを使うならSXGA以上でないと 使いにくい。 XGAじゃやっれられぬ。
どっちも仕事で使ってるけどEclipseってNetBeansより広い画面が必要なのがきついよね NetBeansはXGAでまぁ動かなくもない EclipseのXGAは苦痛
デスクトップPCなのにXGA使ってる。 見にくい。めんどくさい。
デュアルディスプレー以上じゃないと苦痛。
そういや、おれのデスクトップ、XGAだ。 ディスプレイをCRTから液晶に変えたら XGAになっちまったんだ。そういや。 今なら安く買えるだろうけど当時はSXGA対応液晶ディスプレイが 高かったからなあ。
液晶、この間25kで買ったよ。1280x1024。 なんだったら買い換えたら?と気楽に言える額ではないけど、思い切ってとは言える額。
俺はもうデスクトップ用液晶ディスプレイすら邪魔
>>322 15inch? 17inch?
アクオス高輝度ディスプレイ?
327 :
デフォルトの名無しさん :2006/03/30(木) 11:39:41
二万五千て破格だわな。
シェブロンなら毛糸洗いに自信が持てます
ああ、モルドールいく途中の塔にいる奴だろ。
アメリカの諜報システムな
一つの捨て牌で二人に振り込むやつじゃないか?
願い事をするとギャルのパンティーをくれる神様だろ
ジャングルの中にある連邦軍の地下基地だったな。
Swingって難しいですねo(>_<)o
>>328 アクロンをシェブロンに置き換えていたのか!
やっと意味が割った。
理解するまでに1時間もかかったぞ!
わかりにくいぞてめえ!!さけんなゴルァ
みどりの胃薬だな
お前らいい加減にしロン
>331,338 それってヨーロッパのやつじゃなかったっけ?
エシュロンに対抗し量子暗号化
キャメロン・ディアス
京都の電機メーカー?
使い捨てカイロだろ
swingスレが○○ロンクイヅスレに
熱・水分・圧力の効果によって、衣服などのしわを伸ばしたり
イスラエルの首相ってことはアリエル?
砂漠に生えてる水があまりいらない植物?
BREWスレ鳥運といいわけわからん話ばかりだな。
Unix で定時処理やってる奴だな。
アレックススレみたいでワロタ
Swingでトラブりました。 簡単なSwingアプリでテストしてみると動作が変です。 ボタンやテキストエリアに反応せず、一度ウィンドウを最小化、元に戻す、をすると反応した結果が出ます。 そしてSwingアプリを終了すると、Windows自体が反応しなくなり、マウスを何回かクリックしてるとマザーボードから「プッ」っと音がしてマウス、キーボード、画面周りが完全に停止してしまいます。 ただWindowsのGUIが止まっただけで、ネットワークからアクセスすると共有フォルダなどはちゃんと動作してる感じです。 Ctrl+Alt+Delも効かない(キーボードが効かない)ので、結局電源を落としています。 初めからだった訳ではなく、普通にSwingアプリを作ってましたが、いつのころからかこういう現象が起きるようになりました。 残念ながらおかしくなる前と後で何をやったかは特定できません。 環境はWindows2000Pro、JDK1.5.0_06です。 別のマシン(WindowsXP、JDK1.5.0_06)では特に問題はありません。 このような現象に心当たりのある方がおられたらアドバイスを頂けないでしょうか。 よろしくお願いいたします。
グラボは?
>>361 -Dsun.java2d.noddraw=true
でどう?
これで直るんなら、ビデオカードのドライバがヘボい。
364 :
322 :2006/04/03(月) 14:09:38
>>326 すげー遅レスだが出てこれる流れじゃなかった事情を考慮してくれw
17inchっすよ。秋葉で数量限定の安売りという条件なので一般的ではなかったかも知れんヽ(´ー`)ノ
>>362 ,
>>363 レスどうもです。
途中経過ですが、-Dsun.java2d.noddraw=trueで試したところ、ばっちり動きました。
どうやらドライバが原因のようです。
グラボはGeForce 6600GT AGP、ドライバはForceWare81.98です。
ドライバを新しいのに替えてやってみます。
84.21に替えたところ、問題なく動きました! 本当にありがとうございます。 おかげでOSを再インスコしないで済みました〜
>>364 欲しくなってきた。
金貯めてこんど買ってみよー
そんでCall Of DutyやAge Od EmpireIIIやCiv4みたいな戦争ゲームしまくりじゃー
グラフィックボードも欲しくなってきたー が、まだいいか。
AGPポートがない \(^O^)/オワタ
今はノート一辺倒になってしまったから AGP とかテラナツカシス
373 :
デフォルトの名無しさん :2006/04/04(火) 22:10:17
モメンタムをAjaxに持っていかれたような気がする。
そーかー?ぜんぜん競合はしてないし、小技がちょっともてはやされてるようにしか見えんけど。
Java6のSwingを使ってみた。Windows。 ・フォントのAA、non-AAはヒント情報で自動処理してくれるようになった。 ・メニュー開いてる最中にタイトルバークリックしたら、メニューが閉じるようになった。 でも、システムメニューと重なったメニューの再描画がされないのは従来どおり。 影が付かないのも従来どおり。 ・テーマ(.msstyle)変えてると、テーマによってはドロップダウンボックスの描画が おかしいのも従来通り。
下2つの意味が分からん メニューなんてJavaSE5でも再描画はされてるんじゃ?
メニューの影はVistaになれば対応するんじゃないかな。
>>376 1.netBeansあたりで、「ファイル」を開く。
(システムメニューに隠れるものなら「編集」とかでも良い)。
2.タイトルバー左上のアイコンをクリックしてシステムメニューを開く。
3.ファイルメニューの上にシステムメニューが表示されてる状態で、
「ヘルプ」メニューとかに上からマウスカーソルを近づけて重ねると、
何故かメニューバーが反応する。
(要するに、ウィンドウ枠外からクライアントエリア内のメニューバーに
直接マウスカーソルを乗せる)
4.ESCなり適当なところをクリックなりでシステムメニューを閉じても、
その下の部分は再描画されない。(ファイルメニューの塵が残る)。
ウィンドウの高さを、ファイルメニューの高さより小さくしておくと、
メニュー開いたときに、メニュー用のウィンドウ(Windowsのウィンドウ)が
作られるので、きちんと再描画される。
>>378 再現しない
もっとわかりやすく手順を箇条書きにしてくんろ
NetBeans4.1 、5.0ともに再現しないな。
>>378 どうも「3」の部分が動作が異なるな
ヘルプなどのメニューに持っていくとヘルプのメニューが描画されてもともと開いていたメニューは閉じる
JScrollPaneのスクロールバーに画像を使うにはどうすればよいでしょうか?
JListやJPanelをVisualEditorで配置しようとすると何故か親画面一杯になってしまうのですが、 サイズを自由に変えるにはどうしたらいいでしょうか?
まずレイアウトについて勉強する
>>378 これは再現しなかったが、むしろ
>ウィンドウの高さを、ファイルメニューの高さより小さくしておくと、
>メニュー開いたときに、メニュー用のウィンドウ(Windowsのウィンドウ)が
>作られるので、きちんと再描画される。
この状態で、ウィンドウを最小化⇒復元したときに
メニューが表示されてた場所が無描画で残り続けた。
>>383 scrollPane.getVerticalScrollBar().setUI(new BasicScrollBarUI() {
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
super.paintThumb(g,c,thumbBounds);
g.drawImage(bgimage.getImage(),thumbBounds.x,thumbBounds.y,thumbBounds.width,thumbBounds.height, null);
}
});
全体は以下に貼ってみました。画像は適当に用意してください。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27467
>>388 丁寧に教えてくださってどうもありがとうございました!
おかげでできました!
>>6 >>22 有償だがEclipse用にこんなのがある。
http://www.swing-designer.com/ http://www.windowbuilderpro.com/ 前者の価格は
# Commercial license with 90 days of support and updates...$199 (call for quantity discounts) *
# Non-commercial license with 90 days of support and updates...$99 (read license) *
後者の価格は
Commercial license with 90 days of support and updates...$299 (call for quantity discounts) *
Non-commercial license with 90 days of support and updates...$149 (read license)
次のバージョンではGroupLayoutに対応するっぽい。
他の有償GUIエディタ知ってる人いたら情報きぼん
>>392 jiglooは結構気に入ったので感謝を込めて購入した。
まだほかのguiツールでる前だってのもあったけど、ヘタクソな英文の質問にも丁寧に答えてくれたからだけど。
>>393 オレもjiglooちょっと試してみた。
VEよりずっと高機能じゃん。しかも軽いし。これで商用でも$75って良心的過ぎるな。
VEなんて
>>22 なんだし、比べるまでもないでしょ
良心的な価格なのは確かだけど。
へー軽くて VE よりずっと高機能ならちょっと興味あるな。 これスタンドアロン? それとも何かのプラグイン?
jigloo、元デルフィアンとしては 上にコンポーネントが並んでるのが 懐かしくていいです。
>>394 ワシが買ったときは50ドルだったんだが、結構値上げしたね〜。
400 :
デフォルトの名無しさん :2006/04/14(金) 18:00:03
401 :
デフォルトの名無しさん :2006/04/14(金) 19:25:14
>>400 g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
を入れると正常になるようです。
あとは、BufferedImageのタイプをTYPE_BYTE_BINARY以外にした場合もうまくいくようです。(全部はやってないけど)
>>400 Linux 2.4.31 の 1.5.0_06 で試したけど同じく点線になりました。
バグっぽいですね。
このスレなんか平和で好きだ。 関係ないけど、おまいらって、どういう人なんだろ…。 やっぱりオタク系?
本質的にはオタクだが、オタアニメは見ないしエロゲも興味無し。 属性としてはメカと音楽と酒オタだな。
Java2Dのバグだろうからあきらかにスレ違いだが確定っぽいな
あーたしかに目次見るかぎりよさげだ 問題は翻訳ものの特徴として分かりやすい日本語になってるかだ 序盤はいいのに後半直訳が多くなってきてる本なんて大量に見てきたし
本家オライリーのページでサンプルコード落としてみたけど、 なんか微妙なかんじ・・・ 全サンプル試したわけじゃないから総合的にはなんともいえないけどね。
>>404 俗に言う「オタク」じゃないのね。
やっぱりコンピュータ系は電車男みたいなオタクを想像しちゃうな〜。
スレ、板違いなんでこの変にしときまつ。
間違えた。
>>404 ではなく
>>403 に。
アニヲタやエロゲヲタっぽいことは
人間性を疑われそうなのでできないな。
さすがに電車男みたいなのと一緒にされるのは(ry
仕事でやってる技術屋は、ああいう秋葉系オタ少ないような。
PCオタは多い というかWin95以前は本当に好きなやつしかパソコンさわらなかったから マイコンとよばれた時代に迫害された人も多いけど
414 :
デフォルトの名無しさん :2006/04/15(土) 22:08:45
さくらたん…ハァハァ…。
>>401-402 ,405
ありがとう。
y座標が大きい方の点を先に指定するとバグるようですね。
なので最初の点と2番目の点を入れ替えることでも回避できます。
Mac OS Xでは正常に描画されました。
一応報告しておきます。
エビちゃんハァハァ
俺はむしろ、秋葉原から萌えの要素を一切排除してもらいたいが。
なんか近くにラブホ作るなって言ってる田舎の住民みたいだな。
>>418 つまり、ファミリー層をターゲットにした街にして欲しいってことね。
ファミリーで萌えることができる街を目指しています。
家族でコスプレ遊びできるお店とか?
そもそも子育てとはごっこ遊びの延長だと思うが。
オタ必死だな。
アニメは好きだが萌え系アニメは反吐が出るほど嫌い
正直8年ぶりに秋葉原へいって萎えた。 胸元開いて非常に短いスカートのメイド服着たお嬢さんが闊歩する町とはしらなかったよ。
萎えるか? 俺はすれ違って5秒後ぐらいに驚愕して振り返った
>>427 風俗産業がHate対象なのだ。
スレに沿った話に無理矢理戻すけど
各JDK毎のJITやインタプリタの改善以上にSwingって早くなってるよね?
1.4.0から大幅にハードウェアを前提とした現実的なAPI導入 1.4.1からハードウェアアクセラレーション導入 速度的に1.4.1と5.0比べてもそう大きく変わらん ずっと仕事でSwing使ってきたが、現実的に実用的になったのは1.3.1からだと思う そして1.4からは理想だけ追い求めるより現実的な選択をとり 5.0のコンカレントAPI等に代表されるようなものがさらに加速 synchronize構文が自動的にlock構文に置き換わって実行されるような オプションとかほしいかもね
ちょっと気が早いけど、次スレからは Java高速化中GUI Swing 5 ってことひとつよろしく
高速とか低速とか無くして、漢らしくすっきり Java GUI Swing 5 で。
イ氏え束
Java 標準GUI Swing 5 がいいと思ふ
心配しなくても 950 行く頃には無くなってるから
フォント汚いとか、低速とか自虐史観で行った方が厨よけになると思うんだけどな。 無意味に「標準」ってのも止めた方が良いと思う。 それが事実であれなんであれ、他は非標準っつー排他思想が見え隠れするし。
Swing自体元々非標準だしあんまりそういうくくりはよくねぇ
せいぜい昔から変わってないのは高機能というあたりか
シンプルに
>>432 のように何もなしでいいかと
そうだな。
スレタイ自体に厨議論のエサが含まれるとロクなことがない
にしても先の長い話だw
よろしく頼んだ
>>980
439 :
デフォルトの名無しさん :2006/04/19(水) 19:39:19
あと3ヶ月は掛かるけどな。
440 :
デフォルトの名無しさん :2006/04/26(水) 11:25:53
すみません。 JTextAreaにフォーカスが移ったときに、IMEを自動でONにする方法はないでしょうか。
これか? java.awt.Component - public void enableInputMethods(boolean enable) focusListenerでやっときゃいいんじゃねぇの?
>>442 あー、使うか使わないか切り換えるだけか。
じゃあ正解は?
Character.Subset[] kanji = new Character.Subset[]{InputSubset.KANJI};
compo.addFocusListener(new りすな(kanji));
//
class りすな implements FocusListener {
Character.Subset subset[];
public InputMethodEventControl( Character.Subset subset_[]){
subset = subset_;
}
public void focusGained(FocusEvent e){
e.getComponent().getInputContext().setCharacterSubsets(subset);
}
public void focusLost(FocusEvent e) {
e.getComponent().getInputContext().setCharacterSubsets(null);
}
}
こんな感じだな
Character.Subsetをしらべればわかるが半角かなをデフォにしたりできる
IME自体は起動できるがnullわたせば強制IMEOFF
起動自体も出来ないようにするなら
>>441 ただ、現行IMEの切り替えが動いてはいるが、これは本来の目的ではないと思う
実装によっては挙動が変わる可能性あり
この基本となる部分をプロパティで持ってないあたりが7bit圏主導の環境だ>Java
なんだかんだでMSの開発環境はここはプロパティでセットするからな
445 :
440 :2006/04/26(水) 17:07:09
>>441-444 ときどきしかJavaアプリの修正をしないので、
プロパティで設定できたような気がすると思っていました。
頭がVCと混同してきているみたいです。
ありがとうございました。
すみません。 JCheckBoxやJRadioButtonなどは、その選択状態を保ったまま、 シリアライズしてオブジェクトストリームで別ファイルに保存し、読み込み復元することはできるのですが、 JTextFieldに文字列を保持したまま、オブジェクトストリームで保存しようとすると、 エラーになってしまいます。 こういうオブジェクトの状態をそのまま保存復元したいときの定石ってありますか?
>>447 お、もう出てたのか。週末に買いに行かないと。
449 :
デフォルトの名無しさん :2006/04/28(金) 02:01:22
バッドノウハウ本は言語系がヴァージョンアップするとぐちゃぐちゃになるからなー
>446 java.beans.XMLEncoderを使うんじゃないのかな
>>447 ななななんだぁ?
ハックシリーズのSwing版まで出たかあ?
ビックリだ。
ブログハックGoogleハックに
心理学関係のハックまで出てこいつまで出るとは。
ついにはStruts HacksとかEclipse Hacksとか
JSF Hacks とか Maven Hacksとか出るのだろうか?
関係者乙
女子高生ハックが出たら買う。
.hack
Swing Hacks日本語版、届いた。 やっぱ凄いよ。D&Dやネイティブアプリとの連携のTipsは特にありがたい。 みんなは所感どうよ?
.hack//Roots卓球の延長で録画失敗したorz
D&Dと言われると、「ダンジョンズ・アンド・ドラゴンズ」を思い出します それはともかく、今度秋葉のタワーに見に行ってみます。 値段によっては悩むところだな。Swingの使用頻度からして。
eclipseでSwingを使いたくて、wtp-1.0.1のeclipse3.1.2(Linux) + VE v1.2M3をインスコしたんですが、 VE Projectが使えません。 Preferenceか何処かに追加が必要なんでしょうか?
サンクス。 VE v1.1.0.1に入れ換える事でVEでSwingアプリを作れる様になりました。
461 :
デフォルトの名無しさん :2006/05/03(水) 00:32:11
プログラム暦1週間のオレにSwingとSWT、今の主流と今後の主流となると思われるものを教えてくださいませ。
462 :
デフォルトの名無しさん :2006/05/03(水) 00:35:46
なるほど、そうきたか。 新しい手法だな。
>>461 SWTは結局主流になることはありませんでした。
今はGUIアプリ自体が主流じゃありません。でもGUIアプリならSwingです。
今後はGUIアプリも盛り返してきます。もちろん主流はSwingです。
というか今後はSWTなんかミジンコです。
Eclipse もSwingで書き直せばいいのに
SWTは高速性を売りに夢を持った時期がありました Swingはどんどん高速、高性能になりました 今でもSWT以外はJavaは遅いと信じている人が多いようです 実際にGUIプログラミングをしたことがない人がほとんどです しかもSWTのプログラミングスタイルをしらずに IBMやEclipse信者による筆者のFUDが成功した例です
Boot camp の登場 ↓ MacでWindowsマルチブート、な人が増える ↓ 共有領域におけるJavaのクライアントGUIアプリが陽の目を! なんてこと、ないかなぁ…。ないよなぁ。
>>468 そうなると、app化されてるアプリの立場がないなぁ・・・
別にローカルディスク上で同じバイナリを共有する必要はないので
開発者の手間が軽減されて、同じアプリが同時期に両OSでリリースされることで十分かな。
という、今、その理想に近いV2Cで書き込んでるわけです
470 :
デフォルトの名無しさん :2006/05/04(木) 12:55:05
SWTもSwingもJavaである限り主流にならない気がするね
お、なんか頭悪そうなのがきたぞ。
ageてる時点でお察しください
473 :
デフォルトの名無しさん :2006/05/04(木) 16:40:59
474 :
デフォルトの名無しさん :2006/05/05(金) 02:48:56
どう説明したらいいのか、名前がわからなくて上手く説明できないけど…… eclipseのツールバーの「new」みたいな、ボタンとプルダウンが一体化したみたいなボタンは、 標準では作れないですかね……。 (つーかこれ、なんて名前なんだ……)
JDialogの[×]ボタンや自前の[閉じる]ボタン などでJDialogを閉じるとき(クリックしたとき)に 一仕事させたいんですがどうすればいいでしょ?
>>475 普通にリスナーのメソッドに一仕事かけばいいですよ。
というか、明示的に閉じる処理を書かないと、JDialogは閉じないのでは。
JOptionPaneじゃないよね?
setDefaultCloseOperation() でやってんでしょ。
478 :
475 :2006/05/05(金) 07:39:21
setDefaultCloseOperation()です。 NetBeansが生成するやつですよろしく。
何をよろしくしてるのか分からんがもっと調べれ
480 :
デフォルトの名無しさん :2006/05/05(金) 20:57:55
JEditorPaneの背景に画像を表示することはできますか?
>>457 だよな。他にトンネルズ&トロールズやロード・オブ・ザ・リングも思い出してしまった。
ドラッグアンドドロップはDnDと略すものだよな。
Javaのパッケージ名もdndみたいなのなかったっけかな?
>>474 SWTなら簡単に作れると思う。
Swingでやるなら手作りじゃね?
ちょっと大変そうだけど。探せば
すでにそういうフレームワークかライブラリが
あるかもしれないね。
そういやポップアップメニューは1.4まではひどい扱いだったよな コードで作りこまないとダメってありえんかった 5.0でやっと気がついたって遅すぎ
>>479 説明不足ですいませんでした
もうちょっと整理してみます。
>>474 ドロップダウンボタン。
>>264 あたりの流れを読めばわかると思うけど、その手の
当たらし目のコントロールはSwingには無い。
設計が95年ぐらいなので、その当時一般的でなかったコントロールは無い。
Windowsで周囲のアプリと馴染むアプリを作りたかったら、SWTしか選択肢はない。
487 :
474 :2006/05/06(土) 18:57:03
488 :
474 :2006/05/06(土) 20:04:31
最小公倍数になったらすごいなw あらゆるネイティブGUIを取り込んで、相乗効果でさらに上をいってるわけだ。
491 :
デフォルトの名無しさん :2006/05/15(月) 12:28:50
JEditorPaneで"ほ"、"げ"と順番に入力してからアンダーラインを全体に適用して、 "ほげ"(全体にアンダーライン)とする。次に、Undoを2回だけして、"ほ"に戻す。 次にRedoを2回実行すると、"ほげ"(全体にアンダーライン)という状態に戻る。 これは問題ない。ところが"ほ1げ"(全体にアンダーライン、1だけ半角)について Undoを3回、Redoを3回すると、"ほ1げ"(アンダーライン無し)で終わってしまい、 アンダーラインが入らない。また"12345"(全体にアンダーライン)の場合も問題は無い。 つまり、全角と半角が混ざっている場合だけこの問題は発生するようである。 最初は自分のプログラムに原因が有るのだろうと思ったが、SunのサンプルであるStylepadで 実験しても同じ結果が得られた。J2SE 1.4でもJ2SE 5.0でも同じ現象が起こることも確認した。 ちなみにNetBeans5.0を触っていてもときどきUndoが最後まで戻らないときがあるようだ。む〜ん。 こういうのって一応報告した方がいいのかな?単純なバグだからやっぱり既知かな。
492 :
491 :2006/05/15(月) 12:33:57
大事なことを言い忘れた。上の問題はMacで発見しますた。 PPC G5、Mac OS X 10.4.6です。まあ、これもMac特有の問題かも知れませんね。 今手元にWindowsが無いので自分で、すぐには確かめられません。
493 :
491 :2006/05/15(月) 12:38:01
しつこいですが、アンダーラインだけでなくて、文字のサイズについても、同じことが 起こります。ほかは試してないけど、もしかしたら、色とか、アライメントでも起こるかな。
WindowsとLinuxで試したけど再現しなかった。 環境は、Windows XP SP2 & jdk1.5.0_06 と、RHEL 2 & j2sdk1.4.2_11。 Mac固有の問題かもね。
495 :
491 :2006/05/15(月) 14:46:01
>>494 わざわざ確かめていただいてありがとうございました。
そうですか、また一つMac固有の問題が発見されたかも。もういいよって感じです。
まあWindowsでちゃんと動くなら問題ないかな。
逆にWindowsはいまだに日本語印刷できないへたれだから無視するのが吉
それもう直ったお
update7で直ったけど配布されてない これって直ったといっていいのかよw
今Swingってどんな開発で使うの? マカー用?
501 :
デフォルトの名無しさん :2006/05/17(水) 10:10:04
俺マカーだけど。Mac専用のアプリケーションでSwing選ぶ理由は思いつかないな。 それだったら大抵Cocoaでいくはず。 自分はMicroSoftもAppleもつぶれることを想定してSwingつかってるよ。だったら別にawtでも いいわけだけど、ぶっちゃけSwingの方がかっこいいし高機能なんで。 awtを理解しないとSwingは理解できないみたいな意見をたまに聞くけど、なんでなのか 未だにわからん。
イベントの流れとかAWTベースだしAWTパッケージに依存してる
503 :
デフォルトの名無しさん :2006/05/17(水) 12:40:33
『Java GUI コンポーネント完全制覇』とか読んでると、awtを勉強してからじゃないと Swingの勉強はできないみたいな感じで書かれているところに反発感を覚えるんですよ。 いきなりSwingの勉強しても全く問題ない訳よ。awtなんて言葉一度も意識しなくても java.awt.ComponentとかのJava Docが読めればそれでいいわけよ。でもってSwingの コンポーネントもそれを継承してるってことがわかればそれでいいじゃん。
それawt理解してるやん
505 :
:2006/05/17(水) 14:20:47
>>503 自分もその本読んで思った。
Componentとかイベントモデルとかは理解しなくちゃいけないけどAWTのリストだとかテキストコンポーネントとか勉強する意味無いのに。
糞本だと思った。
506 :
503 :2006/05/17(水) 15:18:31
>>505 そこまでいうか。たしかにawtで組んでから、必要に応じてSwingに書き換えるのがいい、
とか言ってるあたりは、初心者が真に受けたらどうするんだよ、と思ったけど。
Swingのテキストコンポーネント(JTextPaneとか)についてはほかでは得られない情報
も多く、大変参考になった。
でも、プロブラムサンプル収録の仕方が気に入らんかったな。ちゃんと
javaファイルごとに分解してほしかった。
ところで、J2SE 1.4からJ2SE 5.0に変わったらMetalのL&Fが
ずいぶんかっこ良くなったんだね。最近気づいたよ。
で、499の質問に対しては、特別変わった場面ではなく、どこにでもSwingは使えるよ。
といいたい。NetBeans5.0を使うようになって、Swingでできないことがあると思うのは、
自分の技量が足りないからだと痛感するようになった。
>>506 え、ファビョロンじゃねえやなんか変な名前のコンポーネントも作れるの?
>>506 あとちょっとでJ2SE5.0がでて2年になるのにいまさらかよ
5.0はWindowsXPのLAFが大幅に改良されてるのも大きいぞ
1.4.xとは段違いに似ている
509 :
506 :2006/05/17(水) 23:02:38
つい最近まで1.4でやってたよ。ちょっと古いもんが好きなんでw
Windows3.1とかオススメ
511 :
506 :2006/05/18(木) 01:40:44
それはすごく古い!
3.1か・・・・新しいな、Windowsは2.0くらいが香ばしくて・・・ Javaは、1.0.2くらいが新しい、O'ReillyのAPIを印刷しただけの本かっちまった記憶があるぜwww 全く読んでない。だって使い道なかったもん・・・・
Windows3.1をシェルからwin.comを叩いて起動させていた頃が懐かしい 補助記憶装置の容量が10MBで、まさか10数年で1万倍になるとは思わなかった
swingでドラッグ&ドロップさせたいのですが、 参考になるHPありましたら教えてください。 テーブルの行を別のテーブルへ移したいのです。
>>514 HPということだが、本ではオライリーの『JAVA クイックリファレンス』をおすすめする。
これ読めば必ずDrag&Dropが使えるようになるはず。もちろんJTableから他のJTableへも
JTableから自分自身でもだ。
517 :
516 :2006/05/22(月) 05:23:34
すまん、間違えた。『JAVA プログラム クイックリファレンス』の方だった。ワニ本の方ね。
>>514 最近出たSwing HackにもD&DのTipsが載ってたよ。
swingってほんとに早くなったの? しばらく最小化した後に、また立ち上げたりすると、未だに再描画に結構時間かかったりするんだけど。 athlon64 3000+ mem 2G geforce6600 TD
>>519 それは少し問題が違うけど、Mustangでもあまり改善されてないな。
>>519-520 GCのチューニングしたらある程度は問題回避できるぞ
あとメモリ2GB載ってるならスワップ切るとか。
まぁ速くなったというのは過去からの比較だから過剰な期待はしないことだ。
Swing出たときに比べれば明らかに雲泥くらいの差はあるんだがな。
メモリが大量にあってもスワップアウトするやつか そもそもJavaの問題なのか? ネイティブアプリでもメモリ使用量が大きいやつは総じて問題になる
>>521 なるほど、SWTの解説扱ったサイトみてると、ほとんどSWTにメリットはないみたいに
書かれてるけど、そう言い切れるってわけでもないのね。
>>522 ArgoUMLとeclipse使ってると、大分違うよ。ArgoUMLのが再描画にずいぶん時間かかってる感じ。
でも最小化しないアプリならそろそろSwingのほうが早くなってきてるな
>>524 書かなくても普通最新使ってるって考えない?
>>526 それは読み手に期待しすぎ。いろんな事情があるんだから。
例えば運用フェーズに入ったプロジェクトは、ほとんど1.4.2だよ。
>>526 最新てMustangのこと言っているのか?
>>526 どっかのスレで、Swing遅い遅い言ってるやつがいて、使ってるのがJDK1.4.2だった。
JavaSE6でやっとLinux方面もアクセラレーションきくようになるみたいだね JOGL内蔵って、表に出てこないのかな Java2Dだけじゃなく標準APIでJOGL使えるほうがうれしいんだけど
>>531 「開発者の立場」からだとすると使いやすいのはSwingだというのは賛成できる
>>531 > 未だに再描画に結構時間かかったりするんだけど。
ってのがあるだろ?早いのかって聞いてるんだよ。
さっきからずーっと気になってたんだが・・・・ 「早い」→「速い」だから・・・・・・ 漢字の使い方間違いでIDがなくても同一人物と分かってしまう・・・・
>>532 俺も、開発者として使いやすいのはSwing、
ユーザーとして使いやすいのはSWT、
だと思う。
>>539 SWTを使ったアプリで個人的に世話になったのってeclipseしか無いんだけど、ほかに有用なのってなにかあった?
正直eclipeでSWTの恩恵に預かっていたのは痛感するけど、作りやすさと対応の良さでSwingべったりなんだ。
>>539 にも
>>540 にも同意してしまう。
たしかにSWTってなんとなくネイティブっぽいんだけど、一方でSWTアプリで世話に
なったのって、確かにEclipseしかないんだよ、おれ。
Swingだと、BlogBridge(ブログリーダー)、V2C(2chリーダー)、Netbeansと、実は結構
数多い。
Eclipseは確かに使いやすいけど、じゃあ、「EclipseはSWTだから 使いやすいのか?」っていわれると、そうでもない気がする。 Eclipseの使いやすさはコード補完、エラー訂正だとかの エディタ機能に関することで、「SWTのこのGUIが使いやすい」ってのはあまり 感じない。 Swing版Eclipseがあったとしても、それはそれで普通に使いやすい のではないかと思う。
NetBeansてUIの見た目がかけらも格好良くないよね、 Eclipseはまだカッコつけようとしている姿勢が見られるけど。
546 :
:2006/05/27(土) 23:59:04
Eclipseの高速ビューは下にあってクリックしなくっちゃいけないのが少し面倒。 NetBeansは横に置けてクリックしなくてもマウスを上におくだけで表示してくれる。
場所は変えられるでしょ。 クリックは確かにそうだね。
>>545 SubstanceLAFで背景設定しただけのやつとかは、あまり芸がないと思ったりするけど、NapkinLAFはえらく気に入った。
どうでもいいアプリをNapkinLAFにすると、どうでもよさが強調されてステキだ。
>>545 eclipseをXGA級の狭い画面で使うときはClearTypeで小さくしても見れるフォント使って
小さくするしかないかな、とX60sで頑張ってる個人的な意見
漏れはMeiryo使ってます。ビットマップフォントで昔は頑張ってたけど限界があるね・・・
550 :
デフォルトの名無しさん :2006/05/28(日) 06:55:19
と
>>549 がいうのでMeiryoを入れてみたが、
等幅フォントじゃないとソース書くのになんか気持ち悪くない?
>>550 ゴニョゴニョ・・・ホントはね、等幅のMeiryoKe_Gothicなんですけどね・・・・ま、察してくれ
552 :
厨房 :2006/05/28(日) 07:51:34
厨房だけどJaVaやハイパーカードとか簡単に理解できるからね。
このスレが何のスレかは簡単に理解できなかったようだな。
554 :
デフォルトの名無しさん :2006/05/28(日) 16:09:19
JFrameにボタンを追加する時、 ・frame.getContentPane().add( new Button("(・∀・)イイ!") ); ・frame.add( new Button("これも(・∀・)イイ!" ); と、どちらでもできますが、違いはありますか?
555 :
デフォルトの名無しさん :2006/05/28(日) 16:28:24
つAPIリファレンス JFrame >便宜上、add とその派生メソッド、remove および setLayout は、必要に応じて >contentPane に転送されるようにオーバーライドされています。 >つまり、次のように記述できます。 > >frame.add(child); > >子は contentPane に追加されます。
>>555 ありがとうございます。
APIリファレンスみわすれてました(;´Д`)
スレよごしごめんなさい(´・ω・`)
おを!いつのまに contentPane 使わなくてよくなったの?? これでまた一歩記述がらくちんになった。 よーし、お父さん今後は直接add使っちゃうぞー。
1年半ほど前からつかわなくていいぞ
ユーザとしてのSwingのありがたみが分かったのは、 V2Cの使い勝手がWindowsでもLinuxでもSolarisでも殆ど変わらなかった経験ぐらいだな。
グループレイアウト使うようになってから開発効率がよくなっただけじゃなく パネル大量とレイアウトマネージャ組み合わせがなくなってメモリ使用量やレンダリングスピード上がった模様 グループレイアウト標準搭載が5年早かったら・・・とはおもう .NETより配置だけなら楽
>>552 何このたった1行なのに俳句のように中身の濃い文
562 :
:2006/05/29(月) 10:46:15
簡単なアウトラインエディタ作ってるんだが テキストコンポーネントの印刷のデフォルトサポートととか(JTreeの)ドラッグアンドドロップの改善とかタブペインの改善とか 使いたい機能がMustangにありまくり。 Swingのコンポーネントだけ一足早く入れ替えられたら楽なのになー。
>>562 必要ならもう使っちゃえばいいんじゃな?秋には出てくるんだし。
LookingGlassとか、今回のリリースバージョンからMystang必須になりましたよね。
Mystang・・・なんだか神秘的な響きだ。
565 :
:2006/05/30(火) 13:13:04
>>563 Eclipse使ってるからEclipseが対応しないと苦労するような気がする。
でもJavaが高機能、高速になってパソコンも高速になって、すこしうきうきする。
NetBeans使えば?
Swingでアプリ組むのにEclipseってさすがに苦行だろ それでいてJavaのGUIは作りにくいとか抜かすばかなやつも多いが
MustangだったらGroup Layout使いまくれるしね。
Eclipse+VE は重たいのとしばしば固まるのが困るが (GEFか、下層の SWT 自身が不安定に感じる) 「安定動作するのだとすれば」作りやすいと感じるが。 GridBagLayout に慣れてしまうと、他の作り方はストレス感じる。 Swing で再実装して欲しいとは思うが。
>>569 慣れるとGUIエディタ要りませんが何か?
でもBorderLayoutを考えた香具師は死ねばいいと思う。
>死ねばいい 使わなきゃいいだけだから死ぬまでもなかろう。 でも JComponent を interface にせずに クラスにしたやつは死んでもいいかな。
GroupLayoutに慣れてしまうと、他の作り方はストレス感じる。
>>570 それをGroupLayoutで同じこと言えれば神
今グループレイアウト以外使うのはあふぉ というくらいいいものだな、あれは
でもGroupLayoutをIDE無しで使うと死ぬ GroupLayoutマンセーな人ってちゃんと使い込んでる? GroupLayoutも善し悪しだって、やっぱり大量のコンポーネントを密集させたりすると GridBagの方が使いやすかったり、大きなレイアウトはBorderで取った方が便利だったりするからな GroupLayoutは中程度のコンポーネント数を非周期的に配置するとき便利。 今まで、なかったLayoutManagerの担当領域が埋まった、ってとこかと思ってる。 適材適所よ実際
業務系だとやはり基本はラベル+テキストなどのコンポーネントでテキストのラインそろえてくれる GroupLayoutは神 あとデザイナのサイズがウインドウのクライアントサイズになるというのもマル
>>569 一応NetBeansでもGridBagLayoutは似たように扱えるよね
追加したアイテムが更新されないのが痛すぎるけど
>>574 適材適所のうち、もっとも広い所に適材がなかったわけだ。
>>576 追加したアイテムが更新されないっていうのはどういうこと?
組み合わせまくればどうにかなるじゃん ↓ GridBagLayout でどうにかなるじゃん ↓ GropuLayout で楽したいじゃん
GridBagLayoutも単体じゃ駄目だったから結局組み合わせが必要だった だがGroupLayoutは組み合わせ不要 画面上のコンポーネントの数は1/2くらいになるために高速化もするしいいことづくめだ AbsoluteLayoutもいいものだったけどウインドウサイズ等に対応できないからね
GroupLayoutをEclipseで使うなら Jiglooプラグインとかどうよ。
自分はWindowBuilder使ってる。割と便利だが、バージョンアップが激しいのが難点。
Swingのdrag&dropについて質問です。 JPanelにJListがある画面(JFrame)を作成しているのですが、JListの上だけドロップイベントが発生しません。 JList上でもドロップイベントを発生させる方法はありませんか? 最終的にやりたいこと JFrameのどの部分にDrag&Dropしてもイベントを発生するようにしたい。
ソース
585 :
583 :2006/06/18(日) 03:47:40
自己解決しました。どうやらJListはドロップのターゲットとしては選択できないみたいです。
How to Use Drag and Drop and Data Transfer
ttp://java.sun.com/docs/books/tutorial/uiswing/misc/dnd.html よってJFrameのGlassPaneのほうにDropTargetを追加することで、
JListの上でもドロップイベントが発生するようになりました。
以下は抜粋ソース
JFrame jframe = new JFrame();
DropTargetListener dl = new DropTargetAdapter(){
public void dragEnter(DropTargetDragEvent e) {
e.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
}
};
new DropTarget(jframe.getGlassPane(), dl);
// GlassPaneを表示状態にしないと、DropEventは発生しない。
jframe.getGlassPane().setVisible(true);
j2sdk1.4.xで、新しいJFrameウィンドウの表示位置をプラットフォームお任せで 表示するような(少しずつ右下にずらして表示)事をしたいのですが、 定石コードってありますか? tigerだと簡単に出来るようなのですが・・・
>>586 手元にあったコードから
JFrame f = new JFrame();
JFrame jf = new JFrame():
jf.setBounds(f.getBounds().x + 50, f.getBounds().y + 50,405, 185);
定石かどうかは知らない。
サンクスです。 使わせて頂きます。
589 :
デフォルトの名無しさん :2006/06/23(金) 14:35:15
めちゃくちゃ判りにくいんですが、教えて下さい。 JTableに、値 int -100<->100 を表示・変更できるTableColumnを作成しました。 Abstractを継承したTableCellRenderer/Editorを作り、JTextFieldとJSliderで表示・変更できるようにしてあります。 JTableはAUTO_RESIZE_ALLになってます。 で、このJTableが乗っているJFrameをリサイズすると、JSliderも追従し幅が伸び縮みするんですが 最初の1行目だけ動作が妙です。 2行目以降は、TableColumn幅にぴったり追従するんですが 一行目のJSliderだけは、JFrameリサイズ前の幅になってしまいます。 何度もJFrameをリサイズした場合、1行目だけ1回分遅れたサイズになってしまいます。 デバッガで追ってみてもよくわからんのです。 エロい人、なにかヒントだけでもお願いします。
591 :
589 :2006/06/26(月) 10:33:27
592 :
589 :2006/06/26(月) 10:34:48
あ、環境はWin32 jdk1.5.0_07です
>>591 どうしてもJTableを使う必要が有るなら強引にリペイントしてしまえばいいと思うけど
tableScrollPane.getViewport().addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
table.repaint();
}
});
そうじゃないなら、JTableじゃなくBox.createVerticalBoxを使うのが簡単だと思う。
private final Box box = Box.createVerticalBox();
private final JScrollPane scroll = new JScrollPane(box);
private final Vector list = new Vector();
public void addComp(JComponent panel) { //panelにはJTextFieldとJSlider
list.addElement(panel);
box.removeAll();
for(int i=0;i<list.size();i++) {
JComponent c = (JComponent)list.get(i);
Dimension d = c.getPreferredSize();
tmp.setMaximumSize(new Dimension(Integer.MAX_VALUE, d.height));
box.add(c);
}
box.add(Box.createVerticalGlue());
box.revalidate();
}
594 :
589 :2006/06/27(火) 11:41:54
>>593 どうもです。
viewportでrepaint()でいけたんですね。 根本的解決ではないですが、これ使ってみます。
JTableにした理由は、ヘッダをクリックすると任意にソートできるようにしたかったんで
UI的にはJTableかなー、と思ったわけです。
Boxコンポーネントは存在を知りませんでした。
今までJPanelでやってたけど、これシンプルでいいですね。
勉強になりました。 ありがとうございます。
595 :
デフォルトの名無しさん :2006/06/29(木) 22:08:34
カスタムコンポーネントを作るのに役立ちそうな書籍ってありますか? テンプレにある書籍はよさそうな感じでしたけど、3or2冊買うのはきついです。 ソースがしっかり載っていれば、英語でも構わないです。
596 :
デフォルトの名無しさん :2006/06/29(木) 22:20:01
オライリーのSwing Hacksとかどうよ?
597 :
595 :2006/06/29(木) 22:28:37
>>596 それは既に読みました。
結構役に立ってますが、
もっとコンポーネントそのものに突っ込んだものは無いかなと。
今は基本的にSunのチュートリアル見てるんですが、
使い方がさらっと書いてあるだけだし。
598 :
595 :2006/06/29(木) 22:31:45
あ、さげげちゃいました。あげます。
599 :
デフォルトの名無しさん :2006/06/30(金) 09:26:20
600 :
595 :2006/06/30(金) 21:09:08
>>599 こんなのがあったんですね。
まさに、こんな感じのやつです。
ありがとうございます。
『Java Swing Hacks』にはドラッグ時に半透明のイメージを表示する方法が紹介されている。 しかし、この方法ではアプリケーションのWindowの外にはイメージを持ち出せない。 どんなHackを用いてもそれは不可能なのか。ちなみに半透明でないイメージなら やり方は簡単な訳だが。俺が知りたいのはあくまでも半透明なんだ。
>>602 Windows の Explorer の Drag&Dropみたいな事がやりたいって事?
不透明なイメージを Window の外にイメージ持ち出せるってんなら、
java.awt.Robot.createScreenCapture(java.awt.Rectangle) 使……
まぁ、実用的な速度出ないような気もするけど。
自作アプリの領域外では、該当アプリがカーソル描画の責任を負うはずなので
不透明なイメージだったとしても無理だと思うんだけど…… できるの?
Explorer でも Explorer (とデスクトップとかの Explorer が描画する領域)以外だと
半透明イメージついてこないけど。
604 :
602 :2006/07/03(月) 15:56:51
>自作アプリの領域外では、該当アプリがカーソル描画の責任を負うはずなので >不透明なイメージだったとしても無理だと思うんだけど…… できるの? オライリーの『Java プログラム クイックリファレンス』425ページに書いてある方法でできるよ。 startDrag(Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl) でオーケー あ、これはシステムによってできる場合が有るということだから、MacではできるけどWindowsでは できないのかも。
605 :
602 :2006/07/03(月) 16:00:05
あ、 DragGestureEvent#startDrag() です。
2 年くらい仕事で Swing のアプリ作ってるんだけど、 いまだによくわかってないことがあります 例えば JTextField をいくつか並べて、その入力内容をボタンが押された場合に DB に登録を行う画面があったとします この画面で、DB に登録する処理を行う記述をどこに書くべきか、いまだによくわかりません よくあるサンプルでは、 JButton#addActionListner(new ActionListener(){ actionPerformed(){ })
607 :
606 :2006/07/03(月) 20:53:22
606 です すみません、誤操作して書き込んじゃいました... よくあるサンプルでは、JFrame を extends して、 フィールドに JTextField やら JButton を持ってるのがあると思います (JBuilder が generate するコードとか) その上で、ボタンを押したときの処理は、 JButton#addActionListner(new ActionListener(){ public void actionPerformed(ActionEvent e){ // 処理記述 }}); みたいなのをよく見ます これって Model の概念とかとかけ離れてるので、なんか釈然としません んで、Action を implements したクラスを作って、JButton#setAction しても、 JFrame の内部クラスじゃないと、JTextField の中身を取得できない いったいこういうアプリケーションって、どうやって作るのが一般的なんでしょうか 自分は結局、よくあるサンプルみたいなつくりが気に入らなくて、 JSF みたいな動きを Swing で実現するエンジンを自作して使ってます (画面は VE で作成した JFrame で、モデルとなる backbean を POJO で実装)
>>604 半透明でないイメージドラッグするサンプルここに貼ってもらえるかな?
ちょっとWindowsで試してみたいので。
609 :
604 :2006/07/03(月) 21:49:33
610 :
604 :2006/07/03(月) 21:54:05
ただし、Windowsではドラッグ中のイメージが表示されないかもよ。
>>609 ありがと、URLで十分だよ。
んで、WindowsXP、Java 1.5.0_07で試したけど、ドラッグは出来るけど
確かにイメージは表示されないようだ。
612 :
604 :2006/07/03(月) 23:04:52
早!もう試したんだ。 Macだとドラッグ中のイメージ(描いた線と同一の画像)がパソコンのスクリーンのどこへでも 移動できるわけです。
>>606 2年も触っていてそれはやばいんじゃないか・・・?
>>606 setAction するのは誰?
JFrame を extends したクラスなら Action だけ外に出す意味が無い。
JFrame の外なら、JTextField を public にすればいい。
>>606 拡張性を高めたかったら適当なBeanをモデルにして
JFrameはそれのObserverにする。
でactionPerformedではそのモデルに存在するDB登録メソッドorそのモデルを使って
DBに登録するコントローラのメソッドを呼べばいいと思う。
>>613 お恥ずかしいですが、確かにその通りです・・・
>>614 やるとすれば、setAction は JFrame を extends したクラスです
で、その場合 JTextField とかを public にしたとして、外の Action から
その画面のインスタンスをどうやって取得したらいいんでしょうか
ActionEvent#getSource から無理やり取ってこれるとは思うんですが
>>615 結局は、各コンポーネントの Listener でガンガン連携させろ、ってことなんでしょうか
そういやNetBeans6だかその次あたりでコンポーネントにデータベースのバインディングもするんだっけ? やっとJBuilderやDelphi、BCBの置き換えがきたという感じ 本当はRowSetがちゃんと動くのならとっくに普及してるんだろうけどねぇ
なんか、RowSetだけではやっぱり無理っぽい気がする。 JavaSE7でのBeanBindingがNetBeans6で先行採用されるみたいだね。 RDB→BeanはJPAで。 JavaOneのデモ画面を見ると、ちょっと期待できそう。
>>616 データベースを使うと、画面-オブジェクト-リレーショナル連携が大切で、オブジェクトモデルとかは考えないほうがいいです。
>>619 適切なORマッパーがあれば連携されたレコードは既にオブジェクトモデルになってるんじゃないか
と思ったけど、そううまくはいかないか。
オブジェクトモデルというには、データと手続きがカプセル化されている必要があるけど、リレーショナルはどうしてもデータだけが独立してやりとりされてしまう。 それと、結局システム全体の制約を決めるのはデータベースだから、データベース中心でシステムを作ることになる。 ORマッピングは、オブジェクト指向モデルをリレーショナルモデルまで広げるものじゃなくて、リレーショナルモデルをオブジェクト指向モデルに持ってくると考えたほうがいいです。
622 :
614 :2006/07/04(火) 16:57:31
>>616 いや、だから setAction を JFrame を extends したクラスがやるなら、
Action は JFrame の内部クラスでいいじゃん。
というか、
>>607 の addActionListner のまんまでいいじゃん。
623 :
デフォルトの名無しさん :2006/07/04(火) 20:56:30
時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp
624 :
606 :2006/07/04(火) 21:44:24
DB の更新処理とかを Swing の Model に直結するつもりはあんまりないです
ドメインロジックは違う領域に分けようと思ってたので
>>622 ということになるんでしょうか
「個人的に」納得できてないのが、コンポーネントを多数管理するコンテナクラスの
ソースが非常に長くなってしまう点なんですが、これはそういうもんなんですかね
なんかうまくいえないんですが、個人的には MVC の考え方を理解するのに、
JSF の JSP (View) + Backbean (Model) がとてもしっくりきたんです
(wicket の CompoundPropertyModel も好きです)
Swing の MVC って、C を頑張って実装するイメージなんですかね
C が半自動の Web F/W に慣れすぎて、よくわかってない自分がいます
コンポーネントの独立性を高めたいってことか? 業務アプリだとこのコンポーネントでこのイベントが飛んだらこっちをこうしてああしてというのばかりだから ああいうのは厳しいと思う
626 :
デフォルトの名無しさん :2006/07/04(火) 23:30:06
MVCって初めて知ったけど、検索してみたら、Wikipediaで次の文があった。 > なお、見た目と動作は本質的には不可分なものであり、従ってViewとControlはいつでも分離できるとは限らない。 この場合はボタンとそのアクションを分離するのは不自然だから、これに当てはまるじゃない? だから、ボタンごと分離すればいいと思う。
自己レス それだとTextFieldの内容が取れないから、関連のあるものをフォームとしてまるごと移動。ってのは?
>>624 別に難しく考えなくてもさ、Frameに例えばdelegateというフィールドを一個作っといて、
Frameのコンストラクタで、delegateにコントローラーとなるクラスをnewしたものをつっこんどく。
コントローラにはFrameインスタンスを渡して、コントローラ側からフレームにアクセス
できるようにしとくといいね。
Frame内部では、addActionListenerでthisを登録する。だからイベントは一遍Frameで受ければいい。
で、performAction()ではすべてdelegateに処理を委譲すればいい。
処理を委譲する時にイベントのソースでも渡しとくといいね。
もちろん、delegateをイベントリスナとして登録してもいいけどね。
delegate側にはFrameへの参照があるから、Frameのpublicメソッドを介してテキストフィールド
とかにアクセスすれば、なんでも出来るだろ。publicメソッドは必要に応じて自分で用意しろ。
例えばMac OS XのGUI環境なんかMVCだが、コントローラは操作対象となるコンポーネントへ
の参照を全部保持しとるよ。コントローラーがモデルとビューの橋渡しをするので、コントローラー
こそがプログラムの要だな。(Cocoa Bindingで重要度が軽減されたけど)
ところでJSFのバッキング・ビーンとかWicketのPageオブジェクトって、モデルというよりは
コントローラだと思うよ。その裏にドメインモデルがあって、ビューとの橋渡しをするからね。
StrutsのActionもコントローラ。コントローラががんばるのは割と普通じゃないか?
606には
>>4 の「Java実例プログラムによるデザインパターン入門講座―Swingプログラムで体得する23のパターン」
みたいなのが役に立ちそうだと思うのだがどうだろう。
630 :
606 :2006/07/05(水) 01:04:21
なんか長くなってきてすみません
>>625 コンポーネントの独立性、まさにそれです
「簡単にとっかえひっかえできるんじゃないの?」みたいな幻想があります
>>628 とやるべきなんですよね、たぶん
あ、ちなみに、こんな考え方があるかどうかは知りませんが、
JSF の backing bean とか、Struts の Form + Action は、
プレゼンテーションレイヤの Model と捉えています
その上で、Model の振る舞い (JSF なら bean のメソッド、Struts なら Action) が、
ドメインモデルへさらに通知するようなイメージです
プレゼンテーションとドメインで MVC をそれぞれ持ってるというか
...この考え方がそもそもの混乱の元のような気がしてきました
>>629 すみません、最初に読むべきテンプレを見落としていました
大村センセの vol.3 だけは持ってました
ご紹介いただいた書籍はちょっと気になりますので、今度探してみます
631 :
606 :2006/07/05(水) 01:15:09
なんか、理解がゆがんでるだけの気がしてきました・・・ たぶんいろいろ間違ってますね もっと楽できるものだ、という幻想を抱いてたかな
Swingって最も楽なGUIだろ
>>631 楽にできるナニカは無ければ自分で考えて作りましょう
まぁ、欠けているものを認識するには現状を理解しないといけない訳だが・・・
幻想が邪魔をして理解が鈍るというのは・・・・ 技術者としてヤバイだろ
それから・・・業務ロジックとかの独立性を高めたいなら
MVCの外に仕組みを構築したほうがいいと思うぞ。
SwingのMVCはもすこしローレベルの画面上の
ロジックに関するフレームワークだからな。
素のAPIってのはそういうもんだ Win32直だってつらいだろ それより、何でもやれるように作ってあるのが前提だが
問題: キーバインドを一時的に換える方法を答えよ。 Ctrl+xでキーバインドを換えて、次のキー入力でアクション後元に戻す。 ヒント: 新しいキーマップのすべてのアクションに元に戻す処理を加えれば出来ますが。。。
>>630 目指してるものはなんとなくわかるが、
実装はなんか仕掛けを用意しないと厳しいと思われ。
ちなみにV2Cが君の望むような方法で実装してる(Action使ってどうこうしてる)んだが、
値の取り出し方はなんというか、根性で何とかしてる、という感じ。
正直それは厳しいと思うんで、
実際にはコンテナかなんか用意してコンポーネントを登録/参照するしかないんじゃね?
とりあえずどうにかしてV2Cのソースをみてみると吉かと。
>>630 MVCだったら、Observerパターンあたりから調べればいいと思う。
>>630 差し替えできるコンポーネントはSwingの目指しているところであって、
そのためにJavaBeansとイベントモデルの組み合わせがベースになって
るわけだ。
Swingが想定しているのは、ModelがPropertyChangeイベントを発行して
Viewがそのリスナとなる。しかしViewはどんなModelがあるかは想定でき
ないんで、コントローラがViewをModelのイベントリスナとして登録するとか、
そういう接続をやれってことじゃないかと思うけどね。
逆に言えば、最初の接続さえしてやれば、簡単なプロパティ操作はコンポー
ネント間、Model/View間の通信で自動的に処理されるんじゃないかな。
Actionの実装だけは必要だろうけどね。
あるパネルに設置されたボタンが押されたとして、 それをトリガーとして行いたい処理の入力に 全然関係ないコンポーネントの値(別パネルのテキストボックスとか)が欲しい、 なんて時の話だよな。 Viewに対応するModelの値が正しいと信じて(つうか普通正しいけど) Modelから値を引っ張ってくるとか Viewのコンポーネントへの参照を何とかして引っ張ってきて 直接コンポーネントから読み込んでみるとかか。 前者の方が楽なはず……だよな。
>>639 値が欲しいってことは全然関係ないということはないと思うぞ
ボタンを押したときにダイナミックに決まるんだったら
その決定ロジックだけ外出しにして、ロジック部分にコンポネント管理させればいいじゃない
641 :
635 :2006/07/09(日) 10:47:20
実際のところ値だけじゃなくてコンポーネントの状態を変更することも多いから 単純にはいかねーべ データやロジックを外部に持つのは当たり前だし どうせFrameはさらに拡張することもないしFrameでひとつのコンポーネントとわりきるのがよか 各コンポーネントはクラスメンバ変数になってるはずなので幸い無名クラスからも使いやすいし
NetBeansでGroupLayout使うと JRE1.5しか入れてない環境だとswing-layout-1.0.jarがないから 実行できないとおもうんだけど、このjarって一緒に配布していいの?
いいよ
NetBeansといえば5はライブラリをlibフォルダ作ってそれへのクラスパス生成してくれるの便利だね 4.1まで自前でやってたのを修正しまくってるよ
647 :
デフォルトの名無しさん :2006/07/09(日) 19:50:04
EclipseでGroupLayout使えるようになるのはいつぐらいかな? 年明けぐらいかな?
SWTにはGroupLayoutのコードが寄贈される模様。 Swingのほうは永久にないんじゃないかな。
ちょっと考えてみたけど、これって、すっきり説明するのが難しいね。
650 :
デフォルトの名無しさん :2006/07/09(日) 21:49:20
JARを作るにはどうすれば?
tar cvf xxx.tar *
>>648 Swingはもう実装されて6からは標準になるわけで
Swingのほうはないというのはどういうことだろうか
>>647 手書きでってこと?
それともVEとかのGUIエディタでってことか?
>>647 JiglooとかSwingDesignerとか、対応しているプラグインもあるだろ
Eclipseで使いたい場合だって NetBeansはsrcフォルダ自由にかえれるんだからそれで連携すればよろし
つうか、SE6にはMatisseが付いてくるからそれ使えばよろし。
>>656 Mustang に追加されたのって GroupLayout だけでしょ。
Matisse はついてこないと思うぞ?
えーっと、GroupLayoutって凄くざっくり言うと 単に新しいレイアウトマネージャで、org.jdesktopで開発されていたけど この度、時期JavaメジャーリリースのMustangに取り込まれることになった。 もともとSwingのレイアウトマネージャなのでSwingにこれ以上何か手を入れる必要はなし。 eclipseでGroupLayout・・・という点については Swingをデザインするプラグインであればプラグインが対応すれば できるようになるだろうな。VEは後手に回りそうだが。 SWTのレイアウトマネージャは、俺よく知らんのだが、おそらくSwingの レイアウトマネージャとは別物だろう。もしSWTでもGroupLayoutの流儀で デザインしたいとなると同等品をSWTに再実装しなきゃだめだろうなぁ。 んでもって、MatisseというのはNetBeans上でGroupLayoutを使って デザインするための新しいユーザインターフェースの事で NetBeans5.0の目玉となったもの。これはツールの名前です。
時期>次期
>>657 Derbyがついてくるのは有名なのに、Matisseがついてくることは知られてないのな
同じプレスリリースに書いてあったことなのに。
Sun Adds Java DB and Swing Visual Designer to Java Development Kit and Enters Next Phase for Java Platform Standard Edition 6 どういう形でついてくるかはわからんけど。 NetBeansからMatisseを動かす最低限のコンポーネントを抜き出したものがついてくるんじゃないかと思われ。
>>663 確かにタイトルだとそう読めるなぁ
でも、中身見ると、Matisse由来のGroupLayoutを入れますよと見れる
そっちの方が自然なんだけどなぁ
>as well as the Group Layout component from the NetBeans GUI Builder code-named Project Matisse
とか
>Java SE 6 will also include the new layout manager component
> that enables developers to create standards-based GUI layouts easily and efficiently.
とか。
Matisseの名前出したかったのは、NetbeansのPressReleaseだから?
せいぜい、Matisse搭載のNetbeansとセットの配布パッケージが作られるくらいじゃ
ないだろうか、今、JDKダウンロードページにNetbeans付きのパッケージが
置いてあるのと同じ感じで・・・・・・
GroupLayout自体がMatisseという名前のプロジェクトだったんじゃないかな。 自然というなら、タイトルどおりWYSIWYGなVisual Designerがつくと考えることのほうだと思うが。 there is no need to know the underlying Swing constructs ともあるわけで。
666 :
デフォルトの名無しさん :2006/07/10(月) 14:50:45
GroupLayoutそれ自体が、手でレイアウトコードを書くのは非現実的な ツールでの支援前提のレイアウトマネージャらしいな。
NetBeans5.0使って、2〜3個コンポーネント配置して、生成されたコード見てみればわかるよ。
668 :
589 :2006/07/10(月) 15:37:51
>
>>666 ちょっと最初はわかりにくいが、手で書けなくもない感じ。 つーか書いた。
NetBeansでUI自動生成すると、試行錯誤/修正の過程でえらく汚いコードに変化してくが
整理するとかなり短くなる。
フォームが複雑だったら分割すりゃいいし。
つーか手で書くならjgoodiesのformsの方がラクだが。
669 :
668 :2006/07/10(月) 15:38:49
あれ、別スレでのレス番が入ってる・・・ orz
670 :
デフォルトの名無しさん :2006/07/10(月) 19:17:29
低速なのかい?
672 :
デフォルトの名無しさん :2006/07/17(月) 20:57:47
時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
まだやってたのかよ。 3000円払え。 それなら考える。
674 :
デフォルトの名無しさん :2006/07/19(水) 01:17:45
2chでしかも時給1000円で先生を募集するような学校って どんな学校なんだよ?w
学校?
>>672 「これからの時代は小学生もJavaですよ校長!」
↓
校長「じゃ、夏休みにでも枠あげるから教えてよ」
↓
>>672 「やべぇ・・・俺Javaしらねぇ・・・・でも、小学生だし・・・あ!(゜∀゜)」
というわけ。
小学生から先生と呼ばれ仲良くなって、
プールにいったり、林間Java学校してみたり、肝だめししたり
充実した夏休みを送りたければ応募、と理解した。
# と、妄想してみた、夏2006
なるほど 生徒のスペックによっては1000円でも余裕だな
678 :
デフォルトの名無しさん :2006/07/19(水) 16:16:03
大学生とかで趣味でjavaやっているようなひとでもOKとか だったら1000円でもいいか
679 :
尋ね者 :2006/07/19(水) 17:36:22
すいません.ちょっとお聞きしたいのですが, 今大学で,JAVAの勉強していて,appletが動作しないので困ってます. そこでappletからswingに書き直そうと思っているのですが, やり方がいまいちわかりません. わかる人がいたら,教えて頂けませんか? 環境はLINUXです.
Swingって紹介や説明してるサイトが多い割には、Swingが使われてるアプリって少ないな VectorではJavaとJavaScriptが同じカテゴリーにまとめられてるし
アプレットとSwingが同列に語られるってなぞすぎ アプレットでSwing,、アプリでSwingどちらも普通にできるし
682 :
尋ね者 :2006/07/19(水) 18:11:36
いや,LINUXではアプレットが動かないみたいなんです・・・. swingだけで動かす様にはできないんですかね?
>LINUXではアプレットが動かないみたいなんです・ ヘボ釣り師キタ━━━━━━(゚∀゚)━━━━━━ !!
684 :
尋ね者 :2006/07/19(水) 18:18:19
釣り師って何ですか?
>いや,LINUXではアプレットが動かないみたいなんです・・・. Windowsでは動いたの?
687 :
尋ね者 :2006/07/19(水) 18:35:18
学校でやってたんで,Windowsではわかんないっす…. すんません.
というかJavaのバージョンいくつよ あとブラウザ
689 :
尋ね者 :2006/07/19(水) 18:45:56
ブラウザはmozillaです. バージョンはちとわかんないす... すんません.
690 :
尋ね者 :2006/07/19(水) 18:47:49
あっjava3.2みたいです!!たびたびすんません.
…釣りにも見えるし天然にも見える
マヂレス ネットで尋ねて答えを貰ったのではお勉強になりません。 もし大学にやれと言われてしょうがなくやってるのなら やる必要はありません。中退しなさい。
693 :
尋ね者 :2006/07/19(水) 19:07:50
ネットで調べまわってもよくわからなかったんで, きいてみました. もうちょっと調べてみます. レスくれた人どうも.
つりじゃなかったのか? Swingが何かわかってないように見えるが純正マニュアルもみてないんだろうなぁ
695 :
デフォルトの名無しさん :2006/07/19(水) 19:40:56
>>690 どこから、3.2が出てきたのか気になる...。
...俺は、釣られているのか?そうなのか?
たった今、エスパーからのお告げがありました。
eclipseのバージョンらしい。
エスパーおめ Eclipseだけは最新のやってるようだが本格的にやりたいのならNetBeansだろうとか まぁそれ以前の話だが
しかし、Netbeansを使ってるやつが少ない。そもそもその存在を知らないっぽいけど Javaを自分でダウンロードしてインストールしたなら名前だけは見てるはずなのに…
そういやVE使ってくたばったGUIプロジェクトしってるが、そこの人VEが出た直後は今後どんどん バージョンアップしてNetBeansより使いやすくなる!とかいってたが、結局放置だったからなぁ
699 :
デフォルトの名無しさん :2006/07/20(木) 09:42:11
だって裏で設定ファイルが作られて、 そいつと一連托生になるってゆーのが 気持ち的に耐えられないんだもん。 GroupLayoutは確かにイイけど・・・
まぁ、Swingが普及すればNetBeansの知名度も高くなるんだろうけど、 一般ユーザーのJavaに対するイメージが良くないから、一部の人を除けばJavaアプリ自体使われない そして、使ってくれないからJavaアプリが作られない→Swingが使われない→知名度が低くなる Swingを使ったアプリってすごいのはいくつかあっても数自体は少ないしねぇ
ウチのチームは SWT 信者ばっかなんだけど (普段サーバサイドしか作らないから Eclipse デビュー時の衝撃のみで) 何とか改信させる方法はないですか? このままではもしクライアントサイドのプロジェクトが降って来たら 1 も 2 もなく SWT になってしまいそうです。
Swing で再実装して欲しいけど今更無理なんだろうな。>Eclipse
作るならSwing、使うならSWT & JFace。
作るならって言っても何を作ってるんだろう… Swingアプリがそれほどあるようにも思えないが…
社内システム系だとそれなりにあるんじゃないか?
V2Cがなかったら今ここにはいない俺
>>701 GroupLayoutを見せてみるってのは?
>>701 クライアントサイドのショックをさらに別方向へ!
Ajaxガリガリのアプリを見せる・・・・
とまぁ、ネタはいいとして適材適所という判断が出来ない人間に何を言っても無理か・・・
というか、そういう判断の出来ない人間がサーバサイドのロジックを
書いていることの方が怖いな・・・
SWTは、ネイティブライブラリを使っているという点が様々な部分で
適用できる局面を限定してしまう。
パフォーマンス面での優位性が一概に言えなくなってきている現時点では
eclipseRCPを使う、とか、メンバーがSwingよりSWT(JFace)に慣れているとか、
お客がSWTでないとイヤーと駄々をこねているとか事情があったとき選択対象かなぁ
普段サーバサイドしか使わない連中がいきなり手を出すものでも
ないと思うが、そんな連中にとってはSwingも同じか・・・・
少なくともC,C++等の流儀を知ってる人間がいれば・・・・
>>709 SWTをクライアントに選ぶという選択を「適材適所という判断が出来ない」と言い切ってしまうのも、信者と同列の思考停止だろ。
現時点で、内部事情を全く知らない人だったら、大多数がSWTのLaFの方が好ましいと感じると想像する。
Swing、SWTを使ったことがある人が発注側なら多少の見た目、操作性よりも、今後の機能拡張などを考えるとSwingの方がトラブルが少ないだろうと予想できると思うけど。
ま、結局のところ、
>>704 に集約される。
LAFといえば、MacのSwingはデフォルトがSystemLookAndFeel(=Aqua)になってる んだが、窓もWindowsLookAndFeel、XならGtkLookAndFeel(ネイティブGtk+のテー マを反映する)がデフォになってればいいのにね。
うん。その方がいいと思う。
Windows L&F のあのダサさはマジ泣ける。特に Classic
Windows LaFは勘弁してくれ。あれならOceanのほうがナンボかマシ。 無理やり真似しようとしてなりきれてないところが痛々しい。
昔、Windows L&Fだけ表示遅いってことなかった?
テキストフィールドの下の隙間が1ピクセル多いのが気になるw あと、メニューの選択項目と枠の間に隙間がない。本物は2ピクセルあるのに。 でも、IEのお気に入りメニューだけやっぱり隙間がなかったりするw 他のメニューがすーっと出るのにお気に入りだけパッと出るし。 ネイティブでも変なのは結構あるんだよね。
>>701 SwingとSWTで特定のアプリ作らせて見れば?
開発効率やメンテ性とか機能性でたぶん差が出る
SWT直はおわってるし、結局JFace使うことになって速度的メリットもない
Swingはenumに順次置き換えてほしいな
引数でintが多すぎて結局ドキュメントをよく見ないとダメとかというパターンになる
あとはVectorをListインターフェースに差し替え可能にするとか
まぁ一番のVBとかとの違いはプロパティに英文がそのまま出ることかなと思うんで
アノテーションでリソースファイルから表示用としてひっぱってくるとかそういうサポートがほしい
そうすればDBのマッピングだってマルチバイトキャラのフィールド問題も解決しそうだ
あと、NetBeansとしてはmodelもGUIサポートがほしいな
テーブルの行選択するだけでコードがりがりかかないといけん
719 :
デフォルトの名無しさん :2006/08/05(土) 05:00:05
Windowsルックカコイイ
複数のコンポーネントがあって、たがいに知り合ってなければいけない事ってあるでしょ。 JTreeとJTableその他のコンポーネントなどが多数ならんでて、 ツリーのフォルダを開くとテーブルの表示がかわるとか、 テーブルの中の一つを選択すると、ツリー側もかわるとか。 複数のコンポーネントが相互に呼び出し合うプログラム。 そういうときたがいのコンポーネントが知り合う方法はどうするのがいいでしょ? まじめにコンストラクタで渡していると、コンポーネントの入れ子の階層が深くなっているととても煩わしくなるので。
データモデルに、「今選択されている項目」みたいなのを用意。 ツリーのフォルダを開いたり、テーブルで選択が変わったとき、 モデルに対して、「選択項目が変わった」イベントを投げる。 モデルは、登録されているリスナーに「選択項目が変わった」 イベントを丸投げする。 つーか、まんまBean?
関係のあるコンポーネントを全て知っているクラスでイベントリスナーなどの設定を行えば良い。 具体的には、JTreeとJTableを配置するコードがある場所で、内部クラスまたは自分自身をリスナーとして登録する。 リスナーでは行いたい処理をそのコンポーネントに要求するだけ(メソッド一つでとか)。 ちなみに、コンポーネントは出来るだけ独立させたほうが良いと思う。 まぁ、そう思ったから質問したのでしょうけど。
なんかよくわからんが、selectionというプロパティがあるとして、 selectionが変わったらPropertyChangedEventをFireすればいい だけなんじゃ?
>>723 そのイベントを自作コンポーネントの中で処理しようとしているんじゃない?
当然他のコンポーネントが見えない罠
>>720 を見た瞬間スルーするべきか判断する事はそれほど難しくはない
コンポーネントからコンポーネントに直にイベントを投げると依存してしまうので、 表現している共通のモデルに変化を通知したらあとはそのモデルが各コンポーネント に通知するんだろ。
素直にオブザーバパターンと言いたまえ。
オブザーバパターンじゃないだろ
それどうみてもただのMVCですから。本当にありがとうございました。
>>727 ,728
何言ってんの?ただのMVCをオブザーバパターンで実現してるんだ。
>>729 それがわかってるなら、MVCだってわかると思うのだが
オブザーバパターンでないMVCもあるんだが。
>>729 根本的にずれてるぞ。
ただのオブザーバパターンじゃ
>>720 を解決できないだろ。
それに
>>725 を実現するのにオブザーバパターンを使う必要はない。
GoFのパターンで言うならメディエータパターン。
よそでやれクソガキ
じゃあ大人は Vector 多用の賛否でも話そうか
多用ってたって必要ならダウンロードしに行くぐらいだろ
あれ Vector 渡しのところ List 渡しにしても下位互換は保てると思うんだが何でやんないんだろ。 いったんスタンダードになったものをキモチワルイ程度の理由で改修しないか。
ん?Vector つArrayList
>>735 の高度なボケは見事にスルーされている件について
Java低速GUI Swing 4
>>733 おまえバカだろ。
スレの沈静化を願う奴が煽ってどうする。
Java低速GUI Swing 4
スイングフォー!
745 :
デフォルトの名無しさん :2006/08/08(火) 16:52:32
JTextFieldに、swtでいうModifyEventってないのでしょうか?
スイングフォー!
DocumentEvent
>>747 >>748 swingのドキュメントにでてこないのですが、
awtにあるんですね・・・
どうもです。
751 :
デフォルトの名無しさん :2006/08/09(水) 01:06:01
スイングフォー!
Win32APIで実装したらいいのに
まだSWT信奉者がいたんだ・・・ こんなところに・・・
WindowsとLinux(の特定環境)で、ネイティブなUIが使えるんで重宝してる。 Swingだとユーザのウケが悪いので。 当初から速度は気にしてない。Java 1.4.2のSwingの速度で十分。 もっとも、Java 6.0か7.0くらいになったら 見てくれ(フォントの汚さや挙動)もあまり差が無くなるんじゃないかと思ってるけど。
ファイルダイアログとかはAWTでちゃんと使えるようにすればいいのにと思う。
756 :
デフォルトの名無しさん :2006/08/13(日) 18:38:18
それは俺も思うな。ダイアログ内リネームとかオープンとか出来ない。
757 :
デフォルトの名無しさん :2006/08/14(月) 04:03:02
ファイルチューザのタイトルアイコンを変えるにはどうすれば?
ファイルダイアログのタイトルアイコンって変えられたのか!
>>757 JFileChooserはJDialogの上に乗っかっていて、ダイアログのアイコンは親フレームのアイコンを継承するので、
もし変えたいのなら、JFileChooserを継承したクラスを作って、
JFileChooser#createDialog(Component parent)をオーバーライドしたメソッドの中で、
新たにJFrameなりFrameなりのインスタンスを作って、
Frame#setIconImage(Image image)を使ってアイコンを変更し、
これを親とするJDialogのインスタンスを作ってcreateDialog()の返値とする。
class FooFileChooser extends JFileChooser {
Image img = new ImageIcon("icon.png").getImage();
protected JDialog createDialog(Component parent) throws HeadlessException {
JFrame frame = new JFrame();
frame.setIconImage(img);
return super.createDialog(frame);
}
}
使い方はJFileChooserと同じで、
JFileChooser fc = new FooFileChooser();
fc.showOpenDialog(parent);
みたいに。
ただ、このFooFileChooserだと、createDialogの引数のparentを無視しているので、
「parentのフレームにあるparentの中央に配置されたthisをラップするJDialogを新しく生成」
という元の動作ではなくなっているから、
必要に応じてparentの属性も勘案したJFrameを生成しないといけないと思う。
>>758 FileDialogはこの方法ではうまくいかないみたい。
Frame frame = new Frame();
frame.setIconImage(new ImageIcon("icon.png").getImage());
new FileDialog(frame).setVisible(true);
760 :
759 :2006/08/15(火) 06:48:50
考えてみると、
> 必要に応じてparentの属性も勘案したJFrameを生成しないといけないと思う。
ではなくて、parentの位置に合わせて、生成したJDialogの位置を変更すればいいんだった。
>>759 のオーバーライドするcreateDialog()の中身を
JFrame frame = new JFrame();
frame.setIconImage(img);
JDialog dialog = super.createDialog(frame);
dialog.setLocationRelativeTo(parent);
return dialog;
にするといい感じに。
あと、インスタンス変数のimgはprivateの方がいいね。
761 :
759 :2006/08/15(火) 17:27:51
これだけだとimgはインスタンス変数である必要もないね。 最終形態はこういう感じということで。 class FooFileChooser extends JFileChooser { Image img; protected JDialog createDialog(Component parent) throws HeadlessException { JFrame frame = new JFrame(); frame.setIconImage(img); JDialog dialog = super.createDialog(frame); dialog.setLocationRelativeTo(parent); return dialog; } public void setIconImage(Image image) { img = image; } public void setIconImage(String file) { img = new ImageIcon(file).getImage(); } } 使うには、 FooFileChooser fc = new FooFileChooser(); fc.setIconImage("icon.png"); fc.showOpenDialog(parent); みたいに。
JTable で、Excel で言うところのセルの統合をしたいんだけど、TableCellRenderer 作って JLabel を 並べて擬似的にやるしかない? それだとセル個別の選択は出来ないしなぁ。
>>762 たしかJavaGUIプログラミング本にそんなサンプルがあった希ガス
>>762 レンダラで済むレベルではないよ
UI作らんといかん
業務アプリ等でよくある1つの行が同じ配置の複数のコンポーネントからなるということなら
1つのセルにJPanelいれてレンダラつかったほうがはるかに楽
JTableがいろいろとマンドクセ 誰かもっと扱いが楽なテーブル作ってよ。
JTableはもっとも複雑なコンポーネントのひとつだからな。 だが、DelphiやBCBで苦労していた部分がさくっとできる自由度はいい。 低機能だが扱いやすいコンポーネントと高機能にできるが扱いが面倒な低レベルAPIの差だろう。 そしてSwingは素のAPI。JButtonにしても高機能だしな。 本当はVCLレベルの扱いが楽だが多少制限を受けるコンポーネントを各自用意すべきなんだろう。
仕事でSwing使ってる人いますか? うちの会社Swingばかり。 これぜったいつぶしがきかない。
768 :
デフォルトの名無しさん :2006/08/19(土) 11:04:01
MFC触ってみた。意外とそうでもないぞ。
769 :
デフォルトの名無しさん :2006/08/19(土) 11:10:44
swingは速いんだぞ!遅くないんだぞ!!!!!! ボタン押しても反応が一瞬おくれて医らつくなんとこなんか無いんだぞ!! セーブして画面が止まったようになって操作不能になってぶちきれそいうになんかならないんだぞ!!!!!!
770 :
デフォルトの名無しさん :2006/08/19(土) 11:16:17
でもセーブダイアログが糞重いよな
771 :
デフォルトの名無しさん :2006/08/19(土) 11:43:33
773 :
デフォルトの名無しさん :2006/08/19(土) 12:03:56
Swingばっかでjspとかやった事ない。 コード見てもさっぱり分からん。
Swingはクライアントサーバーとかリッチクライアントなど社内システムでは多いからな。
人目に触れやすいWEBアプリのほうが華やかに見えるが業務アプリでこった画面作るの無理すぎ。
コスト無視ならいいのかもしれんけど。
>>769 マルチスレッド使ってないとかマシンがへぼいとかJREが古いとか。
そういやJavaSE6のSwingはAWTスレッドがとまっていてもリフレッシュするようになったんだっけ。
>>770 ロードもセーブも初回は表示に0.5秒くらいかかるよね。ちと遅い。
2回目以降はかからないけど。
775 :
デフォルトの名無しさん :2006/08/19(土) 21:18:01
ファイルチューザのタイトルアイコン変更できませんか?
776 :
775 :2006/08/19(土) 21:23:58
ファイルチューザのタイトルアイコンってそんなに需要あったのか
759だがそんなに需要があるとは思えない。 757=775ではないかな? まあ親と異なるタイトルアイコンをダイアログに付けたい時一般に応用できるとは思うが、 それでもそんなに需要があるものではないと思う。
だっていかにもJAVAで作りましたって感じでダサいんだよね
UI 作ってる連中は CDE 使ってるからこれでもCoooolでカコイイんだよ!
>>779 そんなふうに思っているのはプログラムの事が解る人間だけだぞ。
普通の人は全然気にしない(というか言われるまでわからんと思う)
一番めんどくせぇのは JTree だよ。。。
783 :
デフォルトの名無しさん :2006/08/20(日) 02:42:53
テーブルの0列目に行番号を表示して水平スクロールバーで 移動させても0列目だけは常に左側に留めるという事は 可能ですか? 用はExcelみたくしたいのです
785 :
783 :2006/08/20(日) 05:08:03
786 :
783 :2006/08/20(日) 19:18:03
>>784 これってDEFAULT TABLE MODELだとできないの?
少しいじったけど表示されない
ニヤニヤ
788 :
デフォルトの名無しさん :2006/08/20(日) 21:28:53
プンプン
789 :
デフォルトの名無しさん :2006/08/21(月) 16:11:57
すいません質問したいのですが、画面表示の切りかえってどうやるんですか? 画面1 → 画面2 → 画面3 → 画面1 みたいにやりたいのですが、画面1から画面2に行くときに画面1が表示されたままになってしまい困っています。 どのようにしたら常に画面表示が1つだけの状態になるのでしょうか?
790 :
デフォルトの名無しさん :2006/08/21(月) 17:31:15
古い画面を消せばいいじゃん。
>>789 CardLayout とか JTabbedPane 使って切り替えるとか。
>>789 お前のやりたい事は
CardLayout がドンピシャだ。
>>791 適切なレスナイスだぜ!
793 :
デフォルトの名無しさん :2006/08/22(火) 05:25:37
スクロールバーの移動のイベントは何ですか?
AdjustmentListener AdjustmentEvent
J2SE5.0 Update8でSwingの描画崩れるぞ Sunなにやってるんだ?
>>796 崩れるサンプル貼って貰えるとありがたい。
NetBeansとかv2Cとか崩れてるね
800 :
デフォルトの名無しさん :2006/08/23(水) 13:49:05
jEditorPaneにsetLineWrap(true)する簡単な方法はないでしょうか? HTMLを表示しています。
折り返さないようになら次のように、とりあえず簡単には出来ますが正しい方法ではないようです。 JEditorPane editorPane = new JEditorPane() { public boolean getScrollableTracksViewportWidth() { return false; } public void setSize(Dimension d) { super.setSize(Toolkit.getDefaultToolkit().getScreenSize().width, d.height); } };
ちなみに
>>801 はJScrollPaneに入れる場合です。
>>800 何もしなくても setLineWrap(true) みたく
折り返すんじゃなかったっけ?
804 :
800 :2006/08/23(水) 22:55:43
>>801 折り返さないので折り返したいと思いました。
>>803 半角スペースが入っていたりすると折り返すのですが
日本語が続く場合が折り返しませんでした。
今は、HTMLを追加していくだけなので追加文字列を意味のないspanタグで1文字ずつ囲うと折り返してくれているのですが、
正しいやり方があるのかなと思いまして・・・・。
テーブルのセルをプログラムで選択状態にするには どうすれば?
>>804 > 半角スペースが入っていたりすると折り返すのですが
> 日本語が続く場合が折り返しませんでした。
これはバグではなく仕様ですか?簡単にテストしてみたところ折り返しましたけど
また
>>801 はJTextPaneで使った事のあるやり方を流用しただけなのでplainではOKでもhtmlではダメみたいです。
>>805 getselectionmodel()
してあとapiみて。
HTMLで駄目なのは仕様と思ったほうがいい
809 :
アフォルトの名無しさん :2006/08/27(日) 22:51:52
class kurasu { DefaultMutableTreeNode node[]; kurasu(){ ボタンだのファイルチューザーだのをGUIに乗っける処理 nodeもJTreeに乗っける } public void actionPerformed(ActionEvent ae){ if(ふぁいるちゅーざーのぼたん押した){ ファイルチューザーでファイルを開く処理 開いたファイルにしたがって、node[]にどんどん文字列いれる } } } こんなのをやりたいんだけど、node[]の要素数って、 開かれるファイルによって可変じゃないとダメだよね。 いったんファイルを開いてJTreeが表示された後に再度、 新しくファイルを開きなおしても、またチガウ要素数で配列確保されなおさないと いけないようにも思えるし。 そういうのって、どうやったらいいんですか?
>>809 つ Vector
つ ArrayList
つ HashMap
つ HashTable
Vectorは使うと怒られると聞いた
このスレではVectorは必須だよ
Vector に作者登録済んだよ。しかしいつまで旧石器時代の登録システム使ってんだろ。
そろそろ List interface で書き直してくれ。>Swing
AWTスレッド以外からの状態変更していただめなプログラムが軒並み動かなくなるような予感
>>813 それはちょっと違うぞ。以前は近代的手法だったが、例の事件のせいで
中世的手法に戻った。
Vectorって、もしや?
ダメなプログラムは仕方ないんじゃない? 今まで奇跡的に動いてた事の方が恐ろしいし。
もともと1.1時代の古のオプショナルライブラリのわりにがんばってたというか 5.0がでるまでhtmlのイベントもまともにえられなかったがなー 一方update8でWindouwsLAFに不具合が発生しているのがひどい
>>819 自分は発生しないみたいなんだけど、XPのL&Fだとなるの?
(2kだと平気なのか?)
XPLAFだね NetBeansとかV2Cで絶賛不具合発生中
不具合のスクリーンショットとか持ってない?
>>821 XPLAFだけか、どうりで気がつかないわけだ。
うちの狭いデスクトップだとウィンドウタイトルバーとかが少し大きいXPはつらいので
クラッシック表示にしてるからまったく気がつかなかったよ。
824 :
デフォルトの名無しさん :2006/09/17(日) 23:07:33
age();
825 :
デフォルトの名無しさん :2006/09/17(日) 23:49:21
テキスト処理は相変わらず遅いまま?
827 :
デフォルトの名無しさん :2006/09/18(月) 00:43:10
char[]でとってSegmentに落とすとか無駄な作業が多いだろ
> char[]でとってSegmentに落とすとか無駄な作業が多いだろ
>>827 の独自テキストコンポーネントが Segment が必要になるたびに
char[] 作ってるなら無駄だよなぁ、とは思うけど、
普通は内部で使ってる char[] を、そのまま Segment に渡して使うもんだし。
Segment に関して言えば array とか offset とか count とかが
むき出しになってる事の方が問題っちゃ問題のような。
>>829 だいたいあってる
1.4.2から5.0で大幅に改善されてるだけにね
あとはタイトルバークリックでメニューが閉じるのとメニューの影がつけば谷を抜け出す
LunaオンにしたままWindowsXP使ってるやつっているの? メニューに影付けたいか? 動作が違うのは嫌だが見た目はどうでもいい。 SQuirreLSQLなんかわざわざMetalを選択して使ったりするし。 FileChooserのヘタレっぷりは最近閉口気味だが。 ディレクトリ開くつもりでディレクトリが選択されたりするとたまらんな。
>>831 >ディレクトリ開くつもりでディレクトリが選択されたりするとたまらんな。
これはそのソフト書いた奴が悪い。
>>831 普通に考えてタイトルバーは影がつくのにその下のメニューは影がつかないっておかしいだろ
>>830 メニューの影って、ちゃんとやろうとすると自分のアプリ以外にも影を落とさなきゃいけなくなるからね……
Robot#createScreenCapture使えば擬似的に半透明も再現できない事はないと思うけど、
例えばゲームとかDVDPlayerとかに影落とす事まで考えると半透明 Window 無いとキツいし。
>>833 > タイトルバーは影がつくのにその下のメニューは影がつかない
どーゆーこと?
タイトルバー(から表示されるメニュー)は影がつくのに、 その下の(メニューバーから表示される)メニューは影がつかない の意かと思われ
>>836 WindowsXP で メニューの下に影を付けるのチェックも入れてるけど、
タイトルバー右クリックのメニューも、アイコンクリックのメニューも影付いてないんだけど……
>>837 他のアプリも影ついてるか?
JFrameは重量コンポーネントだからそのままの動きのはずだが
839 :
デフォルトの名無しさん :2006/09/25(月) 01:20:07
JFrameに載せるパネルを JPanelを継承したものを載せたいんですけど、 継承したパネルごとにマウスなどのイベントを実装してるとどうなりますか? 一つのパネルにフォーカスがいってそのパネルのイベントがメソッドが実行されますか? それとも、全てのパネルのメソッドを実行しちゃいますか?
>>839 簡単なテストプログラムを書いてやってみれば分かると思うが、
マウスイベントはzオーダーで一番上のコンポーネントに送られる。
841 :
デフォルトの名無しさん :2006/09/25(月) 23:12:25
>>840 どうもです
あと、途中でsetPreferredSizeを設定した場合ってどうなりますか?
Java6になったら真面目になんか作ってみようかな それまではJ2EEで仕事に投資・・・
843 :
アフォルトの名無しさん :2006/09/26(火) 10:33:20
JInternalFrameにpaint()で描画したいんだけど、 どうすればいいの?
Swingなのにpaintを使おうと考えているのがおかしい Swingはpaintを単純にオーバーライドしちゃいけないって基本中の基本をおぼえてね AWTはpaintでよかったんだけど
846 :
アフォルトの名無しさん :2006/09/26(火) 11:10:11
>844 なるほど。JPanelにpaintComponent()で描画すればいいってことか。 ありがとう
>>507 ファビョロンってなんだw
火病かとおもったじゃねえか
848 :
デフォルトの名無しさん :2006/09/26(火) 20:11:44
不具合発生中とのWindowsLookAndFeelですが、 これはLinuxなどWin以外のプラットホームでもWin同じように使えますか? WindowsOnly?
Win以外は発生してないっぽい Winでも他のLook&Feelにすると発生せず
>>848 WindowsLookAndFeelはWindowsでしか使えない。
ついでに使いたいと思う人もそういないだろう…
SystemLAFのアプリのほうが多いと思うぞ
substance最近聞かないな。欠陥があったのか、単に流行らなかったのか
substanceは激しく重い 一番軽い組み合わせでもかなりきつい
Windows以外でWindowsLnFを使おうとするとエラーになる。 MSの圧力なのかSunの自主規制なのかは知らん。
Mac以外でAqua Look & Feelを使おうとするとエラーになるよ。 そんなもんだよ。
>>854 ネイティブAPI使ってるからなんじゃない?
>>855 そもそもAquaはAppleが提供してるから、他プラットフォームのには
付いてこないよね。
WindowsのはSun提供ならどれでも付いてくる(けど実行すると×)はず。
>>850 MotifがWindowsでも使えるので、
もしやと思ったのですが、やはりだめですか。
Metalは、グラフィックで描いているけれど、
WindowsはシステムのAPIを使っているということなんでしょうか。
どうせなら同じにしてくれるとうれしいのにー。
859 :
850 :2006/09/27(水) 13:30:46
>>848 Linux や Mac で WindowsLookAndFeel を使いたいなんて
思いもしなかったけど面白そうなので調べてみた.
UnsupportedLookAndFeelException が出るのは
com.sun.java.swing.plaf.windows.WindowsLookAndFeel#isSupportedLookAndFeel()
が false を返すからで,これは同じクラスのisNativeLookAndFeel()メソッドを呼んでる.
そしてその内容は以下の通り.
String osName = System.getProperty("os.name");
return (osName != null) && (osName.indexOf("Windows") != -1);
860 :
850 :2006/09/27(水) 13:31:14
そこで Linux で java -Dos.name="Windows XP" -Dos.version="5.1" -jar SwingSet2.jar java -Dos.name="Windows 2000" -Dos.version="5.0" -jar SwingSet2.jar とかやってみたんだけど今度は java.lang.UnsatisfiedLinkError が出て起動しない. やっぱりJNIでネイティブライブラリを呼んでいるらしい. com.sun.java.swing.plaf.windows.XPStyle あたりに native メソッドが何個かあるのでその辺かな?
861 :
850 :2006/09/27(水) 13:32:23
まぁよく考えたら現在 OS に設定されているの色やフォント,アイコンなんか の情報を取得してそれにあわせてやる必要があるからJNI使っているのは当り前なんだけど… というわけでとりあえずの結論は「WindowsLookAndFeel は Windows でしか動かない」 # もっとずるいことすれば Linux や OSXでも動くかもしれないけど
JNIにまで手を染めてるわりには 微妙に違う使い勝手がなんともなあ。 俺様PLAFでウハっとけってことか。
違いってそんなにある?
JFileChooserとか、結構違ってて使い難いな
あれはOSのメニューだせないと違和感があるからな・・・ だが、そこくらいしか違和感ありまくるのないだろ
>>859 >Linux や Mac で WindowsLookAndFeel を使いたいなんて思いもしなかったけど
実はアプレットなんです。
使えない理由はよく分かりました。
どうせ JNI 使ってるなら AWT で良いじゃん。
あほか 最終的に実装はJNIばっかりだぞ 演算だけしているわけにもいくまい
Swingの目的は見た目の統一感が主でしょ。 それ以外の目的が主なら、何もSwingじゃ無くていいじゃないか?
>>866 EclipseOnSwing
eos でしょ。
実は完成度はガタガタだけど挑戦してる人はいる。
872 :
デフォルトの名無しさん :2006/09/27(水) 23:10:02
Swingのマーケティング戦略にまんまと乗ってる人なんだろうな。 見た目が「軽量」ですか・・
実際NetBeansは使いやすいけどね。 ただしガーベジコレクションの実行時間はNBのが長い。 下手したら一分くらい固まるときもあるからなぁ。 オブジェクトライフサイクル管理が甘いのかな。
Eclipseはメモリ食うな。 ある程度プラグイン入れると512M割り当てじゃないと動かない。 NetBeansは128M割り当てで不自由しない。
>>873 メモリ設定ちゃんとしてる?
プラグイン大量なEclipse3.0ベースのラショナル製品は分単位でよくかたまる
3.1単体はそうでもない
3.2はしらね
Netbeansがガーベージ・コレクションで固まるのは英語の掲示板とかでも 話題になってた。 Eclipseでも3.0のころによくあったらしい。 で対策として ・Max Memory を極限まで拡大。 ・マルチコアならコンカレント・マークアンドスイープを有効にすると、ガベコレが裏で行われて快適。 ということらしい。
5.0からインクリメンタルGCがコンカレントGCにかわった というわけでやってみればわかるが1コアCPUでもコンカレントGC有効だぞ 従来のトレインアルゴリズムGCも一応指定すればできるが、選択する必要はない メモリは256MBくらいにしておけばいい もちろんヒープ拡張なしにな 何も考えずメモリ増やすのは愚か
Vistaで、Desktop Javaはトドメを刺されそうだ。 がんばって、独自描画で、WindowsのLAFに近づけてきたのに。 クライアントであるとしたら、業務用アプリのような、ユーザーに選択権のないソフトぐらいか。 Javaはサーバサイドでの優位性を固めておくべきなんだろうな。
何で?今だってWindowsLAFはOldタイプのものをフラグで分けて表示してるでしょ
>>878 最近の風評だとVista自体がとどめを刺されたり・・・
クライアントには、Macに勢力を伸ばしてもらいましょうww
882 :
デフォルトの名無しさん :2006/09/29(金) 01:24:08
Vistaって何がよくなるの? 俺は今ので問題ないんだけど
>>878 理由は?
Vistaの上で動かないなんてことはないでしょ?
6からWindowsLAFはネイティブメソッド使うんじゃなかったっけ?
>>883 コモンダイアログやら、コントロールの視覚的デザインが変わったんで、
せっかくXPLaFでがんばって近づけた見た目が、また違和感バリバリになった。
>>881 どちらも有り得ない。
>>884 ほんと、いっそのことSWTぐらいまでネイティブAPIを使ってほしい。
特にJFileChooser。コントロール/Widgetも足りない。
>>882 分からない、問題ないなら変える必要ないと思う。
ビデオカード次第ではあるが、描画のCPU負荷は大幅に減る。
>>885 SWT使うか,いっそMetalで使うかくらいの方が幸せな気がするな…
結局は、AWTでいいんじゃないか? もしくはAWTを少しカスタムする程度で。
888 :
デフォルトの名無しさん :2006/09/30(土) 03:24:47
VC++でMFC。これ最強。
VRAM に直接ビット桶
OpenGL使えってこと?
>>887 AWTがどの程度のものか知っていってるのか?
Swingと比べれる水準じゃないぞ
SWT程度では実用になるまい
>>880 1.4からOpenGL使って描画はできる
ただし、崩れるのでデフォにはなておらず
WTLって使われてる?
894 :
デフォルトの名無しさん :2006/10/01(日) 18:37:22
WPFは当然としてWTLなアプリって見たこと無い。
SWTの新スレって立ってないですよね・・?
SWTってまだ生きてるの?一瞬流行って以降とんと聞かないんだが。
swing をやってみようと思い、調べててここにたどりついたら、スレタイからして低速ですか? 盛り上がった気持ちが少しだけさめたよ…
伝統だから気にすんな。SWTの中の人でさえ今じゃそう思ってないから
昔は低速だったのは確か 1.2のときはひどかった VM自体も1.1時代より遅かったしね 1.3.1以降はさほど気にならない 1.4.1以降であればネイティブとあんまかわらない
>1.4.1以降であればネイティブとあんまかわらない それはない。最低でも倍くらい遅い。CPUの恩恵でそう感じるだけ。
901 :
デフォルトの名無しさん :2006/10/08(日) 21:06:46
age
かわらないと感じるならそれでいいのでは?
C2Dの2GHzクラスがノートで普通に出るようになれば Javaなんてタダの便利言語になりさがるよ
今はCoreDuo1/2で1.66GHzが標準だな 十分さくさくだと思うけどね もともとPenMベースのほうはJavaの速度がPen4ベースより早かったし おかげで今の1Mキャッシュ、バスクロック533MHzのCeleronMのほうがPen4より快適だったりする
907 :
デフォルトの名無しさん :2006/10/09(月) 00:28:01
>>898 SWTのなかのひとってまだいるのかな?
低速ってのは、SWT高速ってついてたときの名残だよな
当初、自嘲気味だったが、最近速度向上してるから謙虚なスレタイになってる
最近は、HDDの重さがネックかな、とは思う
JavaのGUIってライブラリのクラスが多いからコンソールアプリに比べて
HDDのアクセスを初動で結構食ってる気がする、ソレが損してる感じ
OS起動時にHotSpotを、暖機運転出来ていたら・・・とは思うな
Hotspotって、最適化を動的に始めるけど最適化結果を
JVMのライフサイクルを跨いで保存していて、2回目の起動だと
いきなりHotspotで最適化できてる、とかないんかね?
.NETとかそういうのあるんじゃなかったっけ?
909 :
デフォルトの名無しさん :2006/10/09(月) 13:01:14
ウィルススキャンソフトを常駐させていると、起動時にいちいちjarファイルを全部チェックするからえらいことに。
>>908 >OS起動時にHotSpotを、暖機運転出来ていたら
そうなっていればいいと思うね。
Appletのプラグインみたく、常駐しててくれれば速いのに。
昔ネスケでそれでたたかれてたな 起動時間遅くしてメモリ大量消費してるんじゃねぇと
SWTは、もうすでに「look&feelがネイティブとあんま変わらない」くらいの価値しかありませぬ。 1.4以降の進化がすごすぎ
ザックリ評価した限りでは、JDK6 on VistaではSwingの方が ネイティブに近い感じ。SWTは一部のコンポーネントが Vistaっぽくなくて orz JDK6のSwingではMotifでの表示も改善されてるし、 風向きはSwingなのかも知れん。
そういやXPLAFがでたときもそんな感じだったな ネイティブや.NETだと設定を変えないとクラシック表示のままなのに SwingはデフォがXPLAFで手軽さがうりだった もちろん設定でいつでもクラシックにかえれる
Swingで思い通りのレイアウトを作るの難しすぃ もう6時間ハマってる… モゥイヤダ
>>915 jigloo GUIビルダーとか使えば?
Netbeans使えばマウスでレイアウトできるんだが。
>>915 VBみたくレイアウトしたいなら、無理せずに、NullLayout使えばいいのに。
実際はリサイズなんてしないんだから 好きなようにぺたぺた貼って終わらせとけばいいんだよ
NetBeansを使っていても、うまく配置できないのだが、、、 皆様がおっしゃるようにNullLayoutでウィンドウリサイズしないようにした。 ボーダーレイアウトとかボックスレイアウトなんて嫌いだー!!
ぬるれいあうとよりはあぶそりゅーとれいあうと あぶそりゅーとよりはフリーデザイン どの変がうまく出来ないの? nullレイアウトする場合はまずJPanelはりつけてそれに推奨サイズ設定 JFrame自体はpack これでおけ フリーデザインは作業エリアサイズがそのままウインドウサイズになるのでおけ
レイアウトマネージャの快適さになれると いちいち全部 1pixelずつ 調整していく作業がアホらしくてしょうがない。 基本的に、うまくレイアウトできないっていってるやつはJPanel を使わなさすぎ。 そりゃ少ない方がいいだろうがそれでレイアウトに気を使うようじゃ本末転倒。 Swing だと JPanel なんかいくら張っても大してリソース食わないんだから 部分部分がちゃんとレイアウトされるよう JPanel をバリバリ張った方がいいよ。
今日もまた GridBagLayout のすばらしさに涙する
>>922 でも推奨サイズ設定がちと面倒なんだよな
NullレイアウトだとNetBeansなどGUIエディタで操作しやすいのがいいかな
あとJPanelを大量に使うと処理は多少遅くなる
NetBeansならフリーデザインのほうがいい
>>923 修正が難しいのがちと問題だね
ちと質問なんですが 私VB6ユーザで以前JAVAのレイアウト(SWING)の難しさにくじけて それ以来ろくに触っていないのですが GridBagLayout(+jigloo)でVBっぽく比較的楽にレイアウトの指定できますか? ググッて見たところそれらしい記述がちらほらあるので・・・
NetBeans5のフリーデザインは、たくさんコンポーネントをおいた画面にあとからコンポーネント追加するのが激しく鬱。
GridBagLayoutよりましでは? どっちも癖つかまないと使えないしNullレイアウトのほうがもっと追加の配置は大変だし 既存のレイアウトの組み合わせもわりと問題があるし
おいらはJPanelだらけになってしまうのさえ除けば Border,Flow,Box の組み合わせが割りと好きだな。 よほど細かい位置決めしないならこれで十分だし。
GridBagはロバストじゃないのが困ったとこだね。 入りきらなくなったとたん中身が潰れちゃう。 この手のレイアウトマネージャじゃ、やっぱりTkのが 一番好きだな。Javaに移植されたものないのかな?
>>926-930 d、NetBeans使ってみます
一度成形したレイアウトに
コンポーネントを追加するのは面倒っぽいんですな
レイアウトはVBできっちり決めてから着手したほうがよさげかな
NetBeansのGroupLayoutは、コンポーネント(またはそのグループ)の端からのスキマや、どこにくっつけるかで レイアウト組むから、GUIだとコンポーネント追加の順番や、後から間に挟みこむような場合は 妙な組み方にされる事がある。 自動生成コードを手で綺麗にすりゃいいんだけど手間だし。
>>931 NullLayoutつかえばいいだけだろ。
少なくともVBを使うかどうかはNetBeansを使ってから決めることだよな
>>932 自動生成コードは編集できないよ。
外部エディタで変更しても、NetBeansで読み込んだときにもとに戻るし。
936 :
932 :2006/10/12(木) 11:33:58
あー俺NetBeansでUIだけ作って、そこからEclipseに貼り付けてる。 そーいやNetBeans内では保護されて変更できなかったな。 画面上では正しく見えても、とんでもない組み方にされてたりするんで どっか手を加えた時にわけのわからんレイアウトになったりする。 もう少しユーザに手間をかけさせても、まともに組めるモードがあったらいいな。
貼り付けるくらいならNetBeannsで生成されたjarをライブラリに使ったほうがいいだろ
Eclipseプラグイン開発するときはSWTしかないんだよね? Swingでプラグインって作れるっけ?
つくれなくもない。
940 :
デフォルトの名無しさん :2006/10/12(木) 22:46:31
swingも好きなんだけどさ、eclipseの使いやすさとか見てるとやっぱりswtを取ってしまうなぁ。
>>938 IBMがSunをEclipseにさそったときに、SWTコンテナ中にSwingコンポーネント
を埋め込めるようにした。SWTの知識が全く必要ないわけではないけど。
JSRでSwingベースのIDEプラグイン規格が採択されたでしょ。 5年後くらいにはSwingのプラグインが出回るよ。
>>940 swtだから使いやすいってわけでもないけどな。
むしろ低機能で大変
でもJFaceはぶっちゃけswingより使いやすい
JFaceまじめにつかいやすいとかいってるんか
まじ。 つーか好みの問題だけどな。 最近はSWT/JFace触ってないんで、細かいことは忘れたし変わったかもしらんが Table、Listあたりに関してはJFaceの方が好み。 swingのTableModelとかCellRendererとか、面倒くせいし泥くせいと感じる。
で、結局どうやったらSwingでEclipseプラグイン作れるのよ?
Javaエディタ以外ではNetBeansの方が使いやすいわけだが。
Swingの場合なんでもやれるようにつくってあるからなぁ 業務系のアプリの場合かなり複雑なことやらせられるからね
Javaエディタ?
nbCheckStyleってどうすれば使えるようになるの? プラグインの使い方は統一してほしいなぁ
TableModel とか CellRenderer とかは自然だと思うがなあ。
SWT Look & Feel があれば
それは何の意味が
SWTって動作するOSのGUIを採用したコンポーネントじゃね?
ところで次スレはどうしたものか
うおマジレスが
次スレもあえて「低速」をつけて欲しいと思う。
961 :
デフォルトの名無しさん :2006/10/16(月) 22:24:58
質問。 setBackground()等で変更してしまった背景色をデフォルトに戻す方法ってある? デフォルトが単色じゃない場合もあるから、getBackground()で取得したColorを 戻すだけじゃ元に戻らないよね?
>>960 俺はもう低速はとって欲しいなぁ。。。
>>961 Macとか縞々だったりするからね。ちょっと今試せないけど、戻るんじゃなかったかな?
>>962 簡単かどうかは人それぞれだから分からないけど、作れるよ。
965 :
962 :2006/10/16(月) 23:32:27
NetBeansプラットフォーム参考にするといいかも
>>967 特許内容とか詳細をしているのかな?
それとも素人のトリビアなら、そういう無責任発言はしない方がいいよ。
つまりEclipseとかNetBeansは特許侵害のチョンアプリってことかね
素人が心配する問題じゃないぞ。 自分が書いたSwingの低速さを心配してろ!
NetBeansにTabパレットはないが・・・
>>963 俺も低速は要らないと思う。ちょっと前のスペックのマシン使って、
Swingアプリ常用してるけど、低速ではないしね。
パレットがないもんね。
>>960 俺も「低速」つけるの希望だな。
それでなくても Java関連のスレは 夏あたりから変なの沸いてるし
自虐ワード込みの方が良いと思うんだけど。
むしろ付いてた方がいつまでもSwingの進化を期待できていい
3倍早くなっても低速なまま
SWTスレが高速とつけてる内はあえて 低速つける方がイヤミでいいよ
Swingが今でも高速でない事は事実だからな。万年、低速決定なんだよ。
とりあえず低速付けとけばいいんじゃない? あって困ることもそんなにないだろうしさ
Java中速GUI Swing 5 Javaそこそこの速さGUI Swing 5 Javaそんなに低速でもないGUI Swing 5 Java同類の中では比較的高速GUI Swing 5 Java5年前よりはかなり高速GUI Swing 5 Java皆さんが思われるよりは高速GUI Swing 5 あたりか。
ここはあえて Java SWTより高速GUI Swing 5 とか まぁ無理だけど
もはや低速でもなんでもないが、 そこをあえて低速と書くのが粋じゃね? もともとは「軽量コンポーネント」だったけど 軽量の抱かせるイメージと全然違う意味で軽量と名乗ってた、 過去への皮肉を込める意味でも。
低速カコイイ
よくやった 感動した
時代は低速
スローライフイイネ
991 :
デフォルトの名無しさん :2006/10/18(水) 19:37:49
(*^ー゚)b
まもなくここは 乂1000取り合戦場乂 となります。 \∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/ //三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ∪ ∪ ( ) ( ) ( ) ) ,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ,,、,、,,, ( ) ( ) ( ) ( )
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴ……!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, //三/|三|\ ,,,, ,,、,、,,, ∪ ∪ ,, , ,,,, ,,、,、,,, ,,、,、,,, ,,,,, ∧_∧ うまいモナー,,,,, 、 ,,,,,, ,,,,,,,, ,,,,, ,,, ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,, / ̄ ( つ日ヽ ∧_∧ ( ) / / (__)) (´∀` ) ( ) ∧_∧∧_∧ / マターリモナー ∧_∧∧_∧ドーゾ (日ノ ) | | | ( ´∀`) ´∀`) ( ´∀`) ´∀`) ((__) ,(_(_) (○)⊂ ) つ日⊂ ) モーナー ―(つ⊂ ) つ⊂ )―――――――――――ヽ|〃(⌒)(⌒) (⌒)(⌒) (⌒)(⌒) (⌒)(⌒)グーグー
,,、,、,,,  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ \∧_ヘ ,,、,、,,, …………………… > / \〇ノゝ ,,、,、,,, ,,、,、,,, ________/ /三√´д`) /三/| ゚U゚| \ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::)∪ ,,、,、,,, ,,,,,,,, ,,,,,,,,,,,,, ,,,,, //三/|三|\ トボトボ ,,,,, ∧_∧ うまいモナー,,,,, 、 ,,,,,, ∪ ∪ ,,, ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,, / ̄ ( つ日ヽ ∧_∧ ( ) / / (__)) (´∀` ) ( ) ∧_∧∧_∧ / マターリモナー ∧_∧∧_∧ドーゾ (日ノ ) | | | ( ´∀`) ´∀`) ( ´∀`) ´∀`) ((__) ,(_(_) (○)⊂ ) つ日⊂ ) モーナー ―(つ⊂ ) つ⊂ )―――――――――――ヽ|〃(⌒)(⌒) (⌒)(⌒) (⌒)(⌒) (⌒)(⌒)グーグー
995
マターリだなー
f
t
p
1000ならジュース飲むか
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。