1 名前:デフォルトの名無しさん [2007/09/26(水) 20:51:18 ] ハードウェアの高スペック化、描画アルゴリズムの変更、JavaVMの高速化に伴い、パフォーマンスの問題は改善されています。 しかしながら、"Java"というだけで未だに敬遠されるのが現状。 そんなSwingと引き続き付き合っていくみんなのスレッドです。 Java低速GUI Swing 5 (前スレ) pc11.2ch.net/test/read.cgi/tech/1161139809/ Java低速GUI Swing 4 pc8.2ch.net/test/read.cgi/tech/1140533866/ Java低速GUI Swing 3 pc8.2ch.net/test/read.cgi/tech/1121700954/ Java低速GUI Swing 2 pc8.2ch.net/test/read.cgi/tech/1095398949/ Java低速GUI Swing pc5.2ch.net/test/read.cgi/tech/1062271447/l50
774 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:43:05 ] >>769 >ここで聞いたほうが早いかなと思ってしまいました。 こんなのを自分で考えられないとしたら先は長い気がするが… まぁ地道にがんばれ!
775 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:06:16 ] ベーマガとか初心者向き雑誌がないと大変なのかなーとかおもっちまった こういうの当時の小学生は普通に作ってたもんね
776 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:18:59 ] HSP使ってる連中も普通に作ってるぞ。 というかゲームにSwing使ってるの?
777 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:20:55 ] Java2Dを使うことはあるかもしれないが、Swingはあんまつかわないだろうね ただ、ここAWTと合流したからJava2D等も含むといえば含む 本気でやるならJOGLだろうけど
778 名前:デフォルトの名無しさん [2007/12/27(木) 02:26:13 ] 本当だ!! いつの間にかスレタイにAWTが入ってた!!
779 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:32:45 ] JOGLの正式版が出たときプレイアブルな2DデモとGLCanvasに描画するJMFのレンダラを組んだけど いまじゃJOGLはjava2Dとパイプラインが統合されてんだよね。 OpenGLの関数使いたいわけじゃないなら-DオプションでOpenGL使うようにした方が楽かね? それならわざわざ2D描画に3Dtoolkit使う必要ないし。 バグさえ消えれば。
780 名前:デフォルトの名無しさん [2007/12/27(木) 04:23:20 ] javax.swing.timerなんですけど ↓の様にやること多いじゃないですか このタイマーをストップさせることって可能ですか? public void startTimer() { int i = 0; Timer timer = new Timer(20, new ActionListener() { public void actionPerformed(ActionEvent e) { if (i > 100) { return; } i++; }); timer.start(); } いままで↑のような感じでiが100超えたらリターンするようにしてたんですが、 ずっとタイマーは動きっぱなしなんですよね。 timerはiが100を超えたらストップさせたいんですよ。 timer内から自分自身をstopさせることができればいいんですが...
781 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 07:13:18 ] まぁ、とりあえず読みなさい。 java.sun.com/javase/ja/6/docs/ja/api/javax/swing/Timer.html
782 名前:780 mailto:sage [2007/12/27(木) 07:55:23 ] そこも含めていろいろググったんですが... 実際のコーディングを見てください まずメインクラスでクラスAのインスタンスaを10個作る(略 pubilc void run { //メインループ for(int i=0;i<10;i++){ //a[0]からa[9]のxを増やしていき、xが10になったらstartTimer()をplay a[i].x++; if(a[i].x >= 10) { a.startTimer(); } @ } } pubilc class A { int x = 0; int size = 10; public void startTimer() { Timer timer = new Timer(20, new ActionListener() { public void actionPerformed(ActionEvent e) { if (size> 20) { return; } size++; }); timer.start(); } } 実際はa[0]が増分し終わったらa[1]にいったり、同時に動いたりするんですが... @の部分で判定してtimer.stopさせようとしてもすぐストップしてしまうと困るし、 メインループからはtimerがいつ終わるのかわからないのでストップできないんですよね なにか大きな間違いがあるんでしょうか?
783 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 08:37:43 ] Timer#stop()を呼べば止まると分かっているのなら、 後は変数のスコープの問題。 ローカル変数timerをクラスAのインスタンス変数にして、 こんなメソッドを作って public void stopTimer(){ timer.stop(); } これをactionPerformed()内の適切な位置で呼べばいい。 ところでこのサンプルコード、Timerでやってる処理がi++だけなんだが、 これは単純化したサンプルコードなだけだよね? ホントのコードでは、ちゃんとGUIスレッドですべき処理をしてるんだよね?
784 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 08:53:05 ] ああうまくいきました GUIスレッドですべき処理というのがいまいちわかんないんですが、 ある条件でaのエフェクトを起こすみたいな感じなんですよ とにかくこれで寝れます どうもありがとうございました
785 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 10:45:15 ] ボタンのイベント中にタイマーの時間が来たり、その逆も有ったりするって意味じゃね。
786 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 12:26:40 ] >>783 swing.TimerはEDTでactionPerformed呼ぶからそのへんは大丈夫と思
787 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 13:29:19 ] >>779 Java2Dだとαブレンディング/テストとか足りないものが多いから 2DであってもOpenGL使わざるを得ないのが現実 >>785 が正解 あと注意すべきところはSwingTimerは定期処理にはいいけど、 長時間の流れがある処理には向かないというのもおぼえておくとよろし あくまでも一定時間ごとにアクションイベントを発生させるだけ 詳しく見てないけどSwingFrameworkでjavax.swing.Timerも扱えるんかな?
788 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 22:23:18 ] Javaで動画を再生しようと思っているのですが(Macも含める) ・JMFだとMacで再生出来ない。 ・QuickTime for JavaだとLinuxで再生出来ない。 という認識はあっていますでしょうか?
789 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 22:41:37 ] JMFのクロスプラットフォーム版を含めるなら間違ってる。 というかこれくらい人に聞かずとも分かるだろ。
790 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 00:08:21 ] >>789 ttp://www.animoids.com/jmf_for_mac.html 「JMF_2_1_1_mac.zip」の部分から、 もしかしてMac用がどこかで配布されているのかと勘違いしてしまいました。
791 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 03:27:55 ] 検索するとそこヒットするんだよね。 JMFはjava動かすスペックと動画デコードするスペックを ダブルで要求するからネイティブ版でもいろいろすると重いぞ。 単純なラッパーだからwin版はバグだらけだし。
792 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 08:46:22 ] >>790 こんなの見つけたぞ ttp://www.sra.co.jp/people/nisinaka/Jun4Java/index_ja.html
793 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 15:55:29 ] 2004年から更新してないとか心配なんだけど、 なんでどこも投資して開発を続けないんだろう
794 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 16:06:51 ] こんなところでじゅんを見る事になるとは・・・。
795 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:40:20 ] JFileChooserにおいて、ダイアログ表示時のデフォルトの名前を指定するにはどうすればよいでしょうか?
796 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:55:09 ] setSelectedFile() で指定してから表示
797 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:57:49 ] JFileChooser#setSelectedFile(File)
798 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:14:41 ] ありがとうございました!
799 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:16:16 ] NetBeans入れたら超もっさり動作でがっかりした。 結局今はEclipseにもどりますた。 SwingアプリがSWTアプリみたいに比較的ストレスなく動いてくれる日はマダ来ないのかね。
800 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:25:30 ] もっさりとかストレスなく動くとかってのは主観的なものだから、 >>799 の気分次第で明日にでも来るし、永遠に来ない事もありうる
801 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:57:01 ] >>799 マシンのスペックはいかほどで?
802 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:58:07 ] JavaはマイナーCPUに冷たいだろうし マイナーGPUにも冷たいのかもしれんね
803 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:02:44 ] CやC++なら温かいともいえないんじゃね?
804 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:16:32 ] >>802 Java使ってるSWTもマイナーCPUやマイナーGPUに冷たいって事に?
805 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:17:10 ] >>802 SPARCにも冷たいって事に?
806 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:20:05 ] >>804 はスルーするが、>>805 は許せん。
807 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:42:32 ] 今時はお世辞にもメジャーとは言い難い。
808 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 14:16:14 ] いまさらSPARCもねえだろ
809 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:29:10 ] 金にいとめをつけずWinで最速のマシンもってくれば、Javaでもかなり高速動作するんじゃないの。
810 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:33:56 ] 既存のコンポーネントにアクションを付加したい場合どのような手段を取るのが比較的単純に済むでしょうか? 例えば、JTreeでCtrl+Fで検索のアクションをさせたい場合などです。
811 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:44:54 ] >>810 適当なコンポーネントの ActionMap と InputMap に登録すればいいだろ。
812 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:07:49 ] JFileChooserののろさにガックリ
813 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:15:44 ] >>368 あたりで話題になってる不具合のせいかも?
814 名前:>>810 mailto:sage [2007/12/31(月) 18:36:09 ] InputMapを知りませんでした。 こんな簡単に実現できるなんてSwingは本当にすごいですね。 ありがとうございました。
815 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 02:16:39 ] >>799 いつものネガティブキャンペーン乙 6.0だとEclipseのほうが軽いとかってありえんだろ SWTはスレ違いだからそっちでやってくれ
816 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 02:28:13 ] 今更釣られるアホは寝てろ
817 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 08:17:29 ] たしかに起動に関してはnetbeansめっちゃ遅いよな
818 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 02:11:59 ] 何もプラグイン入れなければ、Eclipseは軽いね。
819 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 02:17:51 ] Java EE フルセット入れた Eclipse のもっさりと不安定さはすさまじいものがある。 sysdeo の Tomcat プラグインと JSP, XML の構造化エディタ程度ならめちゃめちゃ軽い。 必要なものを選択できる人間だけが楽できる。
820 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 03:15:40 ] >>819 インストールしてもプラグイン無効にすればいいんじゃね?
821 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 22:26:40 ] swingのコピペを調べてたんだが。 CTRL+X -> CTRL+V で「切り取り -> 貼り付け」した時に、 貼り付け後に、余計なオブジェクトを削除するための後処理はexportDoneでいいんだろうか? なぜか、CTRL+Xを押した瞬間に、exportDoneが実行されちゃうんだ。 exportDoneの説明には、 >データのエクスポート後に呼び出されます。このメソッドは、アクションが MOVE の場合に転送されたデータを削除します。 >MOVE はこの実装にサポートされるアクションでないため、このメソッドの実装では何も行われません。getSourceActions には MOVE が含まれません。 どっちやねんw
822 名前:821 mailto:sage [2008/01/02(水) 22:28:33 ] 今のところ、対処方法が分らないので、exportDoneの中では何もせず、 importDoneの中で、貼り付け操作完了後に、 自分で削除操作を実行しようかなと思ってる。
823 名前:821 mailto:sage [2008/01/03(木) 00:34:28 ] なにをバカなことを! 切り取りの標準的な操作は、切り取りと同時に削除だろうが! エクスプローラの動作が特殊なんだ! 新年早々はずかしぃぃぃぃぃぃぃぃぃぃぃぃ!!!!!!!!!!
824 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 03:16:52 ] エクスプローラの動作は、CUTというよりPREPARE-MOVEだからな。
825 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:53:44 ] >>817 終了はめっちゃ速いのだが。
826 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:23:28 ] jdk1.6.0u3 import java.awt.Frame; これってバグなの?
827 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:33:55 ] ___ ━┓ / ―\ ┏┛ /ノ (●)\ ・ . | (●) ⌒)\ . | (__ノ ̄ | \ / \ _ノ /´ `\ | | | | ___ ━┓ / ― \ ┏┛ / (●) \ヽ ・ / (⌒ (●) / /  ̄ヽ__) / . /´ ___/ | \ | |
828 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:49:08 ] >>827 分かる人にはこれだけで分かる
829 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:53:32 ] >>827 >>828 バグってたのは俺のほうだったw *.class 削除したらコンパイル通ったよww
830 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:55:29 ] どういう環境だよ・・・
831 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 01:26:16 ] >>830 pc11.2ch.net/test/read.cgi/tech/1197710566/646 だろう。
832 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 11:20:26 ] テストするならTestFrameとかにすべし
833 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 12:55:58 ] >>831 よくみつけてきたな
834 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 03:57:38 ] 相変わらず質問スレは気持ち悪いな
835 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 17:58:19 ] import java.util.*; import javax.swing.*; public class NewJFrame2 extends javax.swing.JFrame { List<String> dummyList = new ArrayList<String>(); JList jList; public NewJFrame2() { setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE); JScrollPane jScrollPane = new JScrollPane(); jList = new JList(); jScrollPane.setViewportView(jList); getContentPane().add(jScrollPane, java.awt.BorderLayout.CENTER); for ( int i=0; i<300; i++ ) { StringBuilder sb = new StringBuilder(); int max = (int)(Math.random() * 100 + 1); //int max = 20; for ( int j=0; j<max; j++ ) sb.append("A"); dummyList.add(sb.toString() + " " + i); } jList.setModel(new AbstractListModel() { public int getSize() { return dummyList.size(); } public Object getElementAt(int index) { return dummyList.get(index); } }); pack(); } public static void main(String args[]) { new NewJFrame2().setVisible(true); } }
836 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 18:01:42 ] JListのカーソルキーによるスクロールことで謎があるので投げてみる。 >>835 のプログラムなんだけど、単純にJListの中に300個のダミーデータを入れている。 カーソルキーで下にスクロールしていき、数十行進んだら、こんどは上に10行くらい スクロール。 そしたらまたカーソルキーで下に移動。 すると、選択されてる項目が一瞬で画面の下までジャンプしてしまう。 このプログラムで、maxを20とか一定の値にした場合はジャンプしない。 JListの各セルの文字列長をランダムに変えたものを入れるとこの現象が起きる。 こういう仕様なのかもしれないけど、一瞬で選択位置が飛ぶと、 目線がそれてしまうので操作感がよくない。 maxを固定したときのように動作してほしい。 なんとかする方法ないかなぁ?
837 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 19:57:24 ] >>836 解決法でないのだが、「ジャンプ」の条件について。 固定長かどうかではなく、Viewport の外に描画域があるかないか、ではないのか、と。 固定長で横スクロールが出るようにしたときは「ジャンプ」するし、 固定長でなくても、横スクロールが出ないときは「ジャンプ」しない。 JScrollPane で横スクロールを非表示にしても、見えない部分があるときは「ジャンプ」する。
838 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 16:05:46 ] フレームの横サイズを水平スクロールバーが出なくなるまで広げてやればジャンプはしないな。 しかしちょっと設定をいじくったぐらいでは解決しそうない。 オーバーライドして一部の機能を殺すとか。
839 名前:デフォルトの名無しさん [2008/01/10(木) 18:27:36 ] ↓このバグだと思うよ。7で直ってるらしい。 bugs.sun.com/view_bug.do?bug_id=6568906 bugs.sun.com/view_bug.do?bug_id=6510999
840 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 18:57:44 ] バージョンアップを待つのが一番楽そうだね
841 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 19:27:17 ] よく見つけてくるな。すげーよ。
842 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 21:33:46 ] 有名なバグだぞ。 JListに512個要素突っ込むとバグるとか放置されてるし。
843 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 22:03:23 ] >>842 2000個いれてみたけど、なにかバグあんの?
844 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 22:52:30 ] 512個入れて、一番したのアイテム選択してCTRL+B これで、すべてのアイテムが2個ずつになって1024個になるというステキなバグ
845 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:06:27 ] 1から10000までの数字を全部掛けたときに 末尾に並ぶ0の個数を求めるのをJavaでおながいします
846 名前:デフォルトの名無しさん [2008/01/10(木) 23:10:36 ] それはSwingに関係あるのか?
847 名前:デフォルトの名無しさん [2008/01/10(木) 23:16:39 ] >>844 バグが出なかったんだけど 他になんか条件ないの?
848 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:17:55 ] >>845 class Test{ static void main () { cnt5 = 0; for (int i = 1;i <= 10000; i++) if(i % 5 == 0) cnt5++; System.out.println("count" + cnt5); } }
849 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:22:25 ] ああ、5から5ずつ足してくから10000/5=2000か?
850 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:48:27 ] 10を素因数分解して2*5。んで、2は大量に有るから、5だけ数えれば良い、と。
851 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:51:27 ] どの道>>848 は間違ってるわな
852 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:07:08 ] >>850 i%25 とか i%125 も数えなきゃだめじゃね?
853 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:07:36 ] どのみちグズグズっぽいんだが。
854 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:15:22 ] スレチだからまぁ。妖精現実を引っ張ってお茶を濁すべ つ ttp://deztec.jp/x/05/faireal/faireal-26-index.html
855 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:19:54 ] いかにロジカルに解くかが課題じゃなけりゃ BigDecimal で階乗求めて数えた方が早い。 実用に問題ないレベルならシンプル記述に徹するのも美学。
856 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:48:09 ] 80-20の法則な。今丁度勉強中。
857 名前:848 mailto:sage [2008/01/11(金) 01:29:37 ] 直した。 class Test{ static void main () { int cnt5 = 0, n; for (int i = 5;i <= 10000; i += 5) { n = i; while (n % 5 == 0) { cnt5++; n /= 5; } } System.out.println("count" + cnt5); } }
858 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:39:18 ] だからどのへんがAWT/Swingに関係あるんだよと
859 名前:デフォルトの名無しさん [2008/01/11(金) 01:57:27 ] 839だけど、このバグは初めて知った。 >>有名なバグだぞ。 にしては、バグ登録日があまり昔ではないが? >>842 >>844 そんなバグはありえない。 まず、JList、JListのsuperクラスにCTRL+Bなんてデフォルトのキーバインドはない。 さらに、ListModelへ項目の追加、削除が可能であることを JListは知りようがないから、JListがListModelに項目を追加することはできない。 (ComboBoxModelのMutableComboBoxみたいなインタフェイスはない。) そもそも、登録もされていないキーバインドが実行されるなら、 JListでなく、JComponentのバグだし。 JListがListModelに項目を追加する唯一の方法は、 ListModelをDefaultListModelへダウンキャストすることだけど、 Swingのソースコードにダウンキャストするような箇所はない。 さて、どうやったら、ソースに書かれていないことを JListが実行するのだろう?
860 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:06:00 ] 256発あてるとバキュラを破壊できるんだぜ
861 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:13:52 ] Observer や Composite 型の設計だと本体クラスでそう書かれてないからライブラリのバグじゃねーとは 断言できないんだけどな。実行時のリスナやら集約の親子まで調べてやらないと。
862 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:22:05 ] ちょっと尻切れトンボだった。 JLabel クラスが無罪であることを得々と説いてもあんまし意味なくね? という話 (実装者乙、でなければ)。
863 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 15:17:13 ] JEditorPane とか、せめて W3C の DOM で xhtml + CSS になってくれりゃ XSL で処理できるからデータを利用しやすいんじゃがのう。
864 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:20:01 ] 自分でやれば良いだろそれくらい。
865 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:50:17 ] Lobo Browserに投資する企業はいないのかねぇ
866 名前:デフォルトの名無しさん [2008/01/17(木) 19:01:08 ] >>865 ブラウザを使うのがPCだけしかない考えてるなら、考え直した方がいい。
867 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:04:52 ] Swing の HTML 機能も携帯のフルブラウザにすら追い越されて久しいわけだが。
868 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:21:49 ] >>867 一緒にしてるしwwwアホか?
869 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:27:01 ] シンクライアントに必要なだけだし携帯とかいらんな
870 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:30:49 ] >>868 むしろあの HTMLEditorKit 系をおまいがどこで活用できてるのか知りたい。
871 名前:デフォルトの名無しさん [2008/01/17(木) 19:31:39 ] ブラウザをJavaでやる必要があるのか?
872 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:42:23 ] 普通にあるぞ。例えばヘルプ機能とかの生産性があがる。 JDICだとXSS対策が必要だろうけど、こっちは不要。
873 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 19:56:22 ] うん、ヘルプは俺も使う。だがどうしてもその Sandbox から出してやれんw
874 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:06:38 ] バカばっかだな
875 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:09:36 ] Sandboxなフルブラウザは作れると思うが。 Rhinoにその手のインタフェースを与えなきゃいいだけだ。
876 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:22:15 ] フルブラウザという言葉自体胡散臭い
877 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:25:26 ] 頭の悪い煽りがやたら入るスレだなw
878 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:30:43 ] たまに客がどこで見つけたか知らないが 「Swing でもブラウザみたいなこと できるんでしょ?」 と言い出す事もあるが、あれを見せるとさすがに黙る。
879 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:34:02 ] つ Flying Saucer
880 名前: mailto:sage [2008/01/17(木) 20:39:33 ] Swing の HTMLEditorKitは文字通りEditorのためでブラウザみたいに表示onlyではないからね。 でも日本語とかIMEのこととか考えてないよな、あのHTMLEditorKitは。表示だけならいいけど。
881 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 20:46:38 ] 4.01準拠マダー?
882 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 23:57:24 ] JavaがC++より優れている事を示す 絶好の材料だと思うんだけどなあ<ブラウザ
883 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:15:59 ] 標準ライブラリの有無で言語の優劣を決めるのか?
884 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:23:11 ] 実際問題、ライブラリとIDEが言語仕様の優劣を余裕で帳消しにするからね。 D言語1.0がまったく普及しない原因がそれと言われてるし。
885 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:29:11 ] C++の失敗もそうだね 標準ライブラリがしっかりしてれば Javaは生まれなかったかも知れない
886 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:30:48 ] Perl嫌いだけどこれだけ流行ってしまったのは CPANのおかげと言っても過言ではない死ね
887 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:36:14 ] >>883 の中では SmallTalk が世界を救うようです。
888 名前:デフォルトの名無しさん [2008/01/18(金) 03:53:19 ] java c++ d を同列に扱う馬鹿がおる
889 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 08:12:32 ] >>888 人を否定するなら代替の主張を出してからにしたら?
890 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 14:17:41 ] なにいってんだ?
891 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:29:51 ] 同列だろ。言語仕様は実装とは違うレイヤーにある。
892 名前:デフォルトの名無しさん [2008/01/18(金) 19:37:12 ] いいかげんスレ違いだろ 次の話題どうぞ ↓↓↓
893 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:38:57 ] JMFって商用可能ですか?
894 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:55:06 ] スレ違い
895 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 20:11:16 ] どうかんがえてもここだろ。自治厨とか懐かしすぎ。
896 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 20:52:29 ] JMFがここだって
897 名前:デフォルトの名無しさん [2008/01/18(金) 21:04:19 ] じゃあJOGLはここでいい?
898 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 21:36:21 ] じゃあ、SDL for javaもここだな。 >>865 の脳内ではメディア再生ライブラリがGUIツールキットなんだよ。
899 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 21:51:43 ] 普通の考えじゃん。頭おかしいんじゃね?
900 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 22:57:52 ] JOGLはこっちじゃない? pc11.2ch.net/test/read.cgi/tech/1033703640/
901 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 23:25:19 ] JOGLとJava3Dはまったくの別物だぞ・・・ むしろGLCanvasとかGLJPanelとかAWTとSwingの外部コンポーネントと考えれるからこっちだろと シンプルに描画だけのOpenGLの実装だからユーザーに全ての描画を任せるタイプで フルスタックで重いJava3Dとはかなり違う
902 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 23:44:31 ] JOGLはOpenGLスレで良いらしいぞ
903 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 00:32:48 ] OpenGL自体の知識はOpenGLスレが本筋 でもGLCanvasの挙動とかどうかんがえてもむこうの範疇ではないと思うんだが
904 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 00:49:50 ] JMFの話題についてけないゴミなんだろうな
905 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 02:38:13 ] スレチ
906 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:52:45 ] Java標準拡張のメディア再生フレームワークのどこがスレ違いなんだかw
907 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:57:23 ] スレタイ嫁アホ
908 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:58:04 ] 誰も答えられる奴がいないんだろう。フヌケばかりだしw
909 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:00:19 ] 自己紹介乙
910 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:06:22 ] >>909 フヌケw
911 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:09:12 ] 頭の弱い自治厨が沸いてるみたいだけど、前からJMFの話題は出てるから。
912 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:17:48 ] スレタイの読めない盲目がわいてるからスルーしろ
913 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:20:32 ] JMF涙目www
914 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:24:53 ] >>893 ライセンス読むと良いよ。 たしかRuntimeと同じ特例が適用されてたと思う。
915 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 17:18:55 ] そういえばJava Media APIのスレってないんだな。 JMFとJOGLは需要ありそうというか隔離しないと他で暴れるバカが出てきそうだけど。 JAIは実際に使ってるの見たことないな。 Java Media APIスレ立てたら誘導用くらいには機能するかね?
916 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:02:09 ] >>915 JMFはあってもよさそうなもんだなぁ… JOGLは…どの程度使われてるんだろ…?
917 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:18:28 ] ちなみにJava Media APIsはこんだけある ・Java Media Framework (JMF) ・Java Sound API ・Java 3D ・Java Binding for OpenGL(JOGL) ・Java Advanced Imaging(JAI) ・Java Image I/O ・Java 2D ・Java Speech API ・Java Telephony API(JTAPI) JMFとJava Advanced Imaging、Java Image I/O 、Java 2DはAWT/Swingコンポーネント関係ないなら分けた方が良いと思うんだけどな。
918 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:23:03 ] 使われてる割合JOGL>JMF 知名度JMF>JOGL 日本語リソースの多さJMF>JOGL じゃない? javaでゲームつくるとなるとJOGLは欠かせないけど、なきゃないでJava2Dで十分って感じ。 ゲ制のJavaでゲームつくるスレが落ちたからJOGL聞く場所がないんだよ。
919 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:31:48 ] >>918 javaでゲームつくるとなるとJOGLがほしい、ってのはわかるんだけど… そもそもPC向けゲームをつくるのにjavaを選ぶ理由がないよなぁとか思うわけですよ? その手のゲームって結構あるものなの?
920 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:32:44 ] コードに手を入れず入出力フォーマット増やしたいときに使うよ > JAI まぁバグも多いけど。
921 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:32:58 ] JOGLはOpenGLスレでもいいんじゃない ところでJMFとJOGLって比較するもんなのか…?
922 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:42:12 ] 別に比較したいわけじゃなくてスレたてるかどーすっかって話だろ。 需要的に考えると全部まとめて Java Media API スレとかでもいい気がするな。
923 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:48:58 ] ぐだぐだ言ってないでスレ立てればいいだろ
924 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:57:23 ] JOGLは2.0はサポートするけど1.3で拡張からコアに入ったAPIは混同するという理由で1.3で追加されたAPIはサポートされてないから迂闊にOpenGLスレいけないんだよ。 あとjavaでゲームつくるってのはかなり居る。 日本でもググレば出てくるし、海外はJOGL,JInput,JOALはセットでゲームつくるときに使う。 ただ、リソースは海外の方が多い。 だから日本語のリソースがないから英語読めないと何も出来ネ!ってなる。 俺も需要的にJava Media APIsで統一してスレ立てても良いと思うんだが・・・誘導・隔離用にw IIOとかJava soundはアプリケーションプログラマが直接いじる所って少ないしさ。
925 名前:デフォルトの名無しさん [2008/01/25(金) 20:08:13 ] JOGLって将来的に標準に入るって可能性ありますかね?
926 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 20:22:48 ] クライアント向けのJava標準拡張は全てが滅茶苦茶将来性がある。 根拠はJava 7に登場のJava Kernel、JAM、JavaFXあたり。これらは要チェック。 Java Sound本、最近でたね。つい衝動買いしたけど、まだ読んでなかったり。
927 名前:デフォルトの名無しさん [2008/01/25(金) 20:29:26 ] 工学社ってだけでなんか敬遠してたんだけど実際どうなんだろう・・・
928 名前:デフォルトの名無しさん [2008/01/25(金) 23:12:41 ] JOGLに将来性ある事は否定しないけど、まだ3年ぐらい先の話だろう。 つまり人柱。日本語のページも全然ないし。 あまり勧めたくはないけど、もしゲームで、かつwindowsなら、C#じゃないか?
929 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 23:26:44 ] あんな重いの話にならん。 1コア丸々使ってる箱○なら別だが
930 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:12:41 ] 【JMF】Java Media APIs【JOGL】 ttp://pc11.2ch.net/test/read.cgi/tech/1201346803/l50 スレ立てられなかったのでスレ立て依頼出してたのが立った。 今後はこちらでどうぞ。 スレタイには一番使われそうなJMFとJOGLを追加しといた。 ほかテンプレあれば書いて。 Java Media APIsはDesktop Javaの一部なんでJava SE以外のエディションやAndroidは関連スレから除外しといた。 ネイティブ依存なSWTも同様。
931 名前:デフォルトの名無しさん [2008/02/06(水) 00:48:21 ] で、いい加減そろそろ、JAIのメモリリークは直ったのか?
932 名前:デフォルトの名無しさん [2008/02/07(木) 21:21:18 ] 複数の Component の描画の順序(重なり具合)を任意に変えるには、 親コンテナ.remove(comp) / 親コンテナ.add(comp, index) もしくは getComponentZOrder(comp) / setComponentZOrder(comp, index) の組み合わせしか方法はありませんか? Component のほうが、自立的に一歩前進、とか、一歩後退、みたいな仕掛け、ありませんかね…? たとえば、大、小の円がそれぞれ component だったとして、 それを、drag で、重ねたときに、◎になるようにするしたいんですが。 (2つに限らず、3つ、4つでもいけるように) getComponents してループさせて入れ替え、しかないでしょうか。
933 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 21:49:59 ] JLayerdPaneを増やして載っけるとか。
934 名前:932 [2008/02/07(木) 22:13:16 ] >>933 おぉ、JLayeredPane、忘れてましたw duke 君のデモソースはチェックしたのに、なにしてんだ>自分 そういう Pane がある、ということは裏を返すと Container/Component には、あまり気の利いた順序変更の手段はないんですかね。 ひきつづき、つっこみ・ご意見お待ちしております。
935 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:38:09 ] 実際のところ重なりの順序を動的に変えたいことってあるの? それが必要なパターンが想像できないんだが。
936 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:52:22 ] CardLayoutでもいいんじゃね?
937 名前:932 [2008/02/07(木) 23:03:27 ] レス、どうもです。 >>935 ビジネスアプリケーションじゃなくて、えと・・・ ゲームでキャラが重なる、みたいなヤツを思い浮かべてください。 >>936 CardLayoutは、ノーチェックでした。 リファレンスをチェックしてきますノシ
938 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:06:39 ] >>937 ゲームのようなやつならSwingつかわずにJava2D等で描画したほうがいいよ 速度的にもメリットが薄い
939 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:41:33 ] SwingよりJava2DじゃなくてSwingよりAWTでJava2Dじゃね? Java2DよりJOGLの方がry
940 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:43:46 ] Java2D って Swing じゃないのか?
941 名前:932 [2008/02/07(木) 23:46:41 ] >>936 CardLayout、あとは自分で動作とか確認しますが、リファレンス曰く、 「コンテナ内の各コンポーネントをカードとして扱います。一度に 1 枚のカードだけを表示し…」 う、1枚では困るぅ〜。 >>938 Java2D にそんなに詳しくないのですが、 ゲームのキャラでなく、(バーチャル環境の)アバターみたいのヤツを 前後(奥行き)に操作する、といったような例だとどうでしょうか。 イメージのまま取り回すのは管理が大変かなぁ、とビビッているのですが…。 設計次第ですかねぇ。 速度の要望はそんなにシビアでないです。
942 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:11:39 ] >>940 違うAWT、Swing,Java2Dは同じ層にあるUser InterFace Toolkits。 AWTはAWT,SwingはSwing,Java2DはJava MediaのAPI。 そもそもAWTは重量WindowToolkitでSwingはJava2Dを使った軽量WindowToolkitだろ。 Java2Dは2D描画ライブラリ。 javadoc嫁。
943 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:23:42 ] >>939 JOGLいいけど、テクスチャを単純に表示するのが目的ならそこまで必要ないと思う プラットフォームによってパッケージが違うのもやっかいだし、Line引くときたぶんはまる Java2Dはαブレンディングがまともに実装されていないのがきついかな おかげでゲームで使うときはJOGL必須だ >>941 その動かすキャラクターの動く範囲は? Window内をじゆうじざいにということでないのなら、 その描画はJava2Dによる重ね合わせのほうが難易度は低いと思う
944 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:38:19 ] αブレンドなぁ。結局Java2Dだとハードウェアアクセラレータ効かないんだよな。 JOGL1.1ならcom.sun.opengl.util.j2dが追加されたから BufferStrategyと同じ感覚で使えるんだけどcom.sunパッケージは嫌い?
945 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:07:08 ] レイヤードペインの話題が見えたので便乗 1.JFrameのgetLayeredPane()に直接JLabelとか貼り付けて遊んでた。 2.この状態で、ポップアップメニュー出したら、表示されなかった。 3.マウスをずるずる動かして、見えないメニューの上を通過させるとメニューが表示された。 ※メニューが「パッ」と全部表示されるんじゃなくて、 マウスが乗っかったメニューアイテムが1つずつ表示される。 4.JLabelを乗せるレイヤーを変えても問題は解決しなかった。 そもそも1.の使い方がナンセンスなのか。 レイヤードペインとポップアップは気をつける何かがあるのか。 誰か知ってる人がいたら教えてください。
946 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 04:07:33 ] 混ぜるな危険じゃない?
947 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 08:21:43 ] ポップアップってどっかのレイヤーの上に描画されるんだっけ? GlassPane?
948 名前:デフォルトの名無しさん [2008/02/08(金) 09:58:10 ] おはようございます。932,941でございます。 とりあえず、LayeredPane を導入してみますデス。 もう一個、教えてくんです・・・。 contains(int x, int y) メソッドって、 リスナーにしなくても mouseEntered なとき(Component 上に マウスカーソルがあると)、勝手に呼ばれるようですが、 それでよいです??? Documented な仕様ですか? override して使わないほうがよさそうですよね。override しちゃだめ? だったら final にして〜〜。
949 名前:デフォルトの名無しさん [2008/02/08(金) 18:15:56 ] >>947 描画される順番の問題。 GlassPaneは自分で描画しない限り何もない。 GlassPaneでイベント握り潰せば結果的にGUIをブロックできる。
950 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 18:21:08 ] >>947 layeredPane の POPUP_LAYER じゃない?
951 名前:945 mailto:sage [2008/02/09(土) 00:25:29 ] 追記 JLabelにアニメーションGIFを表示させた場合、 絵が書き換わるたびに、マウスずらしで表示させた ポップアップメニューが消されたw ・JLabelに文字を表示させた場合 ・普通にコンテンツペインにJLabelを置いた場合 この状態での実験も。。。今度やってみる
952 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:06:14 ] どうしてもバグければ JPopupMenu#setLightWeightPopupEnabled を false にしてみる手も
953 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:47:18 ] バグ-ける
954 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:59:19 ] その活用形はおかしい バグ-かろう バグ-かった バグ-くない バグ-い バグ-ければ
955 名前:948 [2008/02/09(土) 13:01:03 ] 昨日、速攻、JLayeredPane 組み入れました。 気がついたのは、 より上位の Layer のコンポーネントが、より下位のコンポーネントを 完全に覆い隠すと(感覚的にいうと lower.getBounds() < upper.getBounds()) のとき下位のコンポーネントが描画されない(消える) つーことがありました。 理屈としては、そのほうが、高速化が図れるのかもしれないけど、 上位の矩形のイメージが透明化されてるときちょっと困るんだけどなぁ。
956 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 13:38:19 ] >>955 上位レイヤのコンポーネントでsetOpaque(false)でどう?
957 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 13:41:41 ] setOpaque(false) してる?
958 名前:948 [2008/02/09(土) 15:38:21 ] >>956 ,957 レス、どうもです。 setOpaque() してると思うんですが、今日は、職場でないので 確認できないっす。火曜日にチェックします! みなさんは休出っすか?
959 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:41:04 ] >>958 は 3 回くらい死んでも良いと思う
960 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:30:57 ] つーか自宅にPCないんか
961 名前:945 mailto:sage [2008/02/10(日) 03:09:13 ] おいおい、会社で趣味プログラミングかよw それはともかく、>>952 さんありがとうございます。 ポップアップでまくりですよ。 そして、実験の報告。 >・JLabelに文字を表示させた場合 結果:× レイヤードペインに文字ばっかりのJLabelを乗せてみた。 文字の後ろにメニューがでた。文字の隙間からメニューが見えてるw マウス動かすと文字の前に来るあたりの挙動は一緒。 >・普通にコンテンツペインにJLabelを置いた場合 結果:○ 当たり前か。
962 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:28:37 ] 現在TransferHandlerを用いてJTreeにコピーアンドペーストの機能を付加しています。 同様のアクションをJPopupMenuにも加えたいのですが、どのようにすればよいでしょうか? CTRL C, CTRL Vではうまくいくのですが、JPopupMenuからアクションを行うと、ソースが変わってしまいだめなようなのです。 TransferHandlerのcopyのアクションのコードを見てみると、アクションソースがJComponentのインスタンスでなければ弾いているのが原因のようです。 そこで // a:TransferHandlerのアクション private Action createAnotherSourceAction(final Action a,final Object src){ return new AbstractAction(){ public void actionPerformed(ActionEvent e) { e.setSource(src); a.actionPerformed(e); } }; } こんな感じで新たに生成してやるとうまくいくのですが、わざわざ作り直すのは抵抗があって・・・ 何か打開策がありましたらご教授ください。
963 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:16:03 ] >>962 アクションが操作対象となるJTreeのインスタンスを持てばいいだけじゃないのか?
964 名前:962 mailto:sage [2008/02/15(金) 09:33:09 ] 聞いておきながら遅くなってしまってすみません。 JComponentのインスタンスでなければ弾いているので、そもそもアクションまで起こっていないんです。 CopyActionくらい自分で実装して、>>963 さんのおっしゃるように対応したコンポーネントのインスタンスを持たせていた方がいいかもしれないですね。 ありがとうございました。
965 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 11:27:45 ] 例えばリストにTransferHandlerを設定するとき、COPYなのかMOVEなのかCUTなのか判定させたいときどのようにすればよいのでしょうか? それを実装するコンポーネントでどのようなアクションを取ったかを調べられれば問題ないのですが、それがMouse系のリスナーではスマートに調べられなくて困っています。 教えください。
966 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 11:36:04 ] 勘違いしていました。 何十回か氏んできます。
967 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:38:09 ] GUIのデザイナはなかなか決定的なものがないようなのですが、 メジャーどころだとNetbeans付属のものやVisual Editorがありますよね。 ほかにもJformDesignerや、jvilderなどがあるようです。 みなさん、GUI開発にはどんなツールをお使いですか?
968 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:48:00 ] テキストエディタで手書きしてまつ・・・
969 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:51:42 ] jiglooがなかなかおすすめ。 慣れないうちは思うようにデザインできないけど慣れたらかなり使いやすいかも
970 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:54:49 ] 私はVisual Editor。でも、ちょっとコンポーネント置いただけですぐ 1000行ぐらいいっちゃうのがちょっとアレですが。 jiglooは冗長にならないように書けます?
971 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:28:06 ] Visual EditorってGroupLayoutサポートしてましたっけ? あれ使えばそんなに冗長にはならないですよ 個人的に一つ一つのコンポーネントのプロパティ設定で勝手にブロックで囲んでくれてるのが見やすくて好きです。
972 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:50:00 ] 残念、Visual EditorにはGroupLayoutのサポートはまだないみたいです。 他のデザイナを試してみることにしましょう。Jiglooか、もうNetbeansかな。 EclipseのプラグインでWindowBuilderというのもこれに対応しているようですが、 日本で使ってる人があまりいなさそう・・・
973 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:39:26 ] ソースコード生成するんじゃなくてXAML式に 書けるGUIデザイナが欲しすぎる。
974 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:14:14 ] リファクタリングとかソースとの動機が取れなくなりそうだ
975 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:54:12 ] 一般ブラウザ並みに JTextPane 強化して HTML ベースで GUI 組めるようにしたほうが 何かと合理的。
976 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:02:31 ] それはねーよ 細かいイベント等制御するためのSwingなんじゃねーか HTMLベースでいいのならWEBアプリにするだろ
977 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:11:07 ] onmouseover などからイベントリスナ呼びゃいい話でしょ。必要なら追加すりゃいいし。 Web 開発の資産やスキル転用できるし、単純にブラウザコンポーネントとしても転用も可能。 まじめに考えてるわけではないのでカスタムコンポーネントの追加方法なんか考慮する 必要はあるが、そんな頭から否定されるほど悪い話ではないと思うが。
978 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:27:11 ] そんなの全く考えたことなかったから結構新鮮だわw まぁ今の環境で満足だし、そこまで外部化してしまわなくてもいい気もするなぁー
979 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 17:43:06 ] GUIコンポーネントは宣言的に置くようにしてロジックは別にしたいってことでしょ JavaFXがやろうとしてるんじゃないかな ただXMLベースじゃないみたいだけど
980 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 17:49:05 ] そこまでWeb開発の資産やスキルを転用したいのなら、 スタンドアロンアプリでTomcat動して、UIはブラウザ、ってすればいいんじゃね?
981 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:09:12 ] アプレットや Web Start とかで使えねんじゃ。
982 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:14:29 ] XULを再発明したいのか
983 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:37:25 ] JSP や JDBC を再発明と言う? 別に XUL の Java 実装でも良いけど。
984 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:46:16 ] あ、いやこの話はそろそろやめる。
985 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 19:19:48 ] >>977 scriptのIDEサポートとかJavaのほかに別言語を覚えないといけないとか そもそもブラウザによって違いがあるというのに・・・ ボタンクリック等のイベント程度でいいのなら別にかまわんとおもうけど
986 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 21:36:38 ] XMLは長ったらしすぎるので すっきりとロジックと融合したGUIが宣言ベースでかけるというのが 売りなのでしょう。 ただ、いまいち方向性が分からないというのは・・・。
987 名前:デフォルトの名無しさん [2008/02/24(日) 21:57:42 ] SWTスレとマルチで失礼します。 クライアント側のJavaで、RTF文章を何らかの形で表示(編集できなくてもOKです)させたいのですが、 JEditorPaneはあまりにも古すぎてJREに同梱されているLICENSE_ja.rtfすらマトモに読めない、という 情けないことになっています。他に何らかの代替/回避方法はないのでしょうか?
988 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:01:37 ] RTFをパースして使えるコンポーネントに流し込むところを自作する
989 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:06:57 ] うふふw鬼ww
990 名前:987 mailto:sage [2008/02/26(火) 10:29:05 ] >>988 >>989 いや、マジメな話、(ライブラリ等を使うかは別にして)今のところ、ググって引っかかるのはそのアプローチしかないみたい。 もう少し簡単な方法がないかと思って質問してみたのですがね(笑
991 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:43:02 ] SWT なら OLE でハメ込めるんじゃなかったっけ?
992 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:48:04 ] いまどきそれだけのためにSWT使うってのもなぁ
993 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 01:57:15 ] 非常に抽象的な質問で申し訳ないのですが、スクロール可能なコンポーネントを作る際、Scrollableを実装するだけではだめなのでしょうか? 単純に実装してJScrollPaneにのっけてやるだけでは、実装したメソッドのうち、 getScrollableTracksViewportHeight() getScrollableTracksViewportWidth() の二つは呼び出されるのですが、肝心の getPreferredScrollableViewportSize() が呼び出されないのです。 どうしてでしょうか?
994 名前:デフォルトの名無しさん [2008/02/28(木) 03:04:21 ] みんなBoxLayoutはつかってないのか? ほとんどこれ1本でやってるんだけど。
995 名前:デフォルトの名無しさん [2008/02/28(木) 03:21:59 ] > 993 getPreferredSize()はどう実装している?
996 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 08:45:59 ] >>995 すみません。寝ぼけてたようで、 getScrollableTracksViewportHeight() getScrollableTracksViewportWidth() の判定で必ずtrueがかえってしまうようになってしまってました。 というわけでスレ汚してしまったのでお詫びに次スレ建ててきました・・・が、タイトル間違えてしまいました。 本当にすみません。板まで汚してしまったみたいです。 pc11.2ch.net/test/read.cgi/tech/1204155623/
997 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 17:48:07 ] 1レス埋めて去る。
998 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 18:54:53 ] ところで次スレは上の見すったやつ使うの? せっかくスレタイ変えたのに
999 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 19:24:19 ] っと、気づいたらもう999かよ
1000 名前:デフォルトの名無しさん [2008/03/01(土) 19:25:58 ] 上野でいいじゃん 細かいこと気にするなよ
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。