07/12/16 21:48:11
>>633
654:_
07/12/19 14:53:45
combodata = {"a", "b", "c","d"};
・
・
・
private void Combo1ActionPerformed(java.awt.event.ActionEvent evt) {
if (Combo1.getSelectedItem().equals("a")||Combo1.getSelectedItem().equals("b")){
Combo2.setEnabled(true);
}
else{
Combo2.setEnabled(false);
}
}
Combo1でaかbが選択された場合はCombo2が有効で
Combo2でcかdが選択された場合はCombo2が無効になるようにしたいのですが
上のやり方だとaを選ぶとCombo2は有効になるんですがaを選んだ後にcに変更すると
Combo2は無効にならずに有効のままになってしまいます.
同じようにcを選ぶと無効になるんですがその後にaを選ぶと無効のままになってしまいます.
これを直す方法を教えていただけないでしょうか?お願いします.
655:デフォルトの名無しさん
07/12/19 15:17:46
いくつか突っ込みどころがあるから最初からやり直した方が早い。
656:デフォルトの名無しさん
07/12/20 03:59:56
最初からやり直すというか、紙の上で状態遷移を考えた方がいい。
自分の言ってる矛盾に気付けるから。
657:デフォルトの名無しさん
07/12/20 08:13:43
>Combo1でaかbが選択された場合はCombo2が有効で
>Combo2でcかdが選択された場合はCombo2が無効になるようにしたいのですが
下のCombo2はCombo1の間違えだよね?
658:デフォルトの名無しさん
07/12/20 08:46:01
Combo1の間違えでした.
Combo1の状態に応じてCombo2の有効,無効が変化する
物をつくりたいんですが教えていただけないでしょうか
659:デフォルトの名無しさん
07/12/20 09:23:02
combo2.setVisible(false);
これでは駄目なの?
660:_
07/12/20 11:53:34
上のやり方だとaを選ぶとCombo2は有効になるんですがaを選んだ後にcに変更すると
Combo2は無効にならずに有効のままになってしまいます.
同じようにcを選ぶと無効になるんですがその後にaを選ぶと無効のままになってしまいます.
最初の選択では上手くいくんですが選択を変更すると変化してくれないんです。
661:デフォルトの名無しさん
07/12/20 12:45:54
まず、そもそもCombo1ActionPerformedメソッドが実行されてるのかどうかを確かめるんだ。
実行されてるなら、そのときCombo1.getSelectedItem()の値が実際は何になっているのかを確かめるんだ。
662:_
07/12/20 13:07:41
Combo1でaを選ぶとCombo1ActionPerformedメソッドが実行されてCombo1.getSelectedItem()の値は
aになっているんですがその後にCombo1でcを選んでもCombo1ActionPerformedメソッドが実行されてません
続けて選んだ場合にもCombo1ActionPerformedメソッドが実行されるようにするにはどうすればよいのでしょうか?
663:デフォルトの名無しさん
07/12/20 13:44:37
>>662
実行されてないのをSystem.out.println文で確認した?
664:_
07/12/20 16:00:32
確認しました
コンボボックスを変更してもActionPerformedにいってくれないようです
665:デフォルトの名無しさん
07/12/20 17:13:44
ActionListenerをやめて、ListDataListenerでComboBoxModelの変更を捕らえてみたらどう
666:デフォルトの名無しさん
07/12/20 19:48:40
おい、おまいら。
SwingApplicationFramework使ってますか?
667:デフォルトの名無しさん
07/12/20 19:57:08
使ってません。
あれって便利なの?
668:デフォルトの名無しさん
07/12/20 20:00:15
使ってみようと、Netbeansでプロジェクトを作った。
でも、どうするものかいまいちピンときていない。
Actionの管理をしてくれるのはいいんだけどちょっと縛りがきついなぁと感じた。
IDE無しでは複雑過ぎる気がする。
669:デフォルトの名無しさん
07/12/20 20:57:09
IDEなしでの比較だとアクションイベントを書くのはフレームワーク使ったほうが楽
アプリケーションの起動時と終了時に処理が書けるようになるとかはまぁあればあったでいいという程度
ただアノテーションつかってそれの名称を文字列で記述ってのは実行時エラーの可能性が増えるから
静的言語としてはどうかなぁというのが多い
Web方面のフレームワークもだけどね
Springとか最新版ですら1.4とか過去の互換性のために文字列を使うことが多すぎ
enumきっちりつかってくれよと思うことは多いかな
670:デフォルトの名無しさん
07/12/21 00:39:19
IDEなしということはGUIエディタも使わずにSwingのアプリを作るってこと?
本で紹介するサンプルコードならともかく、本格的なもの作るなら論外だと思えるけど。
671:デフォルトの名無しさん
07/12/21 00:42:07
別に普通に行われてることですが
672:デフォルトの名無しさん
07/12/21 00:42:42
そりゃお気の毒
673:デフォルトの名無しさん
07/12/21 00:47:11
本格的なものを作るならフォームエディタなんて使わないと思うが。
674:デフォルトの名無しさん
07/12/21 00:58:40
>>670
逆じゃないの?
675:デフォルトの名無しさん
07/12/21 01:00:16
IDEサポートなしと読めばいいじゃない。
676:デフォルトの名無しさん
07/12/21 01:02:26
>>673-674
はいはいwノシ
677:デフォルトの名無しさん
07/12/21 01:04:17
最近Javaから離れて久しいが、GroupLayoutはツールなしで使うのは
辛いと聞いたことがあるな。
678:デフォルトの名無しさん
07/12/21 07:36:04
670にとって本格的なものってのは
テキストフィールド2つにボタンひとつ。
679:デフォルトの名無しさん
07/12/21 08:34:45
IDEなしじゃ何もできないって人は、素のHTMLをいじれない人と「使えない」って点で似てる
680:デフォルトの名無しさん
07/12/21 11:03:39
ここでは何もできない人の話はしてないね。
681:デフォルトの名無しさん
07/12/21 11:05:03
>>678の煽りの程度の低さに絶望した
もっとまともな指摘があるのかと思った。
682:デフォルトの名無しさん
07/12/21 11:10:10
仕事でレイアウトマネージャって使っています?
683:デフォルトの名無しさん
07/12/21 11:12:54
使うよ
684:デフォルトの名無しさん
07/12/21 11:45:21
やっぱ普通使うよね
絶対座標ばっかだ・・・
685:デフォルトの名無しさん
07/12/21 12:29:53
>>679
効率よく出来るかどうかだから。
仕事ならDreamWeaverとか使わないでHTML生成してるアホはいらんね。
ペイントあればフォトショップ等いらないでしょ?とか
テキストエディタでPDF作れるでしょ?といってるのとかわらんな。
>>684
せめてNetBeansに付属の伝統のAbsoluteLayout使ってね。
Nullはだめだぞ。
686:デフォルトの名無しさん
07/12/21 12:52:28
親切な香具師だな。
土を手で耕したいという土民なんかほっとけばいいのに。w
687:デフォルトの名無しさん
07/12/21 12:57:29
なんかバカがいるな。
688:デフォルトの名無しさん
07/12/21 13:33:04
仕事ではGridBagLayoutが基本かな・・・
NetbeansのGridBagLayoutのエディタが無いと仕事にならんね・・・・
もうちょっと進化してくれても恨まないけど・・・・
複数のレイアウトマネージャを組み合わせて、
がちっと作り込むのは実はむしろ趣味のほうだったりする。
それでも、GridBag,Groupを手で書くのは調整くらいはできても、まぁ正直無理。
689:デフォルトの名無しさん
07/12/21 13:37:50
レイアウトマネージャの組み合わせはわりと普通に使う
ただ、GropuLayoutがでてしまったおかげでほとんどそれ1本でいけるようになっちまった
690:デフォルトの名無しさん
07/12/21 13:47:57
GropuLayoutはいいよね。使いたい。
でもそのためにはJavaのバージョンを6にしないとだめなんだよなー
まだ1.4だしなー
先は長いな・・・
691:デフォルトの名無しさん
07/12/21 13:50:37
GropuLayout
692:デフォルトの名無しさん
07/12/21 13:58:22
パッケージが違っていいのなら1.4から使えた希ガス。
5.0からだったかな?
来年登場予定のJavaSE7がでると1.4は保守されなくなるから。
保守契約結んでいるなら5.0以上でも動くようにしていったほうがいいね。
693:デフォルトの名無しさん
07/12/21 16:55:49
1.4はとっくにEOL。jdk7が出てから死ぬのは1.4.2
694:デフォルトの名無しさん
07/12/21 19:39:20
GroupLayoutが出たときにEclipseからNetBeansに乗り換えようかなと考えたけど
GroupLayoutが、考え方が非常に明快な上に
頭で考えたことを素直に反映できる優秀なレイアウトだったので、やめた
695:デフォルトの名無しさん
07/12/21 19:40:22
なんじゃそりゃ
696:デフォルトの名無しさん
07/12/21 19:45:29
難読化
697:デフォルトの名無しさん
07/12/21 19:50:41
IDEなしじゃGUIも扱えない奴ってどうなん?
JTableとかテキストフィールドで再現してそう
698:デフォルトの名無しさん
07/12/21 19:56:51
それはないだろ
699:デフォルトの名無しさん
07/12/21 20:16:43
無知の自覚がない無知は無知のまま放置がベスト
700:デフォルトの名無しさん
07/12/21 21:17:20
>>670
GUIエディタは便利だけど、業務アプリでそういうのでサックリ作っちゃうと
後々火を吹くから俺のPjでは使わない。
>>685
イタイな
701:デフォルトの名無しさん
07/12/21 21:46:14
GroupLayoutってさ、vGroupとかhGroupとか使ってコンポーネントのレイアウトを決めるわけだけど、
なんか冗長な記述だよな。これは仕方ないのか?
702:デフォルトの名無しさん
07/12/21 21:46:20
>>700
GUIに頼らずにどこまでできるかで、決定的な差が出る場面ってあるからね。
このスレではアマチュアが多いのか、あまり良く分かってない人が多いようだけど。
703:デフォルトの名無しさん
07/12/21 22:05:17
>>700
えぢたを使って火を噴くって例えばどんなの?
704:デフォルトの名無しさん
07/12/21 22:21:03
ロジックを画面実装で埋め込ませなければ大丈夫じゃないか?
ウチではハンドラをあとからインジェクションする仕組みで使ってるが・・・
705:デフォルトの名無しさん
07/12/21 22:24:13
>>704
確かにそうだね。
完全にGUI担当者がデザイナと化してくれれば問題はないよね。
あとは、GUI担当者が皆一様の作法を身につけてくれることが重要かな。
そのためにもGUIデザインのためのフレームワークみたいなものは欲しいね。
706:デフォルトの名無しさん
07/12/21 22:27:10
SwingApplicationFramework
707:デフォルトの名無しさん
07/12/21 23:59:58
デザイン関係ない
708:デフォルトの名無しさん
07/12/22 06:26:42
GUIエディタ使って火噴くって、どんだけ低レベルなんだよ
709:デフォルトの名無しさん
07/12/22 07:39:23
>>708
おまえ程低くないと思うよ。
710:デフォルトの名無しさん
07/12/22 08:06:29
煽りあいしかできないのか。ちょっとは期待してたんだが。
711:デフォルトの名無しさん
07/12/22 12:13:06
>>706
それはどっちかというとGUIアプリの処理手順をフレームワーク化してるよね
ちょっとわかりにくいかもだけど、俺がいいたいのは、「GUIデザイン」部分のフレームワーク。
そういうのがあったらいいなぁなんてオモタわけ。
うーん伝わらないか。。。
712:デフォルトの名無しさん
07/12/22 12:45:00
>>700をはじめとして釣りがまざってるので注意
713:デフォルトの名無しさん
07/12/22 15:44:41
IDEがないと何も出来ません><ってやつが大勢を得る事なんてないから黙ってようね
714:デフォルトの名無しさん
07/12/22 16:01:58
原因不明のバグが出たらとりあえず全部調べるんじゃね
715:デフォルトの名無しさん
07/12/22 16:22:38
IDEていうかGUIビルダみたいなRADのこと言ってんだろ湧いて来る厨は。
716:デフォルトの名無しさん
07/12/22 16:26:24
せいぜいメインウィンドウのメニューや、そこから辿れる設定ダイアログまでだな。
3ペインアプリとかは手書きじゃないと満足いくものはできないだろ
717:デフォルトの名無しさん
07/12/22 16:32:42
3ペインなら今手書きで作ってるが・・・。
718:デフォルトの名無しさん
07/12/22 18:37:38
GUIエディタ使うってのは、業務アプリの画面とかダイアログだろ。
719:デフォルトの名無しさん
07/12/22 18:39:31
IDEじゃ何もできません><ってやつは使い物にならんよなぁ。
ツール使えばすぐできることを、なんだかんだいいながら手書きでやるんだけど、無駄に時間かかるし古い機能しか使ってなかったり。
720:デフォルトの名無しさん
07/12/22 18:46:41
>>718
なるほどね。業務アプリって画面びっしりコントロールをつけるからなw
721:デフォルトの名無しさん
07/12/22 19:00:30
>>719
まともなコードが書けるかどうかが重要であって、
IDEの使用経験の有無は大した問題じゃない気がする
IDE使ったことない奴には使い方を教えてやるだけで済むが、
プログラミングのセンスがない奴はいくら教えてもどうにもならん
722:デフォルトの名無しさん
07/12/22 19:10:38
もういいからVB使っとけよ。
723:デフォルトの名無しさん
07/12/22 19:11:51
VBにSwingってあるの?
724:デフォルトの名無しさん
07/12/22 19:15:21
>>721
でもIDEの慣れの差はやはり大きい
NetBeansを長年使ってきた人はさくさくつくれるけど、
Eclipseしか触ってこなかった人は開発効率が悪い
1,2年たつと違うんだろうけどね
725:デフォルトの名無しさん
07/12/22 19:17:27
>>724
結局それがいいたかっただけか。
マジレスしなくてよかった。
726:デフォルトの名無しさん
07/12/22 19:19:44
>>725
俺今日はじめて書きこんだんけど
727:デフォルトの名無しさん
07/12/22 20:00:38
業務アプリだと、こんな感じで入力項目があるからな。
URLリンク(www.epson.jp)
ツール使わずにやるのは非効率極まりない。
728:デフォルトの名無しさん
07/12/22 20:45:36
>>727
俺が仕事で作ってる業務アプリは、こんなもんじゃねーぞ・・・
タブで分かれて細かい設定項目が山のようにある。
あんなの手書きしてたら気が狂うわ。
729:デフォルトの名無しさん
07/12/22 20:48:02
普通に100個ぐらいコンポーネントあるよね
730:デフォルトの名無しさん
07/12/22 21:12:10
まだ言い合ってるのか。お前らも飽きないな
731:デフォルトの名無しさん
07/12/22 21:22:46
業務アプリじゃJTableやJTreeはめったに登場しないしな
そういう人らは使えばいいんじゃない?
732:デフォルトの名無しさん
07/12/22 21:24:25
JTableは使用しまくりだよ
733:デフォルトの名無しさん
07/12/22 21:32:13
>>731
JTable使いまくりだけど・・・
検索結果を大量に表示したりせんの?
まあ、めったにJTreeは使わんけど。
734:デフォルトの名無しさん
07/12/22 22:44:43
テーブルがでてこないアプリってあるか?
ツリーはあんまりないけど
735:デフォルトの名無しさん
07/12/22 22:53:20
個人開発だけどツリーの方がよく使う。JTableはスプレッドシートだから業務アプリでよく使うんじゃない?
736:デフォルトの名無しさん
07/12/23 01:19:09
アプリ毎で性格違うんだから、自分の携わったプロジェクトの経験だけあげてもしかたない。
でも、部品の利用のされ方ってのは興味深いな。
アプリで使われてる場面がどれくらいあるのか、
JTableなんかのレンダラとかもどうされてるか気になる。
デフォルトで行ける場面ってどれくらいあるのかとか。
Swingのデフォルト部品って、あと一味足りないみたいなとこあるからなぁ。
というか、特にJTableに感じるんだけど。
(表の真ん中にスクロールバー付けたいなぁ、とか)
737:
07/12/23 03:03:49
Swingでキャッチされない例外が起きてもプログラムは終了しませんよね。
エクリプスとかで走らせてるとoutputに表示されるけど、コマンドプロンプトから走らせるとキャッチされない例外が起きてるのが分かりません。
これを知るにはどうしたらいいのですか?
検出してログをとるなり、メッセージダイアログを表示するなりしたいんです。
738:デフォルトの名無しさん
07/12/23 05:31:30
sun.awt.exception.handler で検索汁
739:デフォルトの名無しさん
07/12/23 11:06:01
throwsして無けりゃなんか表示するとおもう
740:デフォルトの名無しさん
07/12/23 11:13:30
>>736
> 表の真ん中にスクロールバー付けたいなぁ
それは一味も二味も違うだろ w
それができるテーブルコントロールなんて他の言語でも見たこと無いけど。
まあ、俺なら二つのテーブルを並べて、スクロールを同期させるかな。
741:デフォルトの名無しさん
07/12/23 11:42:12
>>738
どうもありがとうございます!
>>739
jarにしてダブルクリックで起動したりもするので、windowsだと何も表示されないのです。
742:デフォルトの名無しさん
07/12/23 16:28:19
>>741
java -jar file.jar
と「ファイル名を指定して実行(R)..」すれば
例外は全部コンソールに表示される
743:デフォルトの名無しさん
07/12/23 19:40:17
というか例外はアプリケーションのどっかの層で拾って
ユーザーにGUIで見せて後は処理続けるかどうかは状況次第っていうように組むもんだが。
System.errにテキストコンポーネント突っ込んでやると楽。
744:デフォルトの名無しさん
07/12/24 00:02:41
>>743
その、「アプリケーションのどっか」にこないから問題っていってるんじゃねぇの?
738で解決するようだけど。
745:デフォルトの名無しさん
07/12/24 01:58:17
例外の対応は場所によって個別対応するしかないよ。
問題ない例外なのかそうでないのかは単純に判断できないし。
運用時ならテキストファイルにログを書き出しておいてそこをメールで添付させるように促すとか
画面のスナップショットを自動でとってdesktopに自動でbmp作ってそれを添付させるとか
まぁいろんな方法があるわな。
746:デフォルトの名無しさん
07/12/24 14:15:13
NetBeans6.0ってJTable使うのにほとんどの場合面倒な設定を直書きしなくてよくなったのな。
新機能であまり取り上げられていないけどこれはすごいな。
747:デフォルトの名無しさん
07/12/25 14:46:26
SwingでPopup形式でJPanelとかJTableとかを表示したいのですが、どう書けばよいでしょうか?
748:デフォルトの名無しさん
07/12/25 15:34:33
複雑なロジックの入ったものならポップアップよりダイアログにするほうがいいけど、ポップアップじゃないとダメ?
JDialogを普通に使うほうがいい場合もあると思うけど。
JPopupMenuは想定される素の状態だとメニューバーと同じくアクションボタンを並べるものだけど
例によって自由にカスタマイズできるので継承するといいかも。
749:デフォルトの名無しさん
07/12/25 15:41:53
>>748
JFrameの上に出せるWindowなら何でも良いというくらいの意味だったんですが、Dialogでやろうと思います。
JPopupMenuがカスタマイズできるとは知りませんでした。ありがとうございます。
750:デフォルトの名無しさん
07/12/26 00:00:31
Swing Application Framework でメニューバーとかツールバーを実装する場合の作法を教えてちょ。
751:デフォルトの名無しさん
07/12/26 00:26:58
>>750
NetBeansでデスクトップアプリケーションで作ると
メインフレームがメニューとか作られるから参考にするとよろし
752:デフォルトの名無しさん
07/12/26 00:29:32
>>751
サンクス。
いつもEclipseばっかり使ってたもんで、NetBeansには疎いんですが、
機能的には遜色ないですかね?
Eclipseでいうところの「呼び出し階層を開く」とかそういうのはありますかね?よく使う機能なので。
753:デフォルトの名無しさん
07/12/26 01:25:27
宣言をしてる場所にとんだりする機能?
CTRL+クリックでとぶよ
キー操作だけだとどこだったかはわすれたけどEclipseと同じキー設定もあったような気がする
乗換えとかじゃなくて参考に出来ればよいと考えるといいかも
でも、GUIアプリ開発とWebアプリ開発が目的なら乗り換えるほうが楽だと思う
Swing Application Framework対応していて、@Actionとかぜんぶやってくれるよ
754:デフォルトの名無しさん
07/12/26 08:37:12
>>753
そっちの機能じゃなくて、選択したメソッドがどこから呼び出されているかを一覧する機能。
かなり重宝してる機能なのであったらいいんだけど。
755:デフォルトの名無しさん
07/12/26 13:14:07
呼び出し元なら普通に昔からあるけど。
756:デフォルトの名無しさん
07/12/27 00:09:33
あるオブジェクトをある場所に移動させていきたい時に、
オブジェクトのxとyを少しづつ変化させているんですけど、どうやるのがベターですかね?
オブジェクトはいろんな場所に発生するので、
if (x > 行き先X) {
757:デフォルトの名無しさん
07/12/27 00:10:11
すいません 途中でした。
続き
if (x > 行き先X) {
758:デフォルトの名無しさん
07/12/27 00:13:28
すいません 途中でした。
続き
if (x > 行き先X) {
x -= 5;
} else {
x += 5;
}
if (y > 行き先Y) {
y -= 5;
} else {
y += 5;
}
こうやってるんですけど、こうするとxかyのどちらかが行き先に到達した場合に、
ぷるぷる震えた感じになっちゃうんですけど、なにかうまい方法ありますかね?
759:デフォルトの名無しさん
07/12/27 00:13:37
それはSwingの問題なのか??
760:デフォルトの名無しさん
07/12/27 00:15:21
単に行き先Xや行き先Yが5の倍数じゃないんじゃね?
761:758
07/12/27 00:18:36
>>760
そうですちょうど倍数じゃないときで、移動距離を1にしたくない場合、
どういうロジックが考えられますか?
762:デフォルトの名無しさん
07/12/27 00:34:37
>>761
それぐらい、自分で考えろよ・・・・
つかスレ違い。
763:デフォルトの名無しさん
07/12/27 00:40:10
Math.abs() 絶対値
差が5に満たない場合
差の分だけ移動
既に目的地に到達してたら チェックはしない。
移動距離の5は定数にしようかな
思った事を書いてみた。
俺は寝る、がんばれ。
764:758
07/12/27 00:41:06
そうですか
表示上の問題だと思ったんでここで聞いたんですが・・・
xflagとyflagを作って、&で到達チェックするとか考えたんですけど、
スマートじゃないんですよね
たとえばどんなのが考えられますかね?
765:758
07/12/27 00:43:12
>>763
ありがとうございます
とても参考になりました
766:デフォルトの名無しさん
07/12/27 00:45:01
>どういうロジックが考えられますか?
って自分で聞いてるぐらいだからSwingの問題じゃなくてアルゴリズムの問題だろ。
767:デフォルトの名無しさん
07/12/27 00:51:43
そうですね
javaのスレッドで聞いたほうが良かったですね
答えてくれた方ありがとうございました。
768:デフォルトの名無しさん
07/12/27 01:03:08
java関係ないし
問題の切り分けに注意しないと間違ったスレでは歓迎されないぞ
769:デフォルトの名無しさん
07/12/27 01:14:11
そうですか
初心者スレッドで聞けばよかったですか
いえばただの簡単なアルゴリズムの問題なのですが、
ここなら同じようなことをやっている人がいるかなと思ったんで、
ここで聞いたほうが早いかなと思ってしまいました。
770:デフォルトの名無しさん
07/12/27 01:17:26
初心者は初心者らしく初心者スレで聞こうな。
まあ、その前にこの程度のロジックは自分で考えられないと、
なにを作るにしても困ると思うぞ。
771:デフォルトの名無しさん
07/12/27 01:33:38
というか普通に高校の物理の問題じゃないかこれ?
そこまでのアルゴリズムじゃないけど。
772:デフォルトの名無しさん
07/12/27 01:36:47
物理?!
どう見ても小学生の算数レベルだろ。
773:758
07/12/27 01:39:19
強引にやろうと思えばできると思うんですが、
スマートにできないんですよね(馬鹿なんで)。
完璧を目指すのはキリがないと思うんですが、
ある程度きれいなコードが知りたいんですよ。
スレリンク(tech板)
ここに移動したんで良かったらいいサンプルコードお教えください。
774:デフォルトの名無しさん
07/12/27 01:43:05
>>769
>ここで聞いたほうが早いかなと思ってしまいました。
こんなのを自分で考えられないとしたら先は長い気がするが…
まぁ地道にがんばれ!
775:デフォルトの名無しさん
07/12/27 02:06:16
ベーマガとか初心者向き雑誌がないと大変なのかなーとかおもっちまった
こういうの当時の小学生は普通に作ってたもんね
776:デフォルトの名無しさん
07/12/27 02:18:59
HSP使ってる連中も普通に作ってるぞ。
というかゲームにSwing使ってるの?
777:デフォルトの名無しさん
07/12/27 02:20:55
Java2Dを使うことはあるかもしれないが、Swingはあんまつかわないだろうね
ただ、ここAWTと合流したからJava2D等も含むといえば含む
本気でやるならJOGLだろうけど
778:デフォルトの名無しさん
07/12/27 02:26:13
本当だ!!
いつの間にかスレタイにAWTが入ってた!!
779:デフォルトの名無しさん
07/12/27 02:32:45
JOGLの正式版が出たときプレイアブルな2DデモとGLCanvasに描画するJMFのレンダラを組んだけど
いまじゃJOGLはjava2Dとパイプラインが統合されてんだよね。
OpenGLの関数使いたいわけじゃないなら-DオプションでOpenGL使うようにした方が楽かね?
それならわざわざ2D描画に3Dtoolkit使う必要ないし。
バグさえ消えれば。
780:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/27 07:13:18
まぁ、とりあえず読みなさい。
URLリンク(java.sun.com)
782:780
07/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:デフォルトの名無しさん
07/12/27 08:37:43
Timer#stop()を呼べば止まると分かっているのなら、
後は変数のスコープの問題。
ローカル変数timerをクラスAのインスタンス変数にして、
こんなメソッドを作って
public void stopTimer(){
timer.stop();
}
これをactionPerformed()内の適切な位置で呼べばいい。
ところでこのサンプルコード、Timerでやってる処理がi++だけなんだが、
これは単純化したサンプルコードなだけだよね?
ホントのコードでは、ちゃんとGUIスレッドですべき処理をしてるんだよね?
784:デフォルトの名無しさん
07/12/27 08:53:05
ああうまくいきました
GUIスレッドですべき処理というのがいまいちわかんないんですが、
ある条件でaのエフェクトを起こすみたいな感じなんですよ
とにかくこれで寝れます どうもありがとうございました
785:デフォルトの名無しさん
07/12/27 10:45:15
ボタンのイベント中にタイマーの時間が来たり、その逆も有ったりするって意味じゃね。
786:デフォルトの名無しさん
07/12/27 12:26:40
>>783
swing.TimerはEDTでactionPerformed呼ぶからそのへんは大丈夫と思
787:デフォルトの名無しさん
07/12/27 13:29:19
>>779
Java2Dだとαブレンディング/テストとか足りないものが多いから
2DであってもOpenGL使わざるを得ないのが現実
>>785が正解
あと注意すべきところはSwingTimerは定期処理にはいいけど、
長時間の流れがある処理には向かないというのもおぼえておくとよろし
あくまでも一定時間ごとにアクションイベントを発生させるだけ
詳しく見てないけどSwingFrameworkでjavax.swing.Timerも扱えるんかな?
788:デフォルトの名無しさん
07/12/27 22:23:18
Javaで動画を再生しようと思っているのですが(Macも含める)
・JMFだとMacで再生出来ない。
・QuickTime for JavaだとLinuxで再生出来ない。
という認識はあっていますでしょうか?
789:デフォルトの名無しさん
07/12/27 22:41:37
JMFのクロスプラットフォーム版を含めるなら間違ってる。
というかこれくらい人に聞かずとも分かるだろ。
790:デフォルトの名無しさん
07/12/28 00:08:21
>>789
URLリンク(www.animoids.com)
「JMF_2_1_1_mac.zip」の部分から、
もしかしてMac用がどこかで配布されているのかと勘違いしてしまいました。
791:デフォルトの名無しさん
07/12/28 03:27:55
検索するとそこヒットするんだよね。
JMFはjava動かすスペックと動画デコードするスペックを
ダブルで要求するからネイティブ版でもいろいろすると重いぞ。
単純なラッパーだからwin版はバグだらけだし。
792:デフォルトの名無しさん
07/12/28 08:46:22
>>790
こんなの見つけたぞ
URLリンク(www.sra.co.jp)
793:デフォルトの名無しさん
07/12/28 15:55:29
2004年から更新してないとか心配なんだけど、
なんでどこも投資して開発を続けないんだろう
794:デフォルトの名無しさん
07/12/28 16:06:51
こんなところでじゅんを見る事になるとは・・・。
795:デフォルトの名無しさん
07/12/30 16:40:20
JFileChooserにおいて、ダイアログ表示時のデフォルトの名前を指定するにはどうすればよいでしょうか?
796:デフォルトの名無しさん
07/12/30 16:55:09
setSelectedFile() で指定してから表示
797:デフォルトの名無しさん
07/12/30 16:57:49
JFileChooser#setSelectedFile(File)
798:デフォルトの名無しさん
07/12/30 17:14:41
ありがとうございました!
799:デフォルトの名無しさん
07/12/31 00:16:16
NetBeans入れたら超もっさり動作でがっかりした。
結局今はEclipseにもどりますた。
SwingアプリがSWTアプリみたいに比較的ストレスなく動いてくれる日はマダ来ないのかね。
800:デフォルトの名無しさん
07/12/31 00:25:30
もっさりとかストレスなく動くとかってのは主観的なものだから、
>>799の気分次第で明日にでも来るし、永遠に来ない事もありうる
801:デフォルトの名無しさん
07/12/31 00:57:01
>>799
マシンのスペックはいかほどで?
802:デフォルトの名無しさん
07/12/31 00:58:07
JavaはマイナーCPUに冷たいだろうし
マイナーGPUにも冷たいのかもしれんね
803:デフォルトの名無しさん
07/12/31 01:02:44
CやC++なら温かいともいえないんじゃね?
804:デフォルトの名無しさん
07/12/31 01:16:32
>>802
Java使ってるSWTもマイナーCPUやマイナーGPUに冷たいって事に?
805:デフォルトの名無しさん
07/12/31 01:17:10
>>802
SPARCにも冷たいって事に?
806:デフォルトの名無しさん
07/12/31 01:20:05
>>804はスルーするが、>>805は許せん。
807:デフォルトの名無しさん
07/12/31 01:42:32
今時はお世辞にもメジャーとは言い難い。
808:デフォルトの名無しさん
07/12/31 14:16:14
いまさらSPARCもねえだろ
809:デフォルトの名無しさん
07/12/31 15:29:10
金にいとめをつけずWinで最速のマシンもってくれば、Javaでもかなり高速動作するんじゃないの。
810:デフォルトの名無しさん
07/12/31 15:33:56
既存のコンポーネントにアクションを付加したい場合どのような手段を取るのが比較的単純に済むでしょうか?
例えば、JTreeでCtrl+Fで検索のアクションをさせたい場合などです。
811:デフォルトの名無しさん
07/12/31 17:44:54
>>810
適当なコンポーネントの ActionMap と InputMap に登録すればいいだろ。
812:デフォルトの名無しさん
07/12/31 18:07:49
JFileChooserののろさにガックリ
813:デフォルトの名無しさん
07/12/31 18:15:44
>>368 あたりで話題になってる不具合のせいかも?
814:>>810
07/12/31 18:36:09
InputMapを知りませんでした。
こんな簡単に実現できるなんてSwingは本当にすごいですね。
ありがとうございました。
815:デフォルトの名無しさん
08/01/01 02:16:39
>>799
いつものネガティブキャンペーン乙
6.0だとEclipseのほうが軽いとかってありえんだろ
SWTはスレ違いだからそっちでやってくれ
816:デフォルトの名無しさん
08/01/01 02:28:13
今更釣られるアホは寝てろ
817:デフォルトの名無しさん
08/01/01 08:17:29
たしかに起動に関してはnetbeansめっちゃ遅いよな
818:デフォルトの名無しさん
08/01/02 02:11:59
何もプラグイン入れなければ、Eclipseは軽いね。
819:デフォルトの名無しさん
08/01/02 02:17:51
Java EE フルセット入れた Eclipse のもっさりと不安定さはすさまじいものがある。
sysdeo の Tomcat プラグインと JSP, XML の構造化エディタ程度ならめちゃめちゃ軽い。
必要なものを選択できる人間だけが楽できる。
820:デフォルトの名無しさん
08/01/02 03:15:40
>>819
インストールしてもプラグイン無効にすればいいんじゃね?
821:デフォルトの名無しさん
08/01/02 22:26:40
swingのコピペを調べてたんだが。
CTRL+X -> CTRL+V で「切り取り -> 貼り付け」した時に、
貼り付け後に、余計なオブジェクトを削除するための後処理はexportDoneでいいんだろうか?
なぜか、CTRL+Xを押した瞬間に、exportDoneが実行されちゃうんだ。
exportDoneの説明には、
>データのエクスポート後に呼び出されます。このメソッドは、アクションが MOVE の場合に転送されたデータを削除します。
>MOVE はこの実装にサポートされるアクションでないため、このメソッドの実装では何も行われません。getSourceActions には MOVE が含まれません。
どっちやねんw
822:821
08/01/02 22:28:33
今のところ、対処方法が分らないので、exportDoneの中では何もせず、
importDoneの中で、貼り付け操作完了後に、
自分で削除操作を実行しようかなと思ってる。
823:821
08/01/03 00:34:28
なにをバカなことを!
切り取りの標準的な操作は、切り取りと同時に削除だろうが!
エクスプローラの動作が特殊なんだ!
新年早々はずかしぃぃぃぃぃぃぃぃぃぃぃぃ!!!!!!!!!!
824:デフォルトの名無しさん
08/01/03 03:16:52
エクスプローラの動作は、CUTというよりPREPARE-MOVEだからな。
825:デフォルトの名無しさん
08/01/05 20:53:44
>>817
終了はめっちゃ速いのだが。
826:デフォルトの名無しさん
08/01/06 23:23:28
jdk1.6.0u3
import java.awt.Frame;
これってバグなの?
827:デフォルトの名無しさん
08/01/06 23:33:55
___ ━┓
/ ―\ ┏┛
/ノ (●)\ ・
. | (●) ⌒)\
. | (__ノ ̄ |
\ /
\ _ノ
/´ `\
| |
| |
___ ━┓
/ ― \ ┏┛
/ (●) \ヽ ・
/ (⌒ (●) /
/  ̄ヽ__) /
. /´ ___/
| \
| |
828:デフォルトの名無しさん
08/01/06 23:49:08
>>827
分かる人にはこれだけで分かる
829:デフォルトの名無しさん
08/01/06 23:53:32
>>827
>>828
バグってたのは俺のほうだったw
*.class 削除したらコンパイル通ったよww
830:デフォルトの名無しさん
08/01/07 00:55:29
どういう環境だよ・・・
831:デフォルトの名無しさん
08/01/07 01:26:16
>>830
スレリンク(tech板:646番)
だろう。
832:デフォルトの名無しさん
08/01/07 11:20:26
テストするならTestFrameとかにすべし
833:デフォルトの名無しさん
08/01/07 12:55:58
>>831
よくみつけてきたな
834:デフォルトの名無しさん
08/01/09 03:57:38
相変わらず質問スレは気持ち悪いな
835:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/09 18:01:42
JListのカーソルキーによるスクロールことで謎があるので投げてみる。
>>835のプログラムなんだけど、単純にJListの中に300個のダミーデータを入れている。
カーソルキーで下にスクロールしていき、数十行進んだら、こんどは上に10行くらい
スクロール。
そしたらまたカーソルキーで下に移動。
すると、選択されてる項目が一瞬で画面の下までジャンプしてしまう。
このプログラムで、maxを20とか一定の値にした場合はジャンプしない。
JListの各セルの文字列長をランダムに変えたものを入れるとこの現象が起きる。
こういう仕様なのかもしれないけど、一瞬で選択位置が飛ぶと、
目線がそれてしまうので操作感がよくない。
maxを固定したときのように動作してほしい。
なんとかする方法ないかなぁ?
837:デフォルトの名無しさん
08/01/09 19:57:24
>>836
解決法でないのだが、「ジャンプ」の条件について。
固定長かどうかではなく、Viewport の外に描画域があるかないか、ではないのか、と。
固定長で横スクロールが出るようにしたときは「ジャンプ」するし、
固定長でなくても、横スクロールが出ないときは「ジャンプ」しない。
JScrollPane で横スクロールを非表示にしても、見えない部分があるときは「ジャンプ」する。
838:デフォルトの名無しさん
08/01/10 16:05:46
フレームの横サイズを水平スクロールバーが出なくなるまで広げてやればジャンプはしないな。
しかしちょっと設定をいじくったぐらいでは解決しそうない。
オーバーライドして一部の機能を殺すとか。
839:デフォルトの名無しさん
08/01/10 18:27:36
↓このバグだと思うよ。7で直ってるらしい。
URLリンク(bugs.sun.com)
URLリンク(bugs.sun.com)
840:デフォルトの名無しさん
08/01/10 18:57:44
バージョンアップを待つのが一番楽そうだね
841:デフォルトの名無しさん
08/01/10 19:27:17
よく見つけてくるな。すげーよ。
842:デフォルトの名無しさん
08/01/10 21:33:46
有名なバグだぞ。
JListに512個要素突っ込むとバグるとか放置されてるし。
843:デフォルトの名無しさん
08/01/10 22:03:23
>>842
2000個いれてみたけど、なにかバグあんの?
844:デフォルトの名無しさん
08/01/10 22:52:30
512個入れて、一番したのアイテム選択してCTRL+B
これで、すべてのアイテムが2個ずつになって1024個になるというステキなバグ
845:デフォルトの名無しさん
08/01/10 23:06:27
1から10000までの数字を全部掛けたときに
末尾に並ぶ0の個数を求めるのをJavaでおながいします
846:デフォルトの名無しさん
08/01/10 23:10:36
それはSwingに関係あるのか?
847:デフォルトの名無しさん
08/01/10 23:16:39
>>844
バグが出なかったんだけど
他になんか条件ないの?
848:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/10 23:22:25
ああ、5から5ずつ足してくから10000/5=2000か?
850:デフォルトの名無しさん
08/01/10 23:48:27
10を素因数分解して2*5。んで、2は大量に有るから、5だけ数えれば良い、と。
851:デフォルトの名無しさん
08/01/10 23:51:27
どの道>>848は間違ってるわな
852:デフォルトの名無しさん
08/01/11 00:07:08
>>850
i%25 とか i%125 も数えなきゃだめじゃね?
853:デフォルトの名無しさん
08/01/11 00:07:36
どのみちグズグズっぽいんだが。
854:デフォルトの名無しさん
08/01/11 00:15:22
スレチだからまぁ。妖精現実を引っ張ってお茶を濁すべ
つ URLリンク(deztec.jp)
855:デフォルトの名無しさん
08/01/11 00:19:54
いかにロジカルに解くかが課題じゃなけりゃ BigDecimal で階乗求めて数えた方が早い。
実用に問題ないレベルならシンプル記述に徹するのも美学。
856:デフォルトの名無しさん
08/01/11 00:48:09
80-20の法則な。今丁度勉強中。
857:848
08/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:デフォルトの名無しさん
08/01/11 01:39:18
だからどのへんがAWT/Swingに関係あるんだよと
859:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/11 03:06:00
256発あてるとバキュラを破壊できるんだぜ
861:デフォルトの名無しさん
08/01/11 03:13:52
Observer や Composite 型の設計だと本体クラスでそう書かれてないからライブラリのバグじゃねーとは
断言できないんだけどな。実行時のリスナやら集約の親子まで調べてやらないと。
862:デフォルトの名無しさん
08/01/11 03:22:05
ちょっと尻切れトンボだった。
JLabel クラスが無罪であることを得々と説いてもあんまし意味なくね? という話 (実装者乙、でなければ)。
863:デフォルトの名無しさん
08/01/17 15:17:13
JEditorPane とか、せめて W3C の DOM で xhtml + CSS になってくれりゃ
XSL で処理できるからデータを利用しやすいんじゃがのう。
864:デフォルトの名無しさん
08/01/17 18:20:01
自分でやれば良いだろそれくらい。
865:デフォルトの名無しさん
08/01/17 18:50:17
Lobo Browserに投資する企業はいないのかねぇ
866:デフォルトの名無しさん
08/01/17 19:01:08
>>865
ブラウザを使うのがPCだけしかない考えてるなら、考え直した方がいい。
867:デフォルトの名無しさん
08/01/17 19:04:52
Swing の HTML 機能も携帯のフルブラウザにすら追い越されて久しいわけだが。
868:デフォルトの名無しさん
08/01/17 19:21:49
>>867
一緒にしてるしwwwアホか?
869:デフォルトの名無しさん
08/01/17 19:27:01
シンクライアントに必要なだけだし携帯とかいらんな
870:デフォルトの名無しさん
08/01/17 19:30:49
>>868
むしろあの HTMLEditorKit 系をおまいがどこで活用できてるのか知りたい。
871:デフォルトの名無しさん
08/01/17 19:31:39
ブラウザをJavaでやる必要があるのか?
872:デフォルトの名無しさん
08/01/17 19:42:23
普通にあるぞ。例えばヘルプ機能とかの生産性があがる。
JDICだとXSS対策が必要だろうけど、こっちは不要。
873:デフォルトの名無しさん
08/01/17 19:56:22
うん、ヘルプは俺も使う。だがどうしてもその Sandbox から出してやれんw
874:デフォルトの名無しさん
08/01/17 20:06:38
バカばっかだな
875:デフォルトの名無しさん
08/01/17 20:09:36
Sandboxなフルブラウザは作れると思うが。
Rhinoにその手のインタフェースを与えなきゃいいだけだ。
876:デフォルトの名無しさん
08/01/17 20:22:15
フルブラウザという言葉自体胡散臭い
877:デフォルトの名無しさん
08/01/17 20:25:26
頭の悪い煽りがやたら入るスレだなw
878:デフォルトの名無しさん
08/01/17 20:30:43
たまに客がどこで見つけたか知らないが 「Swing でもブラウザみたいなこと
できるんでしょ?」 と言い出す事もあるが、あれを見せるとさすがに黙る。
879:デフォルトの名無しさん
08/01/17 20:34:02
つ Flying Saucer
880:
08/01/17 20:39:33
Swing の HTMLEditorKitは文字通りEditorのためでブラウザみたいに表示onlyではないからね。
でも日本語とかIMEのこととか考えてないよな、あのHTMLEditorKitは。表示だけならいいけど。
881:デフォルトの名無しさん
08/01/17 20:46:38
4.01準拠マダー?
882:デフォルトの名無しさん
08/01/17 23:57:24
JavaがC++より優れている事を示す
絶好の材料だと思うんだけどなあ<ブラウザ
883:デフォルトの名無しさん
08/01/18 00:15:59
標準ライブラリの有無で言語の優劣を決めるのか?
884:デフォルトの名無しさん
08/01/18 00:23:11
実際問題、ライブラリとIDEが言語仕様の優劣を余裕で帳消しにするからね。
D言語1.0がまったく普及しない原因がそれと言われてるし。
885:デフォルトの名無しさん
08/01/18 00:29:11
C++の失敗もそうだね
標準ライブラリがしっかりしてれば
Javaは生まれなかったかも知れない
886:デフォルトの名無しさん
08/01/18 00:30:48
Perl嫌いだけどこれだけ流行ってしまったのは
CPANのおかげと言っても過言ではない死ね
887:デフォルトの名無しさん
08/01/18 00:36:14
>>883 の中では SmallTalk が世界を救うようです。
888:デフォルトの名無しさん
08/01/18 03:53:19
java c++ d を同列に扱う馬鹿がおる
889:デフォルトの名無しさん
08/01/18 08:12:32
>>888
人を否定するなら代替の主張を出してからにしたら?
890:デフォルトの名無しさん
08/01/18 14:17:41
なにいってんだ?
891:デフォルトの名無しさん
08/01/18 19:29:51
同列だろ。言語仕様は実装とは違うレイヤーにある。
892:デフォルトの名無しさん
08/01/18 19:37:12
いいかげんスレ違いだろ
次の話題どうぞ
↓↓↓
893:デフォルトの名無しさん
08/01/18 19:38:57
JMFって商用可能ですか?
894:デフォルトの名無しさん
08/01/18 19:55:06
スレ違い
895:デフォルトの名無しさん
08/01/18 20:11:16
どうかんがえてもここだろ。自治厨とか懐かしすぎ。
896:デフォルトの名無しさん
08/01/18 20:52:29
JMFがここだって
897:デフォルトの名無しさん
08/01/18 21:04:19
じゃあJOGLはここでいい?
898:デフォルトの名無しさん
08/01/18 21:36:21
じゃあ、SDL for javaもここだな。
>>865の脳内ではメディア再生ライブラリがGUIツールキットなんだよ。
899:デフォルトの名無しさん
08/01/18 21:51:43
普通の考えじゃん。頭おかしいんじゃね?
900:デフォルトの名無しさん
08/01/18 22:57:52
JOGLはこっちじゃない?
スレリンク(tech板)
901:デフォルトの名無しさん
08/01/18 23:25:19
JOGLとJava3Dはまったくの別物だぞ・・・
むしろGLCanvasとかGLJPanelとかAWTとSwingの外部コンポーネントと考えれるからこっちだろと
シンプルに描画だけのOpenGLの実装だからユーザーに全ての描画を任せるタイプで
フルスタックで重いJava3Dとはかなり違う
902:デフォルトの名無しさん
08/01/18 23:44:31
JOGLはOpenGLスレで良いらしいぞ
903:デフォルトの名無しさん
08/01/19 00:32:48
OpenGL自体の知識はOpenGLスレが本筋
でもGLCanvasの挙動とかどうかんがえてもむこうの範疇ではないと思うんだが
904:デフォルトの名無しさん
08/01/19 00:49:50
JMFの話題についてけないゴミなんだろうな
905:デフォルトの名無しさん
08/01/19 02:38:13
スレチ
906:デフォルトの名無しさん
08/01/19 14:52:45
Java標準拡張のメディア再生フレームワークのどこがスレ違いなんだかw
907:デフォルトの名無しさん
08/01/19 14:57:23
スレタイ嫁アホ
908:デフォルトの名無しさん
08/01/19 14:58:04
誰も答えられる奴がいないんだろう。フヌケばかりだしw
909:デフォルトの名無しさん
08/01/19 15:00:19
自己紹介乙
910:デフォルトの名無しさん
08/01/19 15:06:22
>>909
フヌケw
911:デフォルトの名無しさん
08/01/19 15:09:12
頭の弱い自治厨が沸いてるみたいだけど、前からJMFの話題は出てるから。
912:デフォルトの名無しさん
08/01/19 15:17:48
スレタイの読めない盲目がわいてるからスルーしろ
913:デフォルトの名無しさん
08/01/19 15:20:32
JMF涙目www
914:デフォルトの名無しさん
08/01/19 21:24:53
>>893
ライセンス読むと良いよ。
たしかRuntimeと同じ特例が適用されてたと思う。
915:デフォルトの名無しさん
08/01/25 17:18:55
そういえばJava Media APIのスレってないんだな。
JMFとJOGLは需要ありそうというか隔離しないと他で暴れるバカが出てきそうだけど。
JAIは実際に使ってるの見たことないな。
Java Media APIスレ立てたら誘導用くらいには機能するかね?
916:デフォルトの名無しさん
08/01/25 18:02:09
>>915
JMFはあってもよさそうなもんだなぁ…
JOGLは…どの程度使われてるんだろ…?
917:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/25 18:23:03
使われてる割合JOGL>JMF
知名度JMF>JOGL
日本語リソースの多さJMF>JOGL
じゃない?
javaでゲームつくるとなるとJOGLは欠かせないけど、なきゃないでJava2Dで十分って感じ。
ゲ制のJavaでゲームつくるスレが落ちたからJOGL聞く場所がないんだよ。
919:デフォルトの名無しさん
08/01/25 18:31:48
>>918
javaでゲームつくるとなるとJOGLがほしい、ってのはわかるんだけど…
そもそもPC向けゲームをつくるのにjavaを選ぶ理由がないよなぁとか思うわけですよ?
その手のゲームって結構あるものなの?
920:デフォルトの名無しさん
08/01/25 18:32:44
コードに手を入れず入出力フォーマット増やしたいときに使うよ > JAI
まぁバグも多いけど。
921:デフォルトの名無しさん
08/01/25 18:32:58
JOGLはOpenGLスレでもいいんじゃない
ところでJMFとJOGLって比較するもんなのか…?
922:デフォルトの名無しさん
08/01/25 18:42:12
別に比較したいわけじゃなくてスレたてるかどーすっかって話だろ。
需要的に考えると全部まとめて Java Media API スレとかでもいい気がするな。
923:デフォルトの名無しさん
08/01/25 18:48:58
ぐだぐだ言ってないでスレ立てればいいだろ
924:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/25 20:08:13
JOGLって将来的に標準に入るって可能性ありますかね?
926:デフォルトの名無しさん
08/01/25 20:22:48
クライアント向けのJava標準拡張は全てが滅茶苦茶将来性がある。
根拠はJava 7に登場のJava Kernel、JAM、JavaFXあたり。これらは要チェック。
Java Sound本、最近でたね。つい衝動買いしたけど、まだ読んでなかったり。
927:デフォルトの名無しさん
08/01/25 20:29:26
工学社ってだけでなんか敬遠してたんだけど実際どうなんだろう・・・
928:デフォルトの名無しさん
08/01/25 23:12:41
JOGLに将来性ある事は否定しないけど、まだ3年ぐらい先の話だろう。
つまり人柱。日本語のページも全然ないし。
あまり勧めたくはないけど、もしゲームで、かつwindowsなら、C#じゃないか?
929:デフォルトの名無しさん
08/01/25 23:26:44
あんな重いの話にならん。
1コア丸々使ってる箱○なら別だが
930:デフォルトの名無しさん
08/01/26 22:12:41
【JMF】Java Media APIs【JOGL】
スレリンク(tech板)l50
スレ立てられなかったのでスレ立て依頼出してたのが立った。
今後はこちらでどうぞ。
スレタイには一番使われそうなJMFとJOGLを追加しといた。
ほかテンプレあれば書いて。
Java Media APIsはDesktop Javaの一部なんでJava SE以外のエディションやAndroidは関連スレから除外しといた。
ネイティブ依存なSWTも同様。
931:デフォルトの名無しさん
08/02/06 00:48:21
で、いい加減そろそろ、JAIのメモリリークは直ったのか?
932:デフォルトの名無しさん
08/02/07 21:21:18
複数の Component の描画の順序(重なり具合)を任意に変えるには、
親コンテナ.remove(comp) / 親コンテナ.add(comp, index) もしくは
getComponentZOrder(comp) / setComponentZOrder(comp, index)
の組み合わせしか方法はありませんか?
Component のほうが、自立的に一歩前進、とか、一歩後退、みたいな仕掛け、ありませんかね…?
たとえば、大、小の円がそれぞれ component だったとして、
それを、drag で、重ねたときに、◎になるようにするしたいんですが。
(2つに限らず、3つ、4つでもいけるように)
getComponents してループさせて入れ替え、しかないでしょうか。
933:デフォルトの名無しさん
08/02/07 21:49:59
JLayerdPaneを増やして載っけるとか。
934:932
08/02/07 22:13:16
>>933
おぉ、JLayeredPane、忘れてましたw
duke 君のデモソースはチェックしたのに、なにしてんだ>自分
そういう Pane がある、ということは裏を返すと Container/Component
には、あまり気の利いた順序変更の手段はないんですかね。
ひきつづき、つっこみ・ご意見お待ちしております。
935:デフォルトの名無しさん
08/02/07 22:38:09
実際のところ重なりの順序を動的に変えたいことってあるの?
それが必要なパターンが想像できないんだが。
936:デフォルトの名無しさん
08/02/07 22:52:22
CardLayoutでもいいんじゃね?
937:932
08/02/07 23:03:27
レス、どうもです。
>>935
ビジネスアプリケーションじゃなくて、えと・・・
ゲームでキャラが重なる、みたいなヤツを思い浮かべてください。
>>936
CardLayoutは、ノーチェックでした。
リファレンスをチェックしてきますノシ
938:デフォルトの名無しさん
08/02/07 23:06:39
>>937
ゲームのようなやつならSwingつかわずにJava2D等で描画したほうがいいよ
速度的にもメリットが薄い
939:デフォルトの名無しさん
08/02/07 23:41:33
SwingよりJava2DじゃなくてSwingよりAWTでJava2Dじゃね?
Java2DよりJOGLの方がry
940:デフォルトの名無しさん
08/02/07 23:43:46
Java2D って Swing じゃないのか?
941:932
08/02/07 23:46:41
>>936
CardLayout、あとは自分で動作とか確認しますが、リファレンス曰く、
「コンテナ内の各コンポーネントをカードとして扱います。一度に 1 枚のカードだけを表示し…」
う、1枚では困るぅ~。
>>938
Java2D にそんなに詳しくないのですが、
ゲームのキャラでなく、(バーチャル環境の)アバターみたいのヤツを
前後(奥行き)に操作する、といったような例だとどうでしょうか。
イメージのまま取り回すのは管理が大変かなぁ、とビビッているのですが…。
設計次第ですかねぇ。
速度の要望はそんなにシビアでないです。
942:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/08 00:23:42
>>939
JOGLいいけど、テクスチャを単純に表示するのが目的ならそこまで必要ないと思う
プラットフォームによってパッケージが違うのもやっかいだし、Line引くときたぶんはまる
Java2Dはαブレンディングがまともに実装されていないのがきついかな
おかげでゲームで使うときはJOGL必須だ
>>941
その動かすキャラクターの動く範囲は?
Window内をじゆうじざいにということでないのなら、
その描画はJava2Dによる重ね合わせのほうが難易度は低いと思う
944:デフォルトの名無しさん
08/02/08 00:38:19
αブレンドなぁ。結局Java2Dだとハードウェアアクセラレータ効かないんだよな。
JOGL1.1ならcom.sun.opengl.util.j2dが追加されたから
BufferStrategyと同じ感覚で使えるんだけどcom.sunパッケージは嫌い?
945:デフォルトの名無しさん
08/02/08 02:07:08
レイヤードペインの話題が見えたので便乗
1.JFrameのgetLayeredPane()に直接JLabelとか貼り付けて遊んでた。
2.この状態で、ポップアップメニュー出したら、表示されなかった。
3.マウスをずるずる動かして、見えないメニューの上を通過させるとメニューが表示された。
※メニューが「パッ」と全部表示されるんじゃなくて、
マウスが乗っかったメニューアイテムが1つずつ表示される。
4.JLabelを乗せるレイヤーを変えても問題は解決しなかった。
そもそも1.の使い方がナンセンスなのか。
レイヤードペインとポップアップは気をつける何かがあるのか。
誰か知ってる人がいたら教えてください。
946:デフォルトの名無しさん
08/02/08 04:07:33
混ぜるな危険じゃない?
947:デフォルトの名無しさん
08/02/08 08:21:43
ポップアップってどっかのレイヤーの上に描画されるんだっけ?
GlassPane?
948:デフォルトの名無しさん
08/02/08 09:58:10
おはようございます。932,941でございます。
とりあえず、LayeredPane を導入してみますデス。
もう一個、教えてくんです・・・。
contains(int x, int y) メソッドって、
リスナーにしなくても mouseEntered なとき(Component 上に
マウスカーソルがあると)、勝手に呼ばれるようですが、
それでよいです??? Documented な仕様ですか?
override して使わないほうがよさそうですよね。override しちゃだめ?
だったら final にして~~。
949:デフォルトの名無しさん
08/02/08 18:15:56
>>947
描画される順番の問題。
GlassPaneは自分で描画しない限り何もない。
GlassPaneでイベント握り潰せば結果的にGUIをブロックできる。
950:デフォルトの名無しさん
08/02/08 18:21:08
>>947
layeredPane の POPUP_LAYER じゃない?
951:945
08/02/09 00:25:29
追記
JLabelにアニメーションGIFを表示させた場合、
絵が書き換わるたびに、マウスずらしで表示させた
ポップアップメニューが消されたw
・JLabelに文字を表示させた場合
・普通にコンテンツペインにJLabelを置いた場合
この状態での実験も。。。今度やってみる
952:デフォルトの名無しさん
08/02/09 11:06:14
どうしてもバグければ JPopupMenu#setLightWeightPopupEnabled を false にしてみる手も
953:デフォルトの名無しさん
08/02/09 11:47:18
バグ-ける
954:デフォルトの名無しさん
08/02/09 11:59:19
その活用形はおかしい
バグ-かろう
バグ-かった
バグ-くない
バグ-い
バグ-ければ
955:948
08/02/09 13:01:03
昨日、速攻、JLayeredPane 組み入れました。
気がついたのは、
より上位の Layer のコンポーネントが、より下位のコンポーネントを
完全に覆い隠すと(感覚的にいうと lower.getBounds() < upper.getBounds())
のとき下位のコンポーネントが描画されない(消える)
つーことがありました。
理屈としては、そのほうが、高速化が図れるのかもしれないけど、
上位の矩形のイメージが透明化されてるときちょっと困るんだけどなぁ。
956:デフォルトの名無しさん
08/02/09 13:38:19
>>955
上位レイヤのコンポーネントでsetOpaque(false)でどう?
957:デフォルトの名無しさん
08/02/09 13:41:41
setOpaque(false) してる?
958:948
08/02/09 15:38:21
>>956,957
レス、どうもです。
setOpaque() してると思うんですが、今日は、職場でないので
確認できないっす。火曜日にチェックします!
みなさんは休出っすか?
959:デフォルトの名無しさん
08/02/09 15:41:04
>>958 は 3 回くらい死んでも良いと思う
960:デフォルトの名無しさん
08/02/09 18:30:57
つーか自宅にPCないんか
961:945
08/02/10 03:09:13
おいおい、会社で趣味プログラミングかよw
それはともかく、>>952さんありがとうございます。
ポップアップでまくりですよ。
そして、実験の報告。
>・JLabelに文字を表示させた場合
結果:×
レイヤードペインに文字ばっかりのJLabelを乗せてみた。
文字の後ろにメニューがでた。文字の隙間からメニューが見えてるw
マウス動かすと文字の前に来るあたりの挙動は一緒。
>・普通にコンテンツペインにJLabelを置いた場合
結果:○
当たり前か。
962:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/13 20:16:03
>>962
アクションが操作対象となるJTreeのインスタンスを持てばいいだけじゃないのか?
964:962
08/02/15 09:33:09
聞いておきながら遅くなってしまってすみません。
JComponentのインスタンスでなければ弾いているので、そもそもアクションまで起こっていないんです。
CopyActionくらい自分で実装して、>>963さんのおっしゃるように対応したコンポーネントのインスタンスを持たせていた方がいいかもしれないですね。
ありがとうございました。
965:デフォルトの名無しさん
08/02/23 11:27:45
例えばリストにTransferHandlerを設定するとき、COPYなのかMOVEなのかCUTなのか判定させたいときどのようにすればよいのでしょうか?
それを実装するコンポーネントでどのようなアクションを取ったかを調べられれば問題ないのですが、それがMouse系のリスナーではスマートに調べられなくて困っています。
教えください。
966:デフォルトの名無しさん
08/02/23 11:36:04
勘違いしていました。
何十回か氏んできます。
967:デフォルトの名無しさん
08/02/24 11:38:09
GUIのデザイナはなかなか決定的なものがないようなのですが、
メジャーどころだとNetbeans付属のものやVisual Editorがありますよね。
ほかにもJformDesignerや、jvilderなどがあるようです。
みなさん、GUI開発にはどんなツールをお使いですか?
968:デフォルトの名無しさん
08/02/24 11:48:00
テキストエディタで手書きしてまつ・・・
969:デフォルトの名無しさん
08/02/24 11:51:42
jiglooがなかなかおすすめ。
慣れないうちは思うようにデザインできないけど慣れたらかなり使いやすいかも
970:デフォルトの名無しさん
08/02/24 11:54:49
私はVisual Editor。でも、ちょっとコンポーネント置いただけですぐ
1000行ぐらいいっちゃうのがちょっとアレですが。
jiglooは冗長にならないように書けます?
971:デフォルトの名無しさん
08/02/24 12:28:06
Visual EditorってGroupLayoutサポートしてましたっけ?
あれ使えばそんなに冗長にはならないですよ
個人的に一つ一つのコンポーネントのプロパティ設定で勝手にブロックで囲んでくれてるのが見やすくて好きです。
972:デフォルトの名無しさん
08/02/24 12:50:00
残念、Visual EditorにはGroupLayoutのサポートはまだないみたいです。
他のデザイナを試してみることにしましょう。Jiglooか、もうNetbeansかな。
EclipseのプラグインでWindowBuilderというのもこれに対応しているようですが、
日本で使ってる人があまりいなさそう・・・
973:デフォルトの名無しさん
08/02/24 14:39:26
ソースコード生成するんじゃなくてXAML式に
書けるGUIデザイナが欲しすぎる。
974:デフォルトの名無しさん
08/02/24 15:14:14
リファクタリングとかソースとの動機が取れなくなりそうだ
975:デフォルトの名無しさん
08/02/24 15:54:12
一般ブラウザ並みに JTextPane 強化して HTML ベースで GUI 組めるようにしたほうが
何かと合理的。
976:デフォルトの名無しさん
08/02/24 16:02:31
それはねーよ
細かいイベント等制御するためのSwingなんじゃねーか
HTMLベースでいいのならWEBアプリにするだろ
977:デフォルトの名無しさん
08/02/24 16:11:07
onmouseover などからイベントリスナ呼びゃいい話でしょ。必要なら追加すりゃいいし。
Web 開発の資産やスキル転用できるし、単純にブラウザコンポーネントとしても転用も可能。
まじめに考えてるわけではないのでカスタムコンポーネントの追加方法なんか考慮する
必要はあるが、そんな頭から否定されるほど悪い話ではないと思うが。
978:デフォルトの名無しさん
08/02/24 16:27:11
そんなの全く考えたことなかったから結構新鮮だわw
まぁ今の環境で満足だし、そこまで外部化してしまわなくてもいい気もするなぁー
979:デフォルトの名無しさん
08/02/24 17:43:06
GUIコンポーネントは宣言的に置くようにしてロジックは別にしたいってことでしょ
JavaFXがやろうとしてるんじゃないかな
ただXMLベースじゃないみたいだけど
980:デフォルトの名無しさん
08/02/24 17:49:05
そこまでWeb開発の資産やスキルを転用したいのなら、
スタンドアロンアプリでTomcat動して、UIはブラウザ、ってすればいいんじゃね?
981:デフォルトの名無しさん
08/02/24 18:09:12
アプレットや Web Start とかで使えねんじゃ。
982:デフォルトの名無しさん
08/02/24 18:14:29
XULを再発明したいのか
983:デフォルトの名無しさん
08/02/24 18:37:25
JSP や JDBC を再発明と言う?
別に XUL の Java 実装でも良いけど。
984:デフォルトの名無しさん
08/02/24 18:46:16
あ、いやこの話はそろそろやめる。
985:デフォルトの名無しさん
08/02/24 19:19:48
>>977
scriptのIDEサポートとかJavaのほかに別言語を覚えないといけないとか
そもそもブラウザによって違いがあるというのに・・・
ボタンクリック等のイベント程度でいいのなら別にかまわんとおもうけど
986:デフォルトの名無しさん
08/02/24 21:36:38
XMLは長ったらしすぎるので
すっきりとロジックと融合したGUIが宣言ベースでかけるというのが
売りなのでしょう。
ただ、いまいち方向性が分からないというのは・・・。
987:デフォルトの名無しさん
08/02/24 21:57:42
SWTスレとマルチで失礼します。
クライアント側のJavaで、RTF文章を何らかの形で表示(編集できなくてもOKです)させたいのですが、
JEditorPaneはあまりにも古すぎてJREに同梱されているLICENSE_ja.rtfすらマトモに読めない、という
情けないことになっています。他に何らかの代替/回避方法はないのでしょうか?
988:デフォルトの名無しさん
08/02/25 11:01:37
RTFをパースして使えるコンポーネントに流し込むところを自作する
989:デフォルトの名無しさん
08/02/25 11:06:57
うふふw鬼ww
990:987
08/02/26 10:29:05
>>988
>>989
いや、マジメな話、(ライブラリ等を使うかは別にして)今のところ、ググって引っかかるのはそのアプローチしかないみたい。
もう少し簡単な方法がないかと思って質問してみたのですがね(笑
991:デフォルトの名無しさん
08/02/26 10:43:02
SWT なら OLE でハメ込めるんじゃなかったっけ?
992:デフォルトの名無しさん
08/02/26 10:48:04
いまどきそれだけのためにSWT使うってのもなぁ
993:デフォルトの名無しさん
08/02/28 01:57:15
非常に抽象的な質問で申し訳ないのですが、スクロール可能なコンポーネントを作る際、Scrollableを実装するだけではだめなのでしょうか?
単純に実装してJScrollPaneにのっけてやるだけでは、実装したメソッドのうち、
getScrollableTracksViewportHeight()
getScrollableTracksViewportWidth()
の二つは呼び出されるのですが、肝心の
getPreferredScrollableViewportSize()
が呼び出されないのです。
どうしてでしょうか?
994:デフォルトの名無しさん
08/02/28 03:04:21
みんなBoxLayoutはつかってないのか?
ほとんどこれ1本でやってるんだけど。
995:デフォルトの名無しさん
08/02/28 03:21:59
> 993
getPreferredSize()はどう実装している?
996:デフォルトの名無しさん
08/02/28 08:45:59
>>995
すみません。寝ぼけてたようで、
getScrollableTracksViewportHeight()
getScrollableTracksViewportWidth()
の判定で必ずtrueがかえってしまうようになってしまってました。
というわけでスレ汚してしまったのでお詫びに次スレ建ててきました・・・が、タイトル間違えてしまいました。
本当にすみません。板まで汚してしまったみたいです。
スレリンク(tech板)
997:デフォルトの名無しさん
08/03/01 17:48:07
1レス埋めて去る。
998:デフォルトの名無しさん
08/03/01 18:54:53
ところで次スレは上の見すったやつ使うの?
せっかくスレタイ変えたのに
999:デフォルトの名無しさん
08/03/01 19:24:19
っと、気づいたらもう999かよ
1000:デフォルトの名無しさん
08/03/01 19:25:58
上野でいいじゃん
細かいこと気にするなよ
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。