Java標準低速GUI 6 AW ..
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は…どの程度使われてるんだろ…?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4901日前に更新/252 KB
担当:undef