Java低速GUI Swing 2
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG前スレ
http://pc5.2ch.net/test/read.cgi/tech/1062271447/l50
参考スレ
Java 高速GUI SWT 2
http://pc5.2ch.net/test/read.cgi/tech/1068349883/l50
00022
NGNGhttp://pc3.2ch.net/tech/kako/1002/10021/1002160815.html
クライアントサイドJavaどうよ?:part2
http://pc2.2ch.net/tech/kako/1032/10326/1032665721.html
クライアントサイドJavaどうよ? part3
http://pc2.2ch.net/tech/kako/1045/10458/1045891783.html
参考スレッド。
Java 高速GUI SWT
http://pc5.2ch.net/tech/kako/1032/10324/1032448424.html
Java 高速GUI SWT 2
http://pc5.2ch.net/test/read.cgi/tech/1068349883/
FrontPage - java
http://www.wikiroom.com/java/
0003デフォルトの名無しさん
NGNGWisdomSoft - JAVA入門
http://wisdom.sakura.ne.jp/system/java/javax.html
developerWorks - マルチスレッド化Javaアプリケーションの作成
http://www-6.ibm.com/jp/developerworks/java/010427/j_j-thread.html
[en]
Creating a GUI with JFC/Swing
http://java.sun.com/docs/books/tutorial/uiswing/
Threads and Swing
http://www.math.cuhk.edu.hk/TechInfo/JavaTutorial-2/ui/swing/threads.html
The Last Word in Swing Threads
http://java.sun.com/products/jfc/tsc/articles/threads/threads3.html
Painting in AWT and Swing
http://java.sun.com/products/jfc/tsc/articles/painting/
0004デフォルトの名無しさん
NGNG赤坂玲音著「Javaアプリケーション作成講座 - Swingプログラミング徹底攻略」
http://www.amazon.co.jp/exec/obidos/ASIN/4839913862/
大村忠文著「Java GUIプログラミング」Vol.1〜3
http://www.amazon.co.jp/exec/obidos/ASIN/4877830510/
http://www.amazon.co.jp/exec/obidos/ASIN/4877830529/
http://www.amazon.co.jp/exec/obidos/ASIN/4877830537/
サンソフトプレス「グラフィックJava2」AWT編、Swing編(上)(下)
http://www.amazon.co.jp/exec/obidos/ASIN/4756134513/
http://www.amazon.co.jp/exec/obidos/ASIN/475613582X/
http://www.amazon.co.jp/exec/obidos/ASIN/4756135838/
Java実践プログラムによるデザインパターン入門講座
- Swingプログラムで体得する23のパターン
http://www.amazon.co.jp/exec/obidos/ASIN/4894712563/
0005デフォルトの名無しさん
NGNG0006前スレであがったリンク
NGNGhttp://java.sun.com/docs/books/tutorial/uiswing/
為政敦男氏が1998〜1999年にSwingExamplesを書き、
オリジナルサイト消滅後もミラーされ続けている。
5年以上前にSwingの素晴らしい使い方を示してくれた為政さんに感謝します。
http://www.senun.com/Left/Programming/Java_old/Examples_swing/JTableExamples1.html
http://www.physci.org/codes/tame/
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGSWTもJavaスレで。
0013デフォルトの名無しさん
NGNGC#も起源はJavaなんだから、Javaスレで。
.NETもJavaのパクリなんだから、Javaスレで。
デザインパターンもJavaで広まったんだから、Javaスレで。
プロ野球の合併問題も、Javaなら解決してたんだからJavaスレで。
0014デフォルトの名無しさん
NGNGおまえらム板のjavaスレ数えたことあるか?
0015デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1089527630/Java の宿題ここで答えます。
http://pc5.2ch.net/test/read.cgi/tech/1092308415/Javaを莫迦にする香具師は死んだほうがいい
http://pc5.2ch.net/test/read.cgi/tech/1062271447/Java低速GUI Swing
http://pc5.2ch.net/test/read.cgi/tech/1090653286/Java⇔RDBのMapping-Frameworkを語るThre Vol.3
http://pc5.2ch.net/test/read.cgi/tech/1094860940/【初心者】Java質問・相談スレッド53【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1095398949/Java低速GUI Swing 2
http://pc5.2ch.net/test/read.cgi/tech/1091286071/iモード携帯電話用Java(iアプリ) Part 6
http://pc5.2ch.net/test/read.cgi/tech/1091798483/CLDC+MIDP+携帯電話用Javaスレッド part 3
http://pc5.2ch.net/test/read.cgi/tech/1068377418/「C# vs Java」
http://pc5.2ch.net/test/read.cgi/tech/1054149131/[Java] JBuilder 3.x/4/5/6/7/8/9/10/11/12/.../n
http://pc5.2ch.net/test/read.cgi/tech/1049900193/JavaはC,C++の後継言語となりうるのか
http://pc5.2ch.net/test/read.cgi/tech/1077465099/Java Spring Frameworkを語るスレ
http://pc5.2ch.net/test/read.cgi/tech/1078838061/【世代交代】どうしてJavaは死滅してしまったのか?
0016デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1088234805/Java 継承 お勧め本
http://pc5.2ch.net/test/read.cgi/tech/1068349883/Java 高速GUI SWT 2
http://pc5.2ch.net/test/read.cgi/tech/1075035410/初学者が習うといい言語は何?(除PerlとJava)
http://pc5.2ch.net/test/read.cgi/tech/1094891986/【JavaFive】C#からJ2SE5.xへ進化【TigerShot】
http://pc5.2ch.net/test/read.cgi/tech/1094958940/Apache Jakara Project-2.0 【Java】
http://pc5.2ch.net/test/read.cgi/tech/1032085443/Java言語を勉強していて壁にぶちあたっています
http://pc5.2ch.net/test/read.cgi/tech/1081136781/【A級】Java厨懺悔スレ【戦犯】
http://pc5.2ch.net/test/read.cgi/tech/1091647502/いやマジで、JavaCC すごすぎるって。語れ
http://pc5.2ch.net/test/read.cgi/tech/1081147731/Javaマカ、MSを恐れすぎ(藁 2人目
http://pc5.2ch.net/test/read.cgi/tech/1081698555/【Java】次世代Java・J2SE1.6の動向【Mustang】
http://pc5.2ch.net/test/read.cgi/tech/1080052050/Java系スクリプト言語Groovy
http://pc5.2ch.net/test/read.cgi/tech/1079154487/●●Javaって死滅しちゃうの???? PART8●●
http://pc5.2ch.net/test/read.cgi/tech/1048025463/JDI(Java Debug Interface)について語るスレ
0017デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1059208396/JSF(JavaServer Faces)【.NET死亡?!!!】
http://pc5.2ch.net/test/read.cgi/tech/1089158103/[無料でラクラクJava帳票作成] JasperReports使い集合
http://pc5.2ch.net/test/read.cgi/tech/1033795664/★お前らJavaはJNIで組もうぜ★
http://pc5.2ch.net/test/read.cgi/tech/995044723/[Java]JBuilder5[Java]
http://pc5.2ch.net/test/read.cgi/tech/1017214967/【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc5.2ch.net/test/read.cgi/tech/1081242461/【議論】Javaに関する野次馬的話題【中傷】
http://pc5.2ch.net/test/read.cgi/tech/1082346861/JavaとC♯.netどちらがコード量が多くなるか】
http://pc5.2ch.net/test/read.cgi/tech/1038118138/【統合】Java開発環境スレ
http://pc5.2ch.net/test/read.cgi/tech/1088259393/未来型Javaへの布石
http://pc5.2ch.net/test/read.cgi/tech/1088835058/土日でできるプログラミングシリーズ4(Java編)
http://pc5.2ch.net/test/read.cgi/tech/1056191116/***Javaのオススメ入門書***
http://pc5.2ch.net/test/read.cgi/tech/1068370977/JavaでVCバリのゲーム開発可能?
http://pc5.2ch.net/test/read.cgi/tech/1081051446/Java=Win32APIオープソ化計画の結論
http://pc5.2ch.net/test/read.cgi/tech/1086238859/Java ネットワークプログラミング 【教えて!】
http://pc5.2ch.net/test/read.cgi/tech/1033703640/【徹底討論】Java3Dの可能性について考える
http://pc5.2ch.net/test/read.cgi/tech/1083480216/Jikes使ってる人いる?【高速Javaコンパイラー】
http://pc5.2ch.net/test/read.cgi/tech/1081086751/ | Java 座談会 |
http://pc5.2ch.net/test/read.cgi/tech/1029407008/【Java】NetBeans vs Eclipse【IDE】
http://pc5.2ch.net/test/read.cgi/tech/1026974531/【C++】2ちゃんねらーはOO嫌い?【Java】
http://pc5.2ch.net/test/read.cgi/tech/1080961057/【ようこそ】 Java1.6=J♯? 【MSワールドへ】
0018で?
NGNG0019デフォルトの名無しさん
NGNGRuby >>>>>>>>>>>>>>>>>>>>>>>>>>>>..Jab d
0020デフォルトの名無しさん
NGNG同じように.NET系についてもまとめよろ。
0021デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1095325802/ 激安で買えるVisual Stdio.NET theSpoke Disc.8
http://pc5.2ch.net/test/read.cgi/tech/1088812165/ VB.NET質問スレ (Part6)
http://pc5.2ch.net/test/read.cgi/tech/1080916113/ 【Whidbey】Visual Studio 2005スレ【.NET 2.0】
http://pc5.2ch.net/test/read.cgi/tech/1080006204/ 【Cマガ】そろそろ.NET Frameworkを始めておこう2
http://pc5.2ch.net/test/read.cgi/tech/1069805286/ 【.NET】荒らし対策自治スレ【WinFX】
http://pc5.2ch.net/test/read.cgi/tech/1023727377/ フリーの.NET統合開発環境「SharpDevelop」
http://pc5.2ch.net/test/read.cgi/tech/1053157149/ VB.NET房をプログラマのレベルまで育てるスレ
http://pc5.2ch.net/test/read.cgi/tech/1040651917/ C、VB、VC++以外の.NETを語るスレ
http://pc5.2ch.net/test/read.cgi/tech/1033489735/ ミ,,゚Д゚彡フサギコのフサフサ.NET談話室
http://pc5.2ch.net/test/read.cgi/tech/1080844925/ 【Cマガ】そろそろ.NET Frameworkを始めておこう3
http://pc5.2ch.net/test/read.cgi/tech/1045307942/ VC♯.NET統合スレッド
http://pc5.2ch.net/test/read.cgi/tech/1027559190/ .NET で作られた有名ソフトって何がある?
http://pc5.2ch.net/test/read.cgi/tech/1034785925/ .NET大ブーム9 来年60%? 非クロスバレバレ
http://pc5.2ch.net/test/read.cgi/tech/1056736788/ Visual Studio.NET Academic利用例をあげて下さい
http://pc5.2ch.net/test/read.cgi/tech/1058786955/ 【.NET】C♯Builder Personal update 2【フリー】
http://pc5.2ch.net/test/read.cgi/tech/1055869013/ (・∀・) Visual J .NET 2003 (・∀・)
http://pc5.2ch.net/test/read.cgi/tech/1031758069/ .NET大ブーム5
http://pc5.2ch.net/test/read.cgi/tech/1082255564/ VB.NETばかりではC中心の.NETは普及しなくなる
http://pc5.2ch.net/test/read.cgi/tech/1031580690/ Visual J .NETどうよ?
http://pc5.2ch.net/test/read.cgi/tech/1051594350/ 【企業】.NETが普及すると共産主義となる【人民】
0022だからなに?
NGNG0023デフォルトの名無しさん
NGNG0024留byは最奥言語p!
NGNGるbっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっy
るbyぼいtらめならしねつy!
!!!!!!!!rびゅ1!!!!!!!!!!!
0025デフォルトの名無しさん
NGNGJava3D も JAI も JMF も同じくスレ違いなんだよなあ。
誰かついでに、 Java クライアントサイドスレッドもきぼんぬ。
立ててくれるんなら、関連サイトあつめてくるよー。
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG固定なんだろうなぁ…。
0031デフォルトの名無しさん
NGNGalphaworksあたりからMPEG4周りで出てた気もするが
それ以外codecを供給しているとこを見たことがない。
0032デフォルトの名無しさん
NGNGmp2までは標準であるがmp3がないとか・・
まぁサンプリング系はOggが普及してくれればそれでいいか
0033デフォルトの名無しさん
NGNGIDE なんかでプロパティをいじったりするアレです。
0034デフォルトの名無しさん
NGNGあれはJTableで柔軟にやってるとおもうんだが?
0035デフォルトの名無しさん
NGNG再利用可能なクラスとして設計するんじゃないかなー、と思って。
beans をセットすると、そのプロパティが自動で列挙・編集できる。
プロパティの型はプリミティブ型とそのラッパークラスとStringを
サポートしていれば十分です。
欲を言えばプロパティが Color, Font だったら、それぞれのチューザが出るとか。
Point, Dimension, Rect などもサポートしていると感動します。
0036デフォルトの名無しさん
NGNGそれとも自分のGUIアプリでそれっぽいコンポーネントが使えればそれでいいのかどっち?
0037デフォルトの名無しさん
NGNGGUI は含まれていないんですよね…。Commons みたいな感じで
汎用 Swing コンポーネントを作ってる集団とかないですかね?
デートタイムピッカーとか、カレンダーコントロールとか。
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGJComponent のサブクラスで、PropertyEditor インターフェイスを
実装しているのが理想です。
0040デフォルトの名無しさん
NGNGSwingするのってあんま盛り上がってないからなあ... Swingの部品ビジネスとか。
https://bean-builder.dev.java.net/
このへんになんかない?
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG整備・公開しているんですね。知りませんでした。
NetBeans Platform に PropertyPanel というそのものズバリの
部品があるようです。情報ありがとうございまいした。
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGJIDE Grids is a 100% Swing-based GUI component library focusing on JTable.
http://www.jidesoft.com/products/grids.htm
0045デフォルトの名無しさん
NGNGどんな感じなの?
0046デフォルトの名無しさん
NGNG高いな。でもすごく便利そうだ。
Jakarta GUI きぼんぬ。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGhttp://www.infonode.net/index.html?idw
0050デフォルトの名無しさん
NGNGDemoみるとなにげにプロパティ画面もついてるみたいだな
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGjEditみたいなやつ作ってくれ
0054デフォルトの名無しさん
NGNGjEditってGUIエディタだっけ?
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG好きじゃあ ないですヨ
ただ Write once, run anywhere が好きなだけで・・
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGAPI も LF も好きだ。
遅いのが、ちょっとだけ嫌いだけど、最近は許容範囲だと思っている。
>>54
GUIのテキストエディタですな。
0065デフォルトの名無しさん
NGNGGUIを手書きで書くのはばからし。
0066デフォルトの名無しさん
NGNG0067Bill Joy
NGNG「遅いんですよ このプログラム」 きまってこのセリフだ
遅いのはてめーのコードがタコいからなんだよ
なんてコタあいわねーよ・・客だからナ
だから素人用に内部でバリバリに最適化したライブラリを作ってやる
これが大ウケだ
0068デフォルトの名無しさん
NGNGこのSwingに
いえ・・失望したのは自分自身にですヨ・・・・
これほどのクラスライブラリを与えられて
それをプロとしてキチンと使いこなせなかった自分自身に
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGJava+Swingによる2chブラウザ V2C
http://pc5.2ch.net/test/read.cgi/software/1083091118/
0072デフォルトの名無しさん
NGNG何かそれ作者がSwingの使い方間違ってるんだってさ。
悪い見本?だから、Swingの評判を落としてるって。
Swingスレじゃないっぽいけど、ム板かマ板に書いてあった。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGそもそもJavaを選んだその時から人生踏み外してるのかもしれませんね
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG知らない。「遅い」って俺が言ったら、「Swingが遅いんじゃなくて作者が悪い」って返ってきた。
0077デフォルトの名無しさん
NGNGSwingのすばらしさ90%くらい捨てるけどな
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGそう。
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGVMの起動は速くなってるみたいだけど。
0084デフォルトの名無しさん
NGNGボタンだろうがリストだろうがテーブルだろうがお手の物ですが何か?
0085デフォルトの名無しさん
NGNGLinuxで動かしたら結構サクサクだったのに、Winマシンで動かしたら遅かった、
とかいう話があったようだな。
0086デフォルトの名無しさん
NGNG言いたいんですねあなたは
0087デフォルトの名無しさん
NGNGそれをいいたいのはあんただろ。
おれは >>71 のとこにそんなことが書いてあったので書いた
だけだ。
ただしいま読み返してみると、どうもLinuxマシンのほうに速い
マシンを使っていたのは事実のようだ。
いまいちあてにならん。なんで自分のWinに入れてみた。
Pentium 4 1.6GHz 512MBメモリでやってみたが、爆速だった。
これで遅いというやつっていったい何を考えてるのかと思うくら
い速い。
Linux(Fedora Core 2)の自作VIA C3 1GHzでもやっぱりかな
り速い。やっぱ速いだろ、このSwingアプリ。
0088デフォルトの名無しさん
NGNG遅いというやつは1.3以前で動かしてるというオチ
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGうちではPenIII750MHz・Java1.4.2でストレスなく使っているが、
これで遅すぎると言う者もいるだろう。
0091デフォルトの名無しさん
NGNG残念ながら事実だ。
遅いといいたい人に遅くないと言わせるほどは速くない。
0092デフォルトの名無しさん
NGNG作者乙
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGと思うわけですよあなた
0096デフォルトの名無しさん
NGNGランタイム同梱すればいいじゃない?
あとHPやDELLとか大手って意外と標準で1.4入ってる
ブラウザでアプレットが動くようにだろうね
0097デフォルトの名無しさん
NGNGJavaって、ネイティブアプリとは住み分けができてるものだと思ってた。
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGJavaアプリってかなりメモリ食うから、
128MBで2k動かしてると、どうしてもスワッピングが激しくなる
それで遅くなっちゃうんだよね
一般のアプリがスワッピングしても、たいしてメモリ食わないからそんなに遅くはならんのだけども
0101デフォルトの名無しさん
NGNG常識だろ
0102デフォルトの名無しさん
NGNG最大256MBなんだ・・・どうせ年明けに買い換えるし、しばらくの辛抱だ
0103デフォルトの名無しさん
NGNGOSで192M喰ったとしてもそれなりに楽だな
他に立ち上げてるときついが、昔に比べればかなり余裕
0104デフォルトの名無しさん
NGNG俺はソース見てないからSwingがどう使われてるか知らないけど、
触ってみた感じかなり丁寧に造りこまれてるのはわかるし、
動作だって決して遅くないと思うんだが、どこが遅いと思ったんだ?
少なくともSwingの評判落すようなものには見えないぞ。
MMX233MHz64MBのマシンでも使ってるって言うならそりゃ遅いだろうが。
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGSwingのドラッグ&ドロップってカーソルの形状変えられないのでしょうか。
0107デフォルトの名無しさん
NGNGSWTだとすべて自前で作らないとだめで結局使い物にならない
Swingにしておけば・・・
ってのを一つ見たことある
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGswingのDnD=transferHandlerは、簡単で便利だがドラッグ中&ドロップ時の
マウスポインタが取得できなかったり、ドラッグ中にマウスカーソルを
自由に変更できないといった明らかに手抜きな部分がある。
自由に操作したいのなら、awtのdndパッケージを使うしかない。
0110デフォルトの名無しさん
NGNGawt.dndはドラッグ&ドロップそのものを実装、
TransferHandlerはコンポーネント間のデータ転送
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGJFaceて何?
SWTのラッパってことですか?
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNGそのリンク先を見ても「JFaceて何? 」とか言っているようでは…絶望的だな。
0115106
NGNGなるほど。サンクスです。
これでawt.dndの方で実装する決心がつきました。
0116デフォルトの名無しさん
NGNGいくらなんでも2年使って見切りをつけれないやつは死んだほうがいいと思っているのだが、、
0117デフォルトの名無しさん
NGNGどんなのができるの?
Swig製のスナップショットあるサイト知りませんか?
0118デフォルトの名無しさん
NGNGどういうところが?
っていうか、必死だね。
0119デフォルトの名無しさん
NGNG例えば
ttp://www.zefhemel.com/archives/2003/12/23/java-studio-creator-screenshot
ttp://v2c.s50.xrea.com/screenshot_win_write.png
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGプゲラも注目する新Swing、ってことだね。
0122デフォルトの名無しさん
NGNGとりあえず本家のSwingSightings
ttp://java.sun.com/products/jfc/tsc/sightings/S19.html
0123デフォルトの名無しさん
NGNG重いと思うこともないし。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNGこんなにあるんだ……
0126デフォルトの名無しさん
NGNGそれマルチポストだから
0127デフォルトの名無しさん
NGNG1.4でもだいぶ許せたけど、1.5は全然OK。かくいう俺もV2Cからの書き込みなんだが。
0128デフォルトの名無しさん
NGNGSwigはこっち。ttp://swig.shibu.jp/
0129デフォルトの名無しさん
NGNGでも、スレの描画がおかしくなることない?
いままで使ってないからJ2SE5の影響か普通にバグかはしらないけど
0130デフォルトの名無しさん
NGNGリフレッシュのタイミングもちょっと変かな?メール欄を中身表示と非表示切り替えたときのリフレッシュがなかったり、
PCがレジュームから帰ったときに再描画がなかったり(これはSwing側の問題かな?)
まぁ、動作は完璧じゃないね。速度が速いから納得してるけど。漏れは。
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGJavaなんてうんこ。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGまじそうなのかも。だっておれもV2C使ってるけど、1.4.2(Mac OS X)では
>>130の言っていることが一つも再現しない。
0135デフォルトの名無しさん
NGNGしかし、マックでは他にまともな2chビューアがないので愛用しているのであった。
0136デフォルトの名無しさん
NGNG「このアプリは全てのアクセスを要求?」
手抜きすぎ。
0137デフォルトの名無しさん
NGNGえ?
0138デフォルトの名無しさん
NGNGjnlpで
<security>
<all-permissions/>
</security>
っていいんかな〜
って言いたかった。
せっかくJAVAのブラウザなんだからセキュリティー上クライアントのシステムリソースには触れて欲しくないのが心情。
アクセス履歴とかを残せなくなるのは仕方が無いが・・・。どうだろうか。
「アプリケーションは、あなたのローカルマシンおよびネットワークに対して無制限のアクセスを要求しています。」
ってきつくない?ブラクラだったら即死?
0139デフォルトの名無しさん
NGNGあんまり見ないのも事実。
0140デフォルトの名無しさん
NGNG0141Javaなんてうんこ
NGNG0142デフォルトの名無しさん
NGNGなんだと
0143デフォルトの名無しさん
NGNGダウンロード版があるんだから、あまり気にしてもしかたないよ。
0144デフォルトの名無しさん
NGNG特定のフォルダだけアクセスできるモードがあれば便利かも。
0145デフォルトの名無しさん
NGNGこれはかなりいいね。今までサーバサイドJavaの仕事ばかりやってたので
Swingは敬遠していたのだが、これだけ簡単に作れるのなら面白そうだなと思った
0146デフォルトの名無しさん
NGNG癖はあるけどまだまだこっちがいろんなところで強い
0147デフォルトの名無しさん
NGNGでも、NetBeans4.0でWebサービスが気軽に使えるようになるし、プロファイラも出るし、おもしろい状況になるかも。
0148デフォルトの名無しさん
NGNGこれかなりいいよ。
0149デフォルトの名無しさん
NGNGJ2se1.4.2までしか安定版はないのが欠点だが
4.0はあまりに3.6と違いすぎるのも問題が多そうだ
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGアンチェリはぼやけるだけで余計見にくかったりする罠。
0152デフォルトの名無しさん
NGNGJ2SE5使え。
0153デフォルトの名無しさん
NGNG捩れる位に同意。
何とかしてくれ、Swing manども!
0154デフォルトの名無しさん
NGNGJ2SE5使え。
0155デフォルトの名無しさん
NGNG>154
J2SE5ってTrueTypeレンダラ改善されたの?
全然気づかなかったんだけど。
0156デフォルトの名無しさん
NGNGアンチエイリアスもきれいになる。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGさわってみたら?
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGあとは自前ですべて処理
もし本当にいじりたいのならAWTのJNIサポートをみてみるといいよ
レンダリングをJNIで処理とかできる
0163デフォルトの名無しさん
NGNGこれのことかな?
0164デフォルトの名無しさん
NGNG1.4.1ではもちろんShift_JIS方面の変更が大きいし、一部ハードウェアアクセラレーションを使った
機能が追加されて体感速度はあがったけどね。
1.4.2ではほんのすこしで5.0はコンパイルがききやすいヘビーな処理は1.4.2と変わらない感じ。
ただしgcの速度が大幅に改善されていることと、インクリメンタルが別物になったとか大きい変更点はある。
起動時間はWindows使ってる限り改善されているように感じないし。
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGJFrame一個上がってくるまでの時間(=ほとんどプロセス起動とクラスロードじゃん)
をはかっているんだろう。
0168デフォルトの名無しさん
NGNGSystemLAFしか俺は使ってないがたしかに体感速度的には変わってないよ
JTableとか重そうなのをこれから調べてみるかな
0169デフォルトの名無しさん
NGNGWindowsではほとんど変わってないのにショック受けたしな
OpenGLも手元の環境では有効にならないし・・・動いたという報告も聞いたことない
BufferedImageのキャッシュはやり方知っていれば1.4.2でも適切に処理ができた
それでも敷居が下がったのはいいだろうね
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG配置したボタンなどが消えてしまいますが、なぜでしょうか?
同じ事を awt ですると消えないです。
0174デフォルトの名無しさん
NGNGpaintComponent(Graphics)をオーバーロードしたまい
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGSwingとくらべて大幅に早いってわけでもないしな
そもそもカスタマイズしたGUIを作るのが大変
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGそういう計画ってないの?
0181デフォルトの名無しさん
NGNGhttp://www.wx4j.org/
0182デフォルトの名無しさん
NGNGありがとう。はじめて知ったよ。
これがまともに使えるようになったら Swing も SWT もいらない
ってなことになったりするのかなぁ。
0183デフォルトの名無しさん
NGNGならないだろうね。
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG特に理由は無いよ。
続きはスレ違いだから他所でやってくれ。
0186デフォルトの名無しさん
NGNGキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0187デフォルトの名無しさん
NGNG0188173
NGNGありがとうございます。できました。
原因を聞いておきながら、実は解決策を望んでいたわけです。
しかし、また新たな問題が出ました。
JPanel のサブクラスの paintComponent(Graphics) で描画しようとしてますが
その上に乗っているラベルやボタンなどの上には描画できません。
どうすれば良いでしょうか?
ちなみに super.paintComponent() はやっています。
0189デフォルトの名無しさん
NGNG子コンポーネントが上に載ってるなら
そっちで上書きされるのがまともな挙動だと思うぞ
その上に描画したいのなら普通はGlassPaneとかでやるんじゃないかな
JFrame#setGlassPane(Component)ね
0190デフォルトの名無しさん
NGNG0191173
NGNGすみません。やろうとしている事を言えば分かってもらえると思います。
今ゲームを作っています。そのゲームは 5*5 のマスがある盤が 2つあって
そこをそれぞれの戦車が自由に移動できます。
そして、相手の戦車に 2回弾を当てると勝ちです。
動作は 3つのコマンドを一気に入力して 2つの戦車を同時に動かします。
コマンドはガード、弱い弾、強い弾、移動があります。
ガードは弱い弾だけ跳ね返す事ができます。
コマンドは盤面の上にあるアイテムを取ると使えます。
あとの詳しい説明は GUI には関係ないので省略しますが、このゲームの構造から
盤をクラスにしました。しかし、弾を撃つアニメーションは 2つの盤をまたがって
しまいます。そこで、それらをパネルの上に置いてそのパネルに描画すれば良いのでは
ないかと考えました。
0192デフォルトの名無しさん
NGNG厳密に言うと、GlassPaneを使うよりは別のレイヤーに弾をおいた方が
よさそうだが。
LayeredPane, GlassPaneなどのキーワードでAPIドキュメントを調べるのだ。
0193デフォルトの名無しさん
NGNG俺ならJava2Dで描画部分はまとめるけどね
0194デフォルトの名無しさん
NGNG> あとの詳しい説明は GUI には関係ないので
そこにある詳しくない説明もGUIには関係ないと思うのだが・・・
ま、オレも普通に1枚のパネルに描画するけどね。
0195デフォルトの名無しさん
NGNG動きのあるヤツなら、LayeredPaneなどSwingに重なり計算を任せずに
自前で重なり管理してやったほうがよくないか?
# スプライトクラスって誰か作ってないのかねぇ?
0196デフォルトの名無しさん
NGNG一番作っていて楽しい部分だからみんな自分用にガリガリ書いていると思われ
つーか、Java2D機能豊富で透過指定も余裕だからなぁ
そこまでほしいクラスでもないと思われ
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGダイアログを開いて、ボタンを押したときに呼んだ箇所へ値を返す仕組みは、
どのように作ればよいのでしょうか?
0201デフォルトの名無しさん
NGNG難しく考えないで。
いろんなやり方がありますから。。。
0202デフォルトの名無しさん
NGNGSwingでJProgressBarを使った開発を行っているのですが、
データ処理中にProgressBarを動作させる方法がわからず困っています。
JProgressBar1.setValue(JProgressBar1.getValue() + 1);
こんなのをフツウの処理(Threadではない処理)の中でぐるぐる回すだけではダメなのでしょうか?
0203デフォルトの名無しさん
NGNGわずか2時間足らずの間レスがつかなかっただけでスルー扱いとは、随分と気が短いですね。
とりあえずこれでも読んで落ち着いてください。
http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGちょっとググったら日本語のやつがみつかったけど?
ttp://taka-2.com/jclass/JProgressBar.html
0206202
NGNG>>205
をよんでみましたが私がやろうとしている処理ではプログレスバーを動かすことができませんでした。
処理中に画面が固まる。。。
というわけで
Runnableなクラスの中でぐるぐる回しつつ
jProgressBar1.paintImmediately(rectangle);
とかで強引にコーディングして逃げることができますた。お騒がせしますた。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGなかったっけ。
すみませんうろ覚えです。
0209デフォルトの名無しさん
NGNGhttp://java.sun.com/developer/onlineTraining/GUI/Swing1/shortcourse.html#JFCProgress
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNGあの変な表紙の本は?
0214デフォルトの名無しさん
NGNGJava GUIコンポーネント完全制覇
とか
0215デフォルトの名無しさん
NGNG萌え絵が表紙のやつ?おれは買ったよw
0216デフォルトの名無しさん
NGNGまあでも地味に「Java GUIプログラミング」がいいと思う。
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG買ったけど、地の文、漢字の誤変換大杉。萎える。
少数派だろうが、こういうのが気になる人は止めとけ。
初版だけかな?とりあえず校正の人は責任をとって欲しい。
0219デフォルトの名無しさん
NGNGCPUの創りかたも萌え絵だったけど良かったなぁ
0220デフォルトの名無しさん
NGNG0221216
NGNG売り切れてて買ってない。
↓その本
ttp://www.amazon.co.jp/exec/obidos/ASIN/4839913862/qid=1101031176/br=1-2/ref=br_lf_b_1/249-4488755-1849164
0222デフォルトの名無しさん
NGNGJava GUIプログラミングと完全制覇のどちらも高いし
でも量考えるとGUIプログラミングの方がイイのかな
0223
NGNG三分冊の本も冗長すぎる気がする。
完全制覇のやつもいいとは思わなかった。AWT用のコードと説明が長すぎ。
いくらAwtがもとにあるとはいえ、不要に厚くなって使いづらいしSwingの深い情報ないし。
CoreJavaのGUIの説明みたいなのがいい。
レイアウトマネージャーに限ってはプロフェッショナルJavaがいい。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNGVol.1 AWT編
Vol.2 Swing編「上」
Vol.2 Swing編「下」
値段は高いし、量も多いから読むの大変だけど
図書館に置いてあったから借りて読んでる
まぁ、俺は複数の本を少しづつ読みながら先に進んでるからお薦めという本はない
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGただGUIプログラミング初心者のスタートラインとしては最適らしいぞ。
アマゾンの感想読んだだけだけど....
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGどれでもいいよ。表紙で選べ
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG「Javaアプリケーション作成講座〜Swingプログラミング徹底攻略〜」
http://book.mycom.co.jp/book/4-8399-1386-2/4-8399-1386-2.shtml
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGただし挿絵は考慮しない。
0243デフォルトの名無しさん
NGNGその本さぁ…表紙やイラストが萌え絵なのは、まぁどうでもいいが、
WEBブラウザのサンプル動かすと、エロゲメーカーのページに飛ぶのは
止めて欲しいんだが…。
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG2. >>236の本を購入。絵がアレだが判りやすいと評判だしな。
3. まずはサンプルをビルド、よし、実行だ。
4. 月猫揚頁猥褻画像
5. 「仕事中に何見取るんじゃゴルァ」
6. 解雇
∧||∧
( ⌒ ヽ
∪ ノ
∪∪
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGいい本を書いて、萌え系の表紙・萌え系のサンプルにして、萌え系の人じゃないと受け入れられないようにして、萌え系の人だけがSwingわかるようにするという。
そして、萌え系の人がそうじゃない人に対して能力をつけ、世の中を萌え系の人中心で動かす、という巨大なプロジェクト。
将来的には秋葉原に政治の中心を移そうという壮大な計画。
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG装丁も統一感だせばいいのにな。
で、本屋の一角に並べる訳よ。そりゃもうオライリーのごとく萌え絵がずらりと。
0251デフォルトの名無しさん
NGNG本屋とかで買ってる奴を見かけると、マジで頭おかしいんじゃないかと思う。
0252デフォルトの名無しさん
NGNGttp://v.isp.2ch.net/up/bd75889d26d7.jpg
何の本だよ。
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG今の萌え技術書は微妙に萌えきれないイラスト
ばっかりで、なんか買うのが恥ずかしい。
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGって内容は良いの?
いいなら普通に読むぞ
0260デフォルトの名無しさん
NGNG既にコーナー化してるな。
0261デフォルトの名無しさん
NGNG初心者向けの本としてはかなり良い。
0262デフォルトの名無しさん
NGNGありがと、買ってくる
0263デフォルトの名無しさん
NGNGしつこいようだが、誤変換多発には注意
0264デフォルトの名無しさん
NGNG横線引いて書き直しますわ
読み終わってもBOOKOFFに売るわけでもないし
0265デフォルトの名無しさん
NGNG会社で君望ページなど接続してクビにならんようにな。
最近はログ取ってるし。
0266デフォルトの名無しさん
NGNGなんでAgeのページ飛ぶんだ・・・・
ひょっとして提供とか?
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNGあとサンプルとか公開したりしてるけど、サンプルしかなかったり…
0269デフォルトの名無しさん
NGNGプログラムを組む側からすれば、すごく便利なんだけど。
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNGむしろインターフェースが、ベースOSのものと異なっていたことのほうが大きいと思う。
J2SE 5.0でインターフェースがかなりネイティブ寄りになって良い感じ。
0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG今後の励みになります。
0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNGSwing。
SWTがEclipse以外の用途で生き残るとは思えない。
てゆーか、Eclipseが生き残ったとしても、いずれSWTは
捨てられると思う。
0277デフォルトの名無しさん
NGNG仕事で使う、または初心者ならSwing。
SWTを仕事で使ってるところは見たことが無いし(将来どうなるか知らんが)、
SWTは造りが非常にC的なんで、初心者には触らせたくない。
趣味でできる限り高速なアプリを作りたい、または既にオブジェクト指向を理解しているか
最初からC厨で影響受けることが無いならSWTでもいいと思う。
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG慣れてくるとどんどん複雑なUIも作れるが・・・
速度調整のほうが大事やね
0286デフォルトの名無しさん
NGNG仕事なら、RAD環境のあるSwing。
手書きでGUI書くのは、むなしい。
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG手討ち??
0289デフォルトの名無しさん
NGNG> インターフェイス=見た目 だと思ってるバカ
271がいってるインターフェースは話の流れから察するにLook&Feelの
ことみたいだから見た目であってると思う。
んで、272のいってるUIマネージャ変えるってのはUIManager使って
Look&Feelを変更しろってことだと思う。たぶん。
自作のアプリじゃない場合は、オプションなどでデフォルトのLook&Feel
を指定すればいい。
> java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp
0290デフォルトの名無しさん
NGNG仕組ってないのかしらん?
今自前のAbstractTableModelとTableModelListenerを使ってやってるんだけど、
セルにデータを保存するとき、選択行が変わろうとするとき
で別々のリスナーを作らないと共通に使える仕組が作れないっぽい
0291デフォルトの名無しさん
NGNGNetBeansで。
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGVisual Editorはeclipseプロジェクト内の発足だし、Version1.0もリリースされたから、結構使えるんじゃないかと思ってたんだが。
0294デフォルトの名無しさん
NGNG1.0になったというのはSwingを改良したというよりはSWT対応という意味が大きい
0295デフォルトの名無しさん
NGNGなんで使い物にならないんだ?
逆に、SWTなら、使い物になるのか・・・?
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG使用者の感想はどうですか。
0298デフォルトの名無しさん
NGNGちょっと品質悪いよね。1.1の計画からもSpring layout
対応とか外れるみたいだし、Swingに力が入ってるとは
思えないな。かといってSWT対応も主担当はIBMじゃなくて
ISCらしいし、どっちもIBMがまじめにやってる感じじゃなかったな。
まあVE1.0の見所を強いていうならEclipse3.0に対応し
ましたってとこじゃないの? 来週RAD6発売だけどVE1.0
からどこまで枯れたか見もの。
0299デフォルトの名無しさん
NGNGでもGUIエディタとしてNetBeansが細かいことができすぎる
ウィザードやら親切なものがJBuilderのほうが満載なので
最初にIDEにふれるならEclipseやNetBenasよりは先にさわらせたいかなぁ
地味にDB管理ツールがらくだったり
0300デフォルトの名無しさん
NGNGSWTスレのぞいてみなされとしか
0301デフォルトの名無しさん
NGNG作るみたいだし、貧弱な実行環境向けでは残るんじゃないかな。
SwingもJ2ME向けにProfile作ればいいのにな。最近のPDAならそろそろ
いい気がする。
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNGおかしいとはいわないけど、量産にはむかない。
0306デフォルトの名無しさん
NGNGツールの場合はRADのうまみがあまりないので、問題ないと思う。
業務システムで年端もいかないプログラマにコーディングさせると問題。
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNGそれと、ツールの場合、画面の動的な制御が多いから、RADであらかじめ画面を作れてもおいしくない。
0309デフォルトの名無しさん
NGNGhttp://www.swixml.org/samples/index.html
SwiXml, is a small GUI generating engine for Java applications and applets. Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into javax.swing objects.
…いや、ThinletとかSwingMLでもいいかもしれないんだけどね
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNGすごいネーミングのセンスだな。
Xwingじゃだめだったのか?
0312デフォルトの名無しさん
NGNGXwingは商標的な面倒に巻きこまれそうだ。
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGそれだ!
っていうか「NetBeansのフォーム定義XML」ってどういうの?
どっかに仕様書とかある?
.formファイルの例ってない?
ttp://jp.sun.com/software/sundev/ffj30/faq/GUI.html
とか見つけたけど、詳しく書いてないし。
当方eclipseユーザなもので…。
0317310
NGNG本気では探してないけど。
NetBeansのXML定義からSpringやSeasarのBean定義に変換するのもおいしそう。
そんなアイデアも、form定義の仕様を探さないことには。
実際には、イベントまわりの実装に腐心しそうだ。
0318デフォルトの名無しさん
NGNG0319309,316
NGNGSwiXmlの場合、
SwingEngine#render("コンポーネントのViewの定義.xml")で、
コンポーネントのツリーを組み立ててから、
SwingEngine#find("コンポーネントの名前")で、
該当するオブジェクトの参照を取り出して、
そこにイベントハンドラをaddしてゆく、
…というのが基本的な使い方になります。
>>317
このSwiXmlみたいに、
「XMLはViewを定義するだけ。Model や Controller は、Javaでソースを書け!」
ってことにして、とりあえず切り放して考える、というのもアリだと思うよ。
0320デフォルトの名無しさん
NGNGうん、おれは話題からして、UIをXMLからロードして作れる程度のものを想像していた。
SwingUIMgr mgr = new SwingUIMgr( hoge.xml);
JFrame frame = mgr.getJFrame( "hoge");
てな感じで。あとはframeつかって好きにしろや、ってことでよろしく。
0321デフォルトの名無しさん
NGNGイベントとかの嵐だしプロパティをガンガンいじるからなぁ
0322デフォルトの名無しさん
NGNGXSLTでSwiXmlに変換して使えるとしたら、
実装はわりと簡単になるよな。
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGどんな書き方になるの?
0325デフォルトの名無しさん
NGNGttp://groovy.codehaus.org/GroovyMarkup
0326デフォルトの名無しさん
NGNG現実的な話をすると、OGNLとか式言語を使えるようにして、リスナーを追加できるようにするのがいいのかと。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGできれば無料ので
0329デフォルトの名無しさん
NGNG0330!= 328
NGNG何を勉強すればいいんですか?
0331デフォルトの名無しさん
NGNG0332名無し
NGNG0333デフォルトの名無しさん
NGNGLinuxでは駄目なのね
悪いのは俺なのかJavaなのかLinuxなのか…
0334デフォルトの名無しさん
NGNGなんの話?
0336デフォルトの名無しさん
NGNGどっちかというと、「Linux」の名のもとにクリップボードの仕組みを統一できてないLinuxが悪いね。
0337デフォルトの名無しさん
NGNGGUIを実装したいのですが何を使ったらよいでしょうか?
javaでswingを使うなど考えたんですが、CUIとのデータのやり取り
が大変そう(自分の実力のなさから、、、)でどうしたものか悩んでるところです。
CUI側プログラムにwebサーバを実装して、GUI(javaが適当?)プログラムでは、
local接続して値をやりとりするってのはどうなんでしょか?
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGCUI側のプログラムを別のマシンで動かそうという考えがなければ別にソケット使う必要はないよ
(別のマシンで動かす場合でもwebサーバー実装は大げさというか無意味)
0340デフォルトの名無しさん
NGNGそこでjettyですよ
http://jetty.mortbay.org/jetty/
0341デフォルトの名無しさん
NGNGRMIが楽じゃないの?
0342デフォルトの名無しさん
NGNGSwingってべつにそんなにたいへんなものではないし、レイアウトマネージャ理解してくれば別に問題なし
とりあえずNetBeansいれてぺたぺた貼り付けてみて問題があったらまた質問するがよろし
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNGunameが「Darwin」だったら、てなところがあるんだよな。
で試しにMac OS X独自のプロパティ「apple.laf.useScreenMenuBar」を追加して、trueに
してみた。起動してみたらちゃんとMacのメニューバーになってやがる。
これNetbeans 3.6のころはちゃんと動かなかったんだよ。しかしDarwinだったら特殊な
プロパティを設定するような起動ロジックを入れるんなら、はじめからこのプロパティも
設定しときゃいいのに....
0346345
NGNGNetbeansスレに逝ってくる...orz
0347デフォルトの名無しさん
NGNGする方法ってありますか?
0348デフォルトの名無しさん
NGNGスクロールバーの値を取得して
JTableのrowAtPointを使えばいいんじゃない?
0349デフォルトの名無しさん
NGNGにはどうすればよいですか?
0350デフォルトの名無しさん
NGNGJTable自身はスクロールバーを持たない。
持つのは、JTableをviewに設定したJViewport。
あとはJViewportの持つJScrollBarを拾ってきてあれこれする。
0351デフォルトの名無しさん
NGNGatmarkit にも ほとんど同じ質問が出てるな。
そーいや Eclipse スレだったか SWT スレだったかで
JTable 使えねーとかわめいてる奴もいたな。
0352デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNGそれと起動時からルックフィールをWindowモードにするのも教えてください。
0355デフォルトの名無しさん
NGNGframe.setExtendedState(Frame.MAXIMIZED);
setStateというメソッドもあるが、アイコン化と通常状態への戻ししかできない。
・起動時にL&FをWindowsに。
ウィンドウを1つでも開く前に
UIManager.setDefaultLookAndFeel(クラス名);
クラス名は
XP風なら
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"
それ以前の(95以降XPより前)なら
"com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"
作ってしまったウィンドウのL&Fを変えるには、
そのあとで
SwingUtilities.updateComponentTreeUI(最上位のComponent);
する。invokeLaterから呼ばないとダメかも。
0356デフォルトの名無しさん
NGNG0357355
NGNG御意。
もとの質問者の意図が、
「どんなプラットフォームで動かされたときでもWindows L&Fにしたい」
なら355の方法、354がたまたまWindowsを使っていて、
「動いているプラットフォームの標準L&Fにしたい」なら、クラス名の所は
UIManager.getSystemLookAndFeelClassName()
の返値を使ってくれ。
0358デフォルトの名無しさん
NGNG>>355 は Windows 以外じゃ動かないんじゃない?
0359デフォルトの名無しさん
NGNGsunのWindowsLAFが用意されてる環境なら、どんなプラットフォームでも動くけど、デフォルトやライセンス的にはWindowsだけだな。
厳密にいえば、355は特別なことをしてなければWindows上のSunのVMでしか動かないね。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNGSwing部品で、手入力可能な部品があるぢゃないですか?
(例えば、JTextFieldやJComboBox)
その部品で以下の現象が発生します。
IMEを起動し、よみ入力状態(未確定)中に
Ctrl+V(ペースト)を押下するとExceptionが発生する。
※JDK1.3でも1.4でも発生するようです。
この問題の回避方法を検討しているのですが、
良い方法が思いつきません。
過去に解決した方いらっしゃいましたらアドバイスおながいします。
あと、この問題を解決する上で一つ試してみたい方法があります。
「現在読み入力中である。」というのが分かれば
その時だけCtrl+Vをconsumeしてやれば
回避できそうな気がしているのですが、
Javaで「現在読み入力中である。」というのは
判断可能なんでしたっけ???
教えてくんですんませんが、よろしくです。
0362361
NGNG読み入力中かどうか判断できたので、
コピペのキーイベントを消費すれば
回避はできますたー。
でも、これってswingの
障害に見えるのですけど
どーなんですかねぇ???(*´д`*)
0363デフォルトの名無しさん
NGNGWindows2000SP4 & j2sdk-1.4.2_06 の環境では発生しないんだけど、
そちらの環境はどんな?
0364デフォルトの名無しさん
NGNGあと、IME に何をつかってるかにもよるのかも?
WindowsXP + MS-IME
java version "1.5.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing)
だと例外は出ない。
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG0370361
NGNG1.3.1_01は、以下のVMです。
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01a)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
1.4.1_03は失念です。。。…(;´Д`)
発生Exceptionはこんな感じ。
java.lang.IllegalArgumentException: Invalid substring range
at java.text.AttributedString$AttributedStringIterator.<init>(Unknown Source)
at java.text.AttributedString.getIterator(Unknown Source)
at javax.swing.text.Utilities.drawComposedText(Unknown Source)
at javax.swing.text.PlainView.drawElement(Unknown Source)
at javax.swing.text.PlainView.drawLine(Unknown Source)
at javax.swing.text.PlainView.paint(Unknown Source)
at javax.swing.text.FieldView.paint(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI$RootView.paint(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.paintSafely(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.paint(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintWithBuffer(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
0371361
NGNGWindowsXP SP1 + MS-IME
ですた。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG1.4.1だけみても_07までいってるわけだしな
1.3.1なんて_14だ
0374デフォルトの名無しさん
NGNG1.3.1の最新と1.4.1の最新で試してみたら?
0375デフォルトの名無しさん
NGNG1.3.1 も 1.4.1 も例外吐くね。素直に 1.4.2 を使えって事か。
java version "1.3.1_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_15-b01)
Java HotSpot(TM) Client VM (build 1.3.1_15-b01, mixed mode)
java version "1.4.1_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_07-b02)
Java HotSpot(TM) Client VM (build 1.4.1_07-b02, mixed mode)
0376デフォルトの名無しさん
NGNG1.3.1は1.3系最終だからきっついな
どっちにしろ移行フェーズにはいってるVMだからなんとも
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG1.3 で Swing 使うならその程度の不具合があっても我慢しろ、でなくて?
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGSwing が重いのは 1.3 に限った事ではない。
スレタイにも低速って書いてあるしな。
0381デフォルトの名無しさん
NGNG0382361
NGNGま、みなさんのご意見は
ごもっともですわぁ。
ただ、いろいろ事情があって
そう簡単にバージョンも
上げられんのですよ。
swingの障害だということが
分かったことだけでも
ちょっとスッキリ?です。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4686956
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGUIManager.put("OptionPane.okButtonText", "表示させたい文字列");
0385デフォルトの名無しさん
NGNGありがとうございます。
もひとつ、ウィンドウの大きさを固定するには(ウィンドウの角にマウスを合せても何もできない)
どうしたらいいでしょうか?
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGソースから見つけるとしても、ある程度アタリつけて探さないとだめだし。
0389デフォルトの名無しさん
NGNGあそこにメニューを追加することできますか?
0390デフォルトの名無しさん
NGNGMac OS X + Java 1.4.2_05ですが、そのメニュー出ないです。
JVMはちゃんと右クリックにも対応してるんですけど。
0391デフォルトの名無しさん
NGNGJavaでは無理だと思う
0392デフォルトの名無しさん
NGNGjava.awt.Frame#setUndecorated(boolean) で
ネイティブのタイトルバーとか出ないようにした上で、
自力でタイトルバー表示して自力で右クリックメニュー表示するとか。
0393デフォルトの名無しさん
NGNGまぁWindowはライトウエイトじゃないからな
0394SQRT ◆1udXdvAcZc
05/01/24 10:38:54やはりSWTなのか
0395デフォルトの名無しさん
05/01/24 12:46:05>>7
0396デフォルトの名無しさん
05/01/24 13:04:29書き込みがないということは、
みんな問題なくSwingを使いこなせているということ。
素晴らしいことではないか。
0397デフォルトの名無しさん
05/01/24 17:11:05SWTはユーザーの多いWindows等でしか安定動作してなかったとか
低機能がきつかったかと
業務系はテーブル使ってなんぼだからね
0398デフォルトの名無しさん
05/01/25 08:15:27漏れも結局Swingしか使ってない。
0399デフォルトの名無しさん
05/01/30 23:08:46Swingの方がいいな。
それにしてもこのスレ下がりすぎ。
0400デフォルトの名無しさん
05/02/04 00:32:30ttp://forum.java.sun.com/thread.jspa?threadID=585673&start=0&tstart=0
これぐらいしないとダメ??
0401デフォルトの名無しさん
05/02/04 00:58:25100行ちょっとじゃん。全然大した事無いような……
0402デフォルトの名無しさん
05/02/04 01:07:430403デフォルトの名無しさん
05/02/04 01:36:54ゴメンネ。
0404デフォルトの名無しさん
05/02/04 13:17:57InputMap inputMap = myTextArea.getInputMap( JComponent.WHEN_IN_FOCUSED_WINDOW );
ActionMap actionMap = myTextArea.getActionMap();
inputMap.put( KeyStroke.getKeyStroke( "ctrl S" ) , actionMap.get("caret-begin-line"));
とした場合、ctrl s に行頭まで移動を割り当てることができるのですが、
"ctrl S"の部分を"ctrl A"にするともとから定義されていた select-all が呼び出されてしまいます。
inputMapからremove、もしくは上書きしたいのですが誰かアドバイスをくださいませ。
removeというメソッドはあるのですが、そこに何を代入してよいのか分かりません。
0405デフォルトの名無しさん
05/02/04 13:36:24input.remove(KeyStroke.getKeyStroke("ctrl A"));
でいいんじゃない?
0407デフォルトの名無しさん
05/02/04 18:48:00inputMap.remove(KeyStroke.getKeyStroke('A', 2));
変わってないけどためしに
0408404
05/02/04 18:58:24んーやっぱダメみたいです。
ちなみに環境は Win2000 + Java1.4.2_01 です。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10208&forum=12&0
こんなの見つけましたが、"ctrl A"に新しく関数上書きしている場合は
関係ありませんよねぇ・・。
0409デフォルトの名無しさん
05/02/04 19:13:54↓を使うんじゃないかな?
javax.swing.text.Keymap
JTextComponent.getKeymap()
0410404
05/02/04 19:50:20KeyStroke ctrlA = KeyStroke.getKeyStroke(KeyEvent.VK_A, Event.CTRL_MASK);
Keymap map = myTextArea.getKeymap();
map.removeKeyStrokeBinding(ctrlA);
としたけどダメでした。
他のサイトではこの方法でEnterを消すことはできるようでした。
ttp://www.vc-net.ne.jp/~ytp/bbs/java/bbs1337.html
ttp://java-house.jp/ml/archive/j-h-b/026722.html
そこで、自分の環境でEnterもためしにやってみましたが消えません。
情報が古いのかなぁ?
0411デフォルトの名無しさん
05/02/04 21:29:04KeyStroke ctrlA = KeyStroke.getKeyStroke("ctrl A");
inputMap = textArea.getInputMap(JComponent.WHEN_FOCUSED);
while (inputMap != null) {
inputMap.remove(ctrlA);
inputMap = inputMap.getParent();
}
JTextComponentの編集用キーバインディングは WHEN_FOCUSED のInputMap
に登録されているのでそれを再帰的に辿って消せば消せます.
でも削除しなくても上書きで問題ないはずです.
特定のテキストエリアについて編集用キーバインディングを上書きしたいなら
InputMap newMap = new InputMap();
newMap.setParent(textArea.getInputMap());
newMap.put(ctrlA, "hoge hoge");
textArea.setInputMap(JComponent.WHEN_FOCUSED, newMap);
と,新しいInputMapを作ってやるのがマナーかもしれません.
0412411
05/02/04 21:31:38KeyMap keyMap = textArea.getKeyMap();
// keyMap の変更
textArea.setKeyMap(keyMap);
と,setKeyMap()しないとダメだったと思います.
(JTextComponent#setKeyMap() の内部でKeyMapを元にInputMapとActionMapを
更新していたと思います.
0413404
05/02/04 22:30:22ありがとうございます!!
411の方法でバッチシ消せました。
そして412のKeymapの変更はどうやらいらないようです。
自分の方法がダメな原因がわかりました。
JComponent.WHEN_IN_FOCUSED_WINDOWとしていたからでした。
ここをJComponent.WHEN_FOCUSEDとしないと上書きが反映されないようです。
Swingも書籍はある程度出版されていて助かるのですが、
やはり細かいところになると情報がすくなくてつらいときあります。
ほんとにありがとうございました。
0414411
05/02/05 14:34:09>>412 に書いたのはKeyMapを使ってキーバインディングを上書きする方法だから
InputMap を変更する場合に KeyMap を更新する必要はありません.
swing は jdk の src.zip にソースコードがあるので読んではいけない
理由(クリーンルーム実装する仕事があるとか)がないなら読んで調べる
のが一番確実です.最終手段ですけどね…
0415デフォルトの名無しさん
05/02/05 22:43:58JListだと列がないし、JTableだと行でなくフィールド一つ一つ選択できてしまう。
0416デフォルトの名無しさん
05/02/06 00:23:21jtable.setRowSelectionAllowed(true);
0417デフォルトの名無しさん
05/02/06 00:55:24うほ・・・さんくす
がんがってみます
0418デフォルトの名無しさん
05/02/07 13:23:480419デフォルトの名無しさん
05/02/07 14:04:500420デフォルトの名無しさん
05/02/07 18:27:280421デフォルトの名無しさん
05/02/08 02:02:320422デフォルトの名無しさん
05/02/08 02:34:350423デフォルトの名無しさん
05/02/08 08:37:29ってもうある?
0424デフォルトの名無しさん
05/02/08 09:19:04そんなん使うならSwingでよい。
SwingをSWTのインターフェイスで使うのはあほらしいし、わざわざSwingのインターフェイスでSWTを使うほどSwingとSWTの速さに差はない。
0425デフォルトの名無しさん
05/02/08 10:16:30とはならないわけ?
0426デフォルトの名無しさん
05/02/08 11:14:37Swingいまだに使えないと思っているやついるんか
0427デフォルトの名無しさん
05/02/08 13:03:21Swingいまだに使えないと思ってたが、V2Cみたいなのは凄い。
ポトペタで作れる?
0428デフォルトの名無しさん
05/02/08 13:58:370429デフォルトの名無しさん
05/02/08 14:12:47GUIはポトペタ、これ定番。
0430デフォルトの名無しさん
05/02/08 14:14:39前半と後半の論理がつながっていない。
0431デフォルトの名無しさん
05/02/08 15:09:53ポトペタで作ったら売れ行きが良くなったり使われ具合が良くなったりするのか?
逆に言うとポトペタ使えないと、売れない使われないGUIしか作れない、と。
それって >>428 を肯定しているだけでは?
0432デフォルトの名無しさん
05/02/08 15:55:48ポトペタがあるのに意地でも使わないのもバカ
0433デフォルトの名無しさん
05/02/08 16:45:170434デフォルトの名無しさん
05/02/08 17:51:10DelphiのポトペタIDEはDelphiのポトペタで作られてる。
JBuilderのポトペタIDEは、、、知らん。
0435デフォルトの名無しさん
05/02/08 19:04:52それはコストや出来具合にかかわってくる
JavaのGUI]ツールとしてのできは
NetBeans>JBuilder>JDev>EclipseVE
ってところだろう
0436デフォルトの名無しさん
05/02/08 19:09:37NetBeansも使いづらいと思ってるんだけど、JBuilderってそれより悪い?
Delphiのアクションまとめるやつが、すげー使いやすかって忘れらんない。
0437デフォルトの名無しさん
05/02/08 19:17:10ランタイム用にインストールして起動もしなかったヨ。
大昔にJBuilder使って最近Eclipse触っただけだったんだが、商用が良い筈と脳内で勝手に思ってたよ。
0438デフォルトの名無しさん
05/02/08 20:01:20昔は完全なOEMだった
だから今でも互換性のためにGUI部分はほぼおなじ
ただしバージョンは古いのかな
メニュー周りとかウィザードとかそういったところがJBuilderと比べて弱い
結果としてJBuilderのほうがいいというわけ
NetBeansは慣れるまで多少かかるが、慣れてくるとあふぉのようなつくり込みがイカス
ただし、Swingの仕組みをある程度知っている人向け
というか、JavaのGUIエディタすべてはSwingの最低限の知識ないときついけどな
>>437
ランタイム?JREじゃだめだよ、SDKいれないと
EclipseはJBuilder並みの親切さはないからその点はきついかな
というかJBuilderだけがとびぬけて親切度は高いと思う
初めてJavaのGUIいじるならJBuilderを進めたいけど、結局Swingを理解していないと
細かいところですぐに躓く
NetBeans以外はフレームとか地獄のサイズ指定になっているので
実際にアプリを組むときそのあたりで多少手がかかるかもしれない
0439デフォルトの名無しさん
05/02/08 21:04:25というか馬鹿だ
0440デフォルトの名無しさん
05/02/08 21:16:23JBuilderは6あたりからかな、軽く感じるようになって来たのは
NetBeansも3.6からはLAFの影響か軽く感じやすい
0441デフォルトの名無しさん
05/02/08 22:20:45解説サンクス
0442デフォルトの名無しさん
05/02/08 23:45:25確かに重いんだけど、GUIいじる時間もそんな長くないし
0443デフォルトの名無しさん
05/02/09 00:37:50そういったことしているとNetBeansじゃないと大変な希ガス
そもそもsetSizeしている時点でだめすぎ>VE
0444デフォルトの名無しさん
05/02/09 08:39:48SwingとSWTのアドバンテージが?でつ。
上ではSWTが機能不足とあるけど、自分の認識ではSwingに対して後だしジャンケンのSWTが高速、だったんだけど違うの?
EclipseとSWTがセットなんだっけ?
0445デフォルトの名無しさん
05/02/09 09:38:34あとはそれを継承したクラスのイベントロジックをEclipseで作るってのはどうでしょう?
>>443
>そもそもsetSizeしている時点でだめすぎ>VE
詳しく教えて。setSizeってどこでされるの?
0446デフォルトの名無しさん
05/02/09 10:30:110447デフォルトの名無しさん
05/02/09 11:41:05JBuilderもそうだけど、JFrameとかJDialogとかはタイトルバーや
四方のインセットも含めてのサイズ指定が必要。
インセットを取得してそれを計算してサイズ調整しないと
環境によって表示が崩れる。
Swingの基本は推奨サイズを指定していってその結果
ウインドウサイズが決まるというもの。
各コンポーネントも環境によって必要サイズが違うからね。
また、環境をWindowsに固定したとしてもXPと従来のクラシックスタイルとでも
タイトルバーの太さとかかなり違うのは知っているだろう。
0448デフォルトの名無しさん
05/02/09 12:00:49機能不足と高速と、違う次元で比べて矛盾だと思ってるようでは甘いな。
0449デフォルトの名無しさん
05/02/09 12:05:04後出しじゃんけんというか、SWTがでたときはJ2SE1.3の時代。
このときのマシンパワーは低く、Pentium3/1GHzが比較的スペック高いほう。
メモリも今ほど贅沢にあったわけじゃないし、同じJREでアプリを動かしたとしても
今の環境とでは大きく差が出る。
そしてSwingも1.4になってから大幅に速度改善されて実用的になったのだが
ちょうどその直前あたりにでたのでSWTは当時としては軽かった。
ただし、どんどんSWTは重くなってるし逆にSwingはどんどん軽くなってきてる
また、ユーザーの多い環境であるWindowsは安定しているけどそれ以外が
わりと不安定だったりした。>SWT
そしてもっとも問題なのがSWTはあくまでもWindowsのアプリをJavaで
作ろうという程度のものであって作り方からまるで方向性が違う。
感覚的にはWin32APIで作ろうとするのに似ている。
業務系に多用されるであろうテーブル系の機能不足とかほかにもコンポーネントの
機能不足がかなりの問題になる場合もある。
マシンパワーの向上とVMの大幅なパワーアップが原因だな。
現状SWTのアプリがあまり作られていないことからSWT=Eclipse専用とおもっていい。
一応両方触ってみるといい。まったくべつものでびっくりするから。
0450445
05/02/09 12:15:02なるほど、普段packつかってなかったから、知らんかった。
packして推奨サイズにされる事が、「あれ?なんでちっちゃくなったの?」って思ってた。
一つ一つ推奨サイズを指定しなきゃいけなかったのか。
>タイトルバーの太さとかかなり違うのは知っているだろう。
このあたりはちょっと余裕もってsetSizeしてた。
推奨サイズを指定してレイアウトマネージャに配置を任せてはいるけど、
ウィンドウサイズは自分で指定したかったのでそうしてた。
0451デフォルトの名無しさん
05/02/09 13:35:40絶対的なサイズを扱いたいときはJFrameにJPanelをトップに貼り付ける
そのJPanelに推奨サイズを指定、JFrameにpack()をセット
あとはnullレイアウトだろうがご自由にどうぞ
余裕持ったサイズってのはWindowsだけならまだしも、Windows以外の環境を考慮すると
結構厳しいものがあったりする
Windowsでも年いった管理職の人とかタイトルバーとか外枠大きくしたりしている人も割といる
0452444
05/02/09 13:53:35自分が使ってた頃は、レイアウトマネージャとかいうのが邪魔して、
仕方ないからグリッドレイアウトを見えないように使って自由にポトペタやったんだけど、
それは今も一緒?
0453デフォルトの名無しさん
05/02/09 13:56:290454445
05/02/09 14:07:32>絶対的なサイズを扱いたいときはJFrameにJPanelをトップに貼り付ける
>そのJPanelに推奨サイズを指定、JFrameにpack()をセット
参考になりました。
ウィンドウサイズだけはキッチリ合わせられないもんだと思ってた。
>>452
>自分が使ってた頃は、レイアウトマネージャとかいうのが邪魔して、
>仕方ないからグリッドレイアウトを見えないように使って自由にポトペタやったんだけど、
今でもレイアウトマネージャは使うし、理解しなければGUIは面倒だよ。
VBみたいにやるのを想像しているならば、弊害も理解したうえでnullレイアウトでやればいいけど。
「グリッドレイアウトを見えないように」ってどんな使い方だ?
0455デフォルトの名無しさん
05/02/09 14:48:21これって昔っからあったっけ?
>弊害も理解したうえで
環境変わるとコントロールがはみ出る程度の弊害、と理解したけどおk?
0456デフォルトの名無しさん
05/02/09 15:07:23nullレイアウトは昔からある。
Swingがでるまえから。
・絶対座標で扱うので文字のサイズとかちゃんとあわせないとダメ
・あわせたとしても特定環境でしかあわせられない
という点にきをつければいい。
VBやBCB、Delphiのように手軽に貼り付けれるし、これらもフォントサイズとか
環境をかえるとちゃんと動かないので、Windows専用とか割り切って作るなら
十分実用的。
特にWindowsとWindows以外ではOSのDPIの設定値が違うためにフォントは
問題になりやすい。
とはいえレイアウトなんて
・フロー
・ボックス
・ボーダー
の3種類の組み合わせだけで実現できるけどね。
これでできないようなのは通常の使用ではまずない。
0457デフォルトの名無しさん
05/02/09 15:18:34Swingがでたときは1.1のオプショナルパッケージで環境的に非常に遅かった。
Swingでなくともインタプリタメインで一部JITがではじめたりしたがJITも
コンパイル速度が問題になったり万能ではなかった。
マシンも200MHz以下、32MBとかの時代で特にメモリが厳しかったと思われる。
メモリが少ないとGCも頻繁に入るし、世代別GC導入前なのでループ中に
GCいれたりとかあほな環境だった。
1.2で標準で取り込まれ、クロスプラットフォームな高精度なGUIがでたのはいいのだけれども
重さは1.1以上に悪化したり。
1.3でhotspot導入などで高速化、安定化されサーブレット/JSPが流行り始めて
業務で使えるVMになってきたが、クライアント分野でのパワーアップは誰も見向きもしなかった。
1.4でさらなるクライアント方面のパワーアップに加えて描画がアクセラレーションが
環境に合わせてきくようになってSwingがはじめて実用的になる。1.4.1や1.4.2と
マイナーバージョンアップするにつれて速度が向上。
サーバーVMを筆頭にVM自体がどんどん頭よくなってきたのもこのころ。
と、Swing自体の改良もあるけどVM自体の改良や1GHz超えてメモリ256M
のってるのがすでに標準とか、そういったことも影響している。
0458デフォルトの名無しさん
05/02/09 16:38:55おかしいよね。IBMですらSWTを単体で使うような真似は
ほとんどしていない。
例えばWMEではSWTの上をAWTで覆ってSWTを完全に隠蔽しているし、
SWTがメジャーになったきっかけのEclipseでもJFaceなどの
ライブラリを併用している。
SWTの単独利用をIBMが正式に打ち出したのは唯一eSWTだけ
だけど、これは組み込みのような貧弱な環境向け。
#しかしこれもモトローラなどと共同でeJFaceの開発が始まってるらしい。
要するにSWTは各ウィンドウシステムの差異を最小限の厚さの
レイヤでおおうだけのライブラリ。Swingとくらべるようなもんじゃないよ。
0459デフォルトの名無しさん
05/02/09 16:49:58となるとAWT-Swing, SWT-Swing, SWT-Jfaceといった使い分けになるのかな?
0460デフォルトの名無しさん
05/02/09 17:32:56足らない気がするけど。
現状ではRCPのようなアプリケーションフレームワークまで含めてアプリ
ケーション全体の構築コストを考えてどっちを選ぶかって感じだと思う。
ところで、SWTってあれだけデザインパターンが多用されているEclipse API
のなかで、ぽつんと異質なものが混じってる感じなんだよね。
あと継承不可とかコーディング規約とか。エリック ガンマの本でも
SWTのとこになるとちょっと調子狂うし。あの部分だけ、
IBMから組み込み処理系を請け負っていたOTIが組み込み用に
別途作っていたライブラリを使いまわしたんじゃないかって気がする。
ってSwingの話じゃなくてすまん。
0461デフォルトの名無しさん
05/02/09 19:20:19異質でイビツなのでスルーでおk?
0462デフォルトの名無しさん
05/02/09 19:25:190463デフォルトの名無しさん
05/02/09 19:28:20Qt/motif/Win32/gtkをSWTでラップ、さらにその周りをAWTでラップ。
0464デフォルトの名無しさん
05/02/09 22:53:41Swingは立地クライアントで地味にのびてる
アプレットでもアプリケーションでもWebStartでもいいわけで
0465デフォルトの名無しさん
05/02/10 01:37:230466デフォルトの名無しさん
05/02/10 02:28:59これでJ2SE5のさらによくなったGUI(Swing)が組めるよ
5.0のWindowsLAFの出来のよさもすばらしい・・・
一番体感するところはJava2Dのアクセラレーションがきく描画かどうか
比較的意識しなくてもつかえるようになってるあたりか
J2SE5はGC時間も早いのですんげーべんりだな
0467デフォルトの名無しさん
05/02/10 09:11:590468デフォルトの名無しさん
05/02/10 10:44:15いまからなら1.4.2か5.0だと思うからデメリットはほとんどない
楽勝かどうかは腕次第だからなんとも
0469デフォルトの名無しさん
05/02/10 11:55:080470デフォルトの名無しさん
05/02/10 12:09:53細かい要望が多くて。
通信のタイミングとかも、考えるの大変だし。
0471デフォルトの名無しさん
05/02/10 12:20:18見た目で張ったりかましていればなんとかなるという親父もわりといる
俺はずっとクライアントサイドかいていたから慣れてるけど、WEBアプリが
流行ったのだってここ4,5年程度だし、その前はみんなC/Sだったし
実際のところWEBアプリのほうがあらゆるユーザーの挙動を考えると大変だよ
セッションなんてold世代にのこるから何も考えないとFullGC発生しやすいし
0472デフォルトの名無しさん
05/02/10 13:01:13>クライアントは楽勝じゃないなぁ。
これ恐ろしく楽勝だけど
0473デフォルトの名無しさん
05/02/10 13:07:20自分で考えて作るならどれも楽勝だと思うが
0474デフォルトの名無しさん
05/02/10 13:15:23そうそう、WEBアプリで良いものって面倒だよねー。
Javaで楽にC/Sなら、クライアントJDBC直接続?Java RMI?
XMLが無難なんだろうなー。
0475デフォルトの名無しさん
05/02/10 13:40:163層式ならXMLを使うけどC/Sで業務でXML直接受けるDBってあまりきかない希ガス
0476デフォルトの名無しさん
05/02/10 13:56:59やっぱ、インターネッツに出ちゃう場合は3階層が安心?
その場合はJavaにもXMLパーサーがあるからXMLが良いんだろうね。
0477デフォルトの名無しさん
05/02/10 15:43:07JNI使えばWindowsでは比較的楽に出来るよ。
0478デフォルトの名無しさん
05/02/10 16:07:19その状況で別OSでJNIのコール時点でエラーになるんだっけ?
それともJNI使うと、他OSで起動もしない?
0479デフォルトの名無しさん
05/02/10 16:29:23たぶん
1.動的ライブラリ読み込もうとする際にリンクできねーってエラーが出る。
2.それ(1.)を無視して続けるとJNIコールの時点でネイティブメソッドが見つからねーってエラーが出る。
0480デフォルトの名無しさん
05/02/10 16:31:35なら、Win用にてきとーに作っといて、ライブラリのロード周りをきっちり作れば無問題だね。
で、ポトペタの動作はJavaとDelphiとどう?
D2005でかなり動作重くなったし、イイ勝負かな?
0481デフォルトの名無しさん
05/02/10 17:57:39まったく問題なく動く
また、ロードに失敗した場合の処理もトラップが必須になってるし
Windowsだけを考えてもそこの処理はちゃんとするものだろう
>>480
Delphiがいいというのは.NET前までだと思ってくれ
その後はもう別物
というかBCBやDelphiやってきた人にとってwindows.formsは操作感覚が非常に近い
Swingはまったく別物だけど、機能おっかけていけばこんなこともできるんだ、という感じで
機能の多さにびっくりするかもしれない
なんというかたとえるならオーナー描画の柔軟さがすべてのコントロールでできるとか
そういう感じ
0482デフォルトの名無しさん
05/02/10 18:16:52System.load(String) 使えばライブラリのフルパス指定もできるんだけどね。
0483デフォルトの名無しさん
05/02/10 19:09:33やっぱ、ヘジがいたDelphiは良かったけどいなくなったDelphiはよくないってことだね。
そして、ヘジがいなかったMFCは良くなかったけど、ヘジが入ったwindows.formsはいいってことだな。
0484デフォルトの名無しさん
05/02/10 19:15:43拡張しつきやフルパスだったらクロスプラットフォームが実現しにくいじゃないか
0485デフォルトの名無しさん
05/02/10 19:49:50そろそろDelphiスレか.NETスレ行ってくれ。
Swingとは関係ない話題だし、暇人が宗教論争をしかけてるようにも見えるし。
0486デフォルトの名無しさん
05/02/10 19:53:080487デフォルトの名無しさん
05/02/10 20:11:34これ作ったやつ頭おかしーだろ(いい意味で)というくらいのライブラリだよな
0488デフォルトの名無しさん
05/02/10 20:24:15ヘジルスバーグのスレでも作ってそこで雑談しろ。
0489デフォルトの名無しさん
05/02/10 22:46:050490デフォルトの名無しさん
05/02/10 22:58:440491デフォルトの名無しさん
05/02/13 00:23:25そこでSeasar2ですよ。
http://pc5.2ch.net/test/read.cgi/tech/1102862221/l50
0492デフォルトの名無しさん
05/02/13 01:28:01必要性が感じられないぞ
0493デフォルトの名無しさん
05/02/13 01:55:230494デフォルトの名無しさん
05/02/13 14:26:53勝手に位置、サイズかえてんじゃねーとか
思ってたけど、わかると便利だね
0495デフォルトの名無しさん
05/02/13 14:37:54だんだんJavaのGUIにはまってきてるわけですな
特にSwingのコンポーネントにはまると、もう抜け出せなくなるな
0496デフォルトの名無しさん
05/02/14 01:49:37Webブラウジングクラスってどうなんでしょうか?
ブラウザ作ろうかなって思ってるんですが…。
そこはSWTのBrowser クラス使うべきかな?
SwingのWebブラウジングクラスの名前忘れた。
SWTのBrowser クラスの名前も違うかも…orz
0497デフォルトの名無しさん
05/02/14 02:17:25JDIC のブラウザコンポーネント使えば?
http://jdic.dev.java.net/
javax.swing.JEditorPane もHTML表示できるEditorKit持ってるけど、
標準の奴はHTML3.2対応だしCSSも半分ぐらいしか実装してなかったと思う。
0498デフォルトの名無しさん
05/02/14 08:42:59それ、どう分かるのか教えてキボンヌ。だってここはSwingスレでそ。
0499デフォルトの名無しさん
05/02/14 09:03:50何が言いたいんだ?
0500498
05/02/14 09:15:58これは分かる。
>わかると便利だね
これ分からないから説明しる
0501デフォルトの名無しさん
05/02/14 09:23:55レイアウトマネージャ(の使い方)が分かると、
(nullレイアウトで絶対位置を指定するよりも)便利だね
という意味では?
それともお前にレイアウトマネージャの分からない部分があるということか?
それなら何が分からないのか質問しろ。質問せずに「説明しろ」はこたえようがない。
0502デフォルトの名無しさん
05/02/14 09:27:01>>494じゃないが、Javaのレイアウトマネージャになれると便利だよ
ってことだろう、ウインドウの大きさを変えても自分で計算することなく
座標や大きさを勝手に計算してくれるし、プラットフォームを変えても
レイアウトが崩れにくいとかあるんじゃないのか?
0503デフォルトの名無しさん
05/02/14 09:27:01つまり、お前の日本語を意訳すると、
レイアウトマネージャーは、勝手に位置、サイズかえて使いもんにならない。
レイアウトマネージャーは不要で、nullレイアウト最強。
はぁ?「わかると便利だね」?あんなもののどこが便利なのか教えてくれよ
ってことか?
0504498
05/02/14 09:41:13レイアウトマネージャーウィザードが居るんなら、
Swingエバンジェリストとしてレスすれば良いだけ。
大騒ぎして叩くことが良いことだと思ってるだろ。
ふつーに、静かにレスしる!
0505デフォルトの名無しさん
05/02/14 09:53:47他人に注意するなら自分も気をつけてもらいたいものだ
0506デフォルトの名無しさん
05/02/14 09:54:11まぁGUIのほうでアクセスできなくても、ツリーのほうでPanel追加してサイズ指定してやればいいんだろうけど・・・
もう少しどうにかならんの?
0507デフォルトの名無しさん
05/02/14 10:00:54dividerLocationを変えておけばいいんじゃない?
0508デフォルトの名無しさん
05/02/14 10:12:27誰もたたいてないだろ。お前の質問の意図が分からないから
聞いているだけだろ。で分かったのか?
0509デフォルトの名無しさん
05/02/14 10:26:29FlowLayoutでコンポーネント並べて配置していたとする。
「この隙間にもう1つコンポーネント追加」って場合に、普通に追加することで
影響のあるコンポーネントも勝手にずれてくれる。
nullレイアウトで、自力でキッチリ配置してた場合には、
他のコンポーネントの配置も自分でずらしたりしなければならなくて大変。
0510498
05/02/14 10:37:27あ、なるほどプログラムでレイアウト処理入れるの開発効率も仕上がりも落ちし、改善大変であきらめちゃったりするよね。
Delphiのコンポーネント形式の、Align=alNone/alTop/alBottom/alRight/alLeft/alClient/alCustomと、
AnchorsセットのakLeft/akTop/akRight/akBottom=true/falseのんが良くない?
0511デフォルトの名無しさん
05/02/14 12:12:54それよりDelphiのActionListだったかなんだったかが欲しい。
0512デフォルトの名無しさん
05/02/14 12:18:00>Delphiのコンポーネント形式の、Align=alNone/alTop/alBottom/alRight/alLeft/alClient/alCustomと、
>AnchorsセットのakLeft/akTop/akRight/akBottom=true/falseのんが良くない?
Delphi知らないんで教えて欲しいが、これはどういうレイアウトをしてくれるんだ?
上部とか下部にぴっちりおくというのであれば、BorderLayoutのNORTHとかSOUTHで指定する。
>それよりDelphiのActionListだったかなんだったかが欲しい。
これもなにをしてくれるもんなんだ?
0513デフォルトの名無しさん
05/02/14 12:24:55よく知らんが、AbstractActionとjava.util.Listではだめ?
使い勝手はIDEの差によるものだと思うが。
0514デフォルトの名無しさん
05/02/14 16:57:56いやいや、レイアウトマネージャで全体設定するよりも、
コントロール1個1個が空気嫁んで場所移動したり大きさ変えれば良いんでわないかと。
0515デフォルトの名無しさん
05/02/14 17:29:15コントロール自身が、自らの配置を決めるような仕組みの場合、
他のコンポーネントの影響を考慮しづらいのでは?単純な配置しかできなくなりそう。
「コンポーネントAのサイズがでかくなったから、Bのコンポーネントの位置がずれる」とかは、
BがAのサイズ変更を受けて行なう仕組みではなく、
やっぱり全体管理するレイアウトマネージャーがやるべきだと思う。
面倒だけど、GridBagLayoutなんかは、コンポーネントそれぞれに
詳細なConstraintsを設定することで、意図を満たしているのでは?
詳細すぎて面倒くさいけど。
0516デフォルトの名無しさん
05/02/14 17:58:04これが間違いであることをDelphiアプリが証明している。
Panelの上にPanel貼りまくりだけどね。
>やっぱり全体管理するレイアウトマネージャーがやるべきだと思う。
”やっぱり”の結論しか出せないなんて頭カチカチだね。
0517デフォルトの名無しさん
05/02/14 18:09:35これだと、
>プログラムでレイアウト処理入れるの開発効率も仕上がりも落ちるし、
>改善大変であきらめちゃったりするよね。
といった要求を満たさない。
0518デフォルトの名無しさん
05/02/14 18:17:01単純な配置しかできなからPanelの上にPanelを貼りまくることになるのでは?
まぁ、それが悪いと言うわけではなく
>他のコンポーネントの影響を考慮しづらいのでは?単純な配置しかできなくなりそう。
が間違ってるかどうかというだけの話だけどね
0519デフォルトの名無しさん
05/02/14 18:19:49テキストエディタを使ってる人はGridBagLayoutを使わずに
別のLayoutを使うだけの話では?
0520デフォルトの名無しさん
05/02/14 18:26:04これダメダメじゃん。GUIはGUIでポトペタとエディタでの修正と両方出来ないと。
0521デフォルトの名無しさん
05/02/14 18:27:02>>単純な配置しかできなくなりそう。
>が間違ってるかどうかというだけの話だけどね
複雑なGUIの場合Del/VCLが最強。
0522デフォルトの名無しさん
05/02/14 18:32:25ここで突っ込んでもしょうがない、その人に直接言わないと意味ないよ
0523デフォルトの名無しさん
05/02/14 18:35:04なんか関係の無い引用してないか?
しかも、思いっきりスレ違いじゃないか
0524デフォルトの名無しさん
05/02/14 18:57:13レスの流れなのにスレ違いと指摘とは、藻舞こそレス間違い。
0525デフォルトの名無しさん
05/02/14 19:07:13レスの流れか
いくらなんでもそんな釣りは無いだろう
0526デフォルトの名無しさん
05/02/14 19:23:38の流れだよ。
0527デフォルトの名無しさん
05/02/14 19:29:45>>他のコンポーネントの影響を考慮しづらいのでは?単純な配置しかできなくなりそう。
>これが間違いであることをDelphiアプリが証明している。
>Panelの上にPanel貼りまくりだけどね。
「GUI全体で複雑に配置できない」という意味ではなく、レイアウトとして単純なものしか実現できないという意味でした。
複雑なレイアウトマネージャ使わずに、BorderLayoutみたいな
単純なレイアウトマネージャをPanel重ねまくってやるのはダメかい?
>>やっぱり全体管理するレイアウトマネージャーがやるべきだと思う。
>”やっぱり”の結論しか出せないなんて頭カチカチだね。
カチカチか。すまん。なぜ、”やっぱり”かと思ったかというと、
その前のほうに書いてあったように、あるコンポーネントのサイズが決まるのは、
他のコンポーネントの影響も受けるわけだ。
となると、影響を受けあうコンポーネント同士の配置を決めるのは、
コンポーネントを保持しているコンテナがその役割を担うべきで、
コンポーネントがする仕事ではないと思ったから。
考え方を変えれば、DelphiのPanelの場合は、
レイアウトマネージャに相当するものが1つだけあって、各コンポーネントに対して、
>>510のようなConstraintsを設定可能なモノとも思えるのではないかと。
0528デフォルトの名無しさん
05/02/14 19:34:37レイアウトマネージャはPanel(の拡張バージョン)として使える、という意味?
0529デフォルトの名無しさん
05/02/14 19:36:32というかJPanelというのがSwingにある
0530デフォルトの名無しさん
05/02/14 19:38:33自分が使ってたときはペイン(Pane?)てのしか無かった気がするが、Java2で増えた?
で、Delphi並みにポトペタできるようになった、と?
0531529 != 527
05/02/14 19:49:14Delphiを使ったこと無いからわからんが、多分Delphiよりめんどいだろうね
このスレでポトペタを検索すれば、その感想とかでてるから見てみたら?
0532デフォルトの名無しさん
05/02/14 19:53:17レイアウトマネージャとJPanelを何層もネスト出来るんなら、
逝こうできそう。
(リッチクライアント作りたいので)
0533デフォルトの名無しさん
05/02/14 19:56:13Java2になった後は触ってないのか……
0534デフォルトの名無しさん
05/02/14 19:56:450535デフォルトの名無しさん
05/02/14 20:01:55Java2でレイアウトマネージャが良くなったということ?
0536デフォルトの名無しさん
05/02/14 20:12:52コンテナごとに設定されているもの、だということを理解していない人がいる
ように見える。
0537デフォルトの名無しさん
05/02/14 23:09:56>>それよりDelphiのActionListだったかなんだったかが欲しい。
>これもなにをしてくれるもんなんだ?
ボタンとかメニューとかのテキスト・アイコン・使用不可・イベントをまとめてくれる。
ボタンとメインメニューとサブメニューで同じ項目があるときに、テキストとかイベントとか、まとめれて非常に便利。
0538デフォルトの名無しさん
05/02/14 23:25:00Delphiでの配置の仕方に似ているSpringLayoutというものもSwingには存在します。
新しめのレイアウトなんで知らない人も多いかと思いますが。
0539デフォルトの名無しさん
05/02/14 23:27:24javax.swing.Actionと機能的に何が違うの?
0540デフォルトの名無しさん
05/02/14 23:58:43>>513の通り、ActionとListを組み合わせた不可視コンポーネントのようなもんだろうか。
ActionListをペタッと貼り付けて、ダブルクリックすると、Actionの一覧が表示された
ダイアログが出てきて、追加、編集、削除とかできると。
Delphi使ったこと無いから知らんけど。
0542デフォルトの名無しさん
05/02/15 00:23:37もうJava2がでて何年たってるとおもうんだよ
俺はBCBもDelphiもJavaもやってるからわかるが、
DelphiやBCBはやはり方向的にはVBのように絶対座標でナンボの世界だよ
Windowsだけを意識していればいいので問題は少ないけど、DPIまわりでこけることも多少。
ただ、Swingに一番ほしかったのはDelphiやBCBのクライアントウインドウプロパティかと
特定のサイズにするのにJPanelをトップレベルに貼り付けてpack()とかinsets指定とか
とっつきわざと悪くしているだろうと思われ
デフォルトレイアウトもVBユーザー取り込むならNullでもよかったんじゃないかと
俺はnullレイアウトはもう5年ほどつかってねーけどな
0543デフォルトの名無しさん
05/02/15 00:26:19JPanelごとに指定できる(というかそうするもん)。一つ一つは単純なレイアウトだが、
JPanelを組み合わせて複雑なレイアウトを作る。
NORTHにJPanelはりつけて、そのJPanelにはFlowLayoutを適用すれば、画面上部に
ボタンを並べる領域を作れる、とか。当然このJPanel内にさらにJPanelを組み込むこと
もできる。
GridLayoutでまとめてやる手もあるが、まずはパネルの組み合わせで組み立てられな
いか考えたほうが早いな。
0544デフォルトの名無しさん
05/02/15 00:28:22パネル(コンテナ)1つに対して、レイアウトマネージャを1つ設定できる。
#これってJava2以前から変わってないと思うが??
CotentPaneにBorderLayoutを設定して、
NORTH、CENTER、SOUTHにJPanelを1つずつ配置。
NORTHに配置したJPanelはFlowLayoutに設定して、横にボタンを並べて配置。
CENTERのJPanelは、またBorderLayoutを設定して...
0545544
05/02/15 00:30:330546デフォルトの名無しさん
05/02/15 00:35:150547デフォルトの名無しさん
05/02/15 00:52:34プロパティいじって挙動を把握してあらゆるGUIがこれだけで作れると確信するところまで
いければ万々歳
理解できないならプログラマやめたほうがいいかも
0548デフォルトの名無しさん
05/02/15 02:19:38これ。
0549デフォルトの名無しさん
05/02/15 02:30:24それってきっちりできるの?
微妙な1ピクセルのずれなんかを、内部余白使ってGridBagLayoutで正確に
再現されたらかえって面倒だと思う。
nullレイアウトのままではなく、そこからGridBagLayoutに変更することで、
どんな利点があるのか?また修正するときはnullレイアウトに戻さないとできないんじゃないの?
nullレイアウトを使わずに、レイアウトマネージャを使えばいいってもんではないと思う。
0550デフォルトの名無しさん
05/02/15 07:37:20あるていどレイアウトのアイデアが固まったら、
GridBagLayoutを使って作り直す。
もしかしたら548が言いたかった事と同じことかも。
0551デフォルトの名無しさん
05/02/15 09:18:08画面てドラスティックに変えたいじゃん。
0552デフォルトの名無しさん
05/02/15 09:45:22初めからGridBagLayoutで作っておけば、
このコンポーネントは、gridx=1, gridy=2にあって gridwidth=2で...
ってある程度、ある程度見た目どおりに設定できるが、
nullレイアウトから、変換した場合、微妙なズレのせいで、x,yがずれてしまうしまい修正は難しいと思う。
JBuilderでやったときはそうだったけど、NetBeansはそうじゃないのか?
単にnullレイアウト使うのを避けてるだけで、
レイアウトマネージャーを使っている意味ないと思うが。
潔くnullレイアウトのままのほうが、まだ修正可能でよい気がする。
0553デフォルトの名無しさん
05/02/15 09:47:46組み合わせでやったほうがはるかに楽
0554デフォルトの名無しさん
05/02/15 10:02:060555デフォルトの名無しさん
05/02/15 10:10:28まぁ、GridBagLayoutをあまり使いたくないと言う人もいるわけですよ
GridBagLayoutを使いたくなかったらBorderLayout、FlowLayout
、GridLayoutを組み合わせればいいんです、多分。
0556デフォルトの名無しさん
05/02/15 10:22:080557デフォルトの名無しさん
05/02/15 12:12:13その辺が分かりやすくて妥当。1.4からになるけど、SpringLayoutも覚えて損はない。
0558デフォルトの名無しさん
05/02/15 12:16:301つのコンテナの1つのGridBagLayoutで全体のレイアウトを
やろうとしてるんじゃないだろうか……。
0559デフォルトの名無しさん
05/02/15 12:21:30>レイアウトマネージャを満足に使えない人
は、GridBagLayoutの使い方すら知らんって。
デフォルトのレイアウト(FlowLayoutやBorderLayout)のまま使って、
「どうやってサイズ変えるんだよっ!使えねー!」
って思ってるのさ。
>1つのコンテナの1つのGridBagLayoutで全体のレイアウトを
それはそれで、そんなに間違ってないと思うけど。
それができるのがGridBagLayoutで、
単純にHTMLのTABLE程度の配置だったら、GridBagLayout1つで済ませちゃうよ。
0560デフォルトの名無しさん
05/02/15 17:17:460561デフォルトの名無しさん
05/02/15 18:26:180562デフォルトの名無しさん
05/02/15 23:06:330563デフォルトの名無しさん
05/02/15 23:12:550564デフォルトの名無しさん
05/02/16 00:18:27GridBagで修正が大変ってレベルまで変更を強いられるのは
クライアントと事前の打ち合わせができてないだけじゃないの?
0565デフォルトの名無しさん
05/02/16 00:47:54後の修正を困難にしていると思う。
RELATIVEとか、REMAINDERを使えばいいのか。(使ってなかった)
0566デフォルトの名無しさん
05/02/16 01:20:14JBuilderにはなんかいいツールついてる?
0567デフォルトの名無しさん
05/02/16 02:00:270568デフォルトの名無しさん
05/02/16 02:06:44SpringLayoutが追加されていたの知らなかった・・・。
さらっとAPIを読んだだけだけど、
簡単なダイアログを作ったりするのには便利そう。
0569デフォルトの名無しさん
05/02/16 02:20:15紙にレイアウトのイメージを書いて、それ見ながらテキストエディタのテンプレート
と入力補完つかってゴリゴリと。
0570デフォルトの名無しさん
05/02/16 04:51:44eclipse+VE
地震で目が覚めたよ・・・(こんなこと書いてる場合じゃないが)
0571デフォルトの名無しさん
05/02/16 08:04:590572デフォルトの名無しさん
05/02/16 09:26:56>GridBagで修正が大変ってレベルまで変更を強いられるのは
>クライアントと事前の打ち合わせができてないだけじゃないの?
こういう考え方ヤだな。
大幅に変更する必要があったら、スルんだよ。
クライアントがどうこうじゃなくて、
逆にパッケージだと先行開発であって承認クライアントが居ないわけだし。
だから、画面は大幅変更の可能性がある、という前提じゃないと。
逆に、データ構造は何があっても大幅変更が無いように設計しとく、と。
0573デフォルトの名無しさん
05/02/16 10:10:04NetBeansの指定方法を知らないから、逆に教えて欲しいけど、
JBuilderは、普通に置く場所でgridx,gridyが決まったり、
つまんで伸ばしたりできる。あとConstraintsを設定するダイアログがある。
ダイアログで設定するのが、無難で確実なんで俺はそれを使っている。
Eclipseも似たような感じだった。
>>571
でも手書きでもあるi程度、楽できるようにはなっていると思う。
GridBagConstraintsは、1つ1つインスタンス生成しなくても、使いまわしできるし、
REMAINDER使って、改行しながら配置するってのも簡易的だ。
0574デフォルトの名無しさん
05/02/16 10:24:49単に設計が甘いだけでしょ。
画面全体をひとつのGridBagLayoutにまとめるとか無謀なことしなければ
困ること無いでしょ。
それでも困るほどの修正なら作り直した方が早いんじゃないの?
0576デフォルトの名無しさん
05/02/16 12:31:32画面の修正の是非なら、必要なら修正するに決まってるでしょうが。
修正が大変だから使いにくいという前に利用方法・範囲の見直しや
事前に設計をよく練るなど利用する側にも工夫が必要だと言ってるだけなんだが。
何か変なこと言ってるか?
0577デフォルトの名無しさん
05/02/16 12:51:22パネルで区切るなら、最初からGridBagLayoutつかわないほうがいい
何か変なこと言ってるか?
0578デフォルトの名無しさん
05/02/16 13:07:43>画面全体をひとつのGridBagLayoutにまとめるとか無謀なことしなければ
>困ること無いでしょ。
と、書いてあるんだが。意味が分からないの?
あんたの文章を読んで(あんたが)GridBagLayoutが使えない訳も
よく理解できた。まあ、好きにすればいいよ。
0579デフォルトの名無しさん
05/02/16 13:08:350580572
05/02/16 13:37:18GridBagLayoutを前提に、大騒ぎして叩くことに必死になる変なのがわいたなー。
0581釣りだよね?
05/02/16 14:09:10て書こうと思ったが,どうやら本気で書いてるのか...
572の勝手な想定と激しい思いこみなんて誰の参考にもならないので消えてよね。
0583デフォルトの名無しさん
05/02/16 14:34:450584デフォルトの名無しさん
05/02/16 14:48:01WMPのスキンのファイルとか見ると
レイアウトマネージャ自体が重量コンポーネント時代のなごりのようだな
0585デフォルトの名無しさん
05/02/16 15:02:390586デフォルトの名無しさん
05/02/16 16:44:51改めて見直したら>>574がつりな様な気がしないでもない
でも、他のレイアウトは文句は出ないけど、Gridbagだけはまぁ昔からいろいろとあるな
>>584
レイアウトマネージャが必要な場合の用件とお手軽スキンで遊ぶ用件とでは求めるものが違う
OSによってDPIが違うし同じWindowsであっても絶対座標は危険
>>585
さすがに無視は無理
VBあがりでプラットフォームが開発OSと運用OSとまったく同じならいらないかもしれんが
XPと2000ですらかなり違うしなぁ
0587デフォルトの名無しさん
05/02/16 21:46:40>572 は経験から言っている実際論者。
どっちも正しいんだけど、自分的には >572 のほうが実社会に則したレスだと思う。
0588デフォルトの名無しさん
05/02/16 22:28:18コーダーとプログラマの視点の違いってやつか。
普段どういう相手と仕事してんだよw予算とかw
まあそろそろスレ違いなんでこのへんで終わりって言うことで。
0589デフォルトの名無しさん
05/02/16 23:31:320590デフォルトの名無しさん
05/02/16 23:32:160591デフォルトの名無しさん
05/02/17 00:15:56プログラマは創造するとでも言っておくか。
0592デフォルトの名無しさん
05/02/17 00:16:52コーディングはほんとに書くだけ。
プログラミングはクラス設計も含めて。
要するに使えないPGと使えるPGの違いってことか?
実は俺もよく知らんw
誰かまともなレスキボン
0593デフォルトの名無しさん
05/02/17 00:34:00人に聞く前に調査する。
クライアントとはよく話し合う(顧客がDQNでも、短納期でも、低予算でもやりかたはある)。
きちんと設計してから開発に取り掛かる。
これを理想論とかいってる間はコーダー(=ソルジャー)から抜け出せないよ。
先ずはググってみ。
0594デフォルトの名無しさん
05/02/17 00:40:44XPなのかウォーターフォールなのかによっても違うし。いずれにしても
議論としては不毛だと思う。どういう仕事分担なのかによって違うことだし。
ただレイアウトを決める行程が現状あいまいだという問題意識は重要だと思う。
GUIアプリのGUIデザインとかWEBアプリのHTMLデザインって誰の仕事なのか
わかりにくいことがある。WEBアプリだとWEBデザイナが入ってくることがある
けど、GUIデザインはねぇ。
0595デフォルトの名無しさん
05/02/17 02:01:180596デフォルトの名無しさん
05/02/17 10:29:58Forteの時に一度使って、速攻消した覚えが歩けど、
想像以上に軽くてびっくりしたよ。Eclipseばっかり流行っているけど、
NetBeansも捨てたもんじゃないとおもった。
GUI設計の部分もクセがなくて、気に入った。
コード記述する部分は、ダサい。
スレ違いすまん。しばらく使ってみます。
0597デフォルトの名無しさん
05/02/17 10:58:02NetBeansでGUI作って、Eclipseでコーティングする人はうちにも結構いる。
0598デフォルトの名無しさん
05/02/17 11:04:22GUIエディット画面ではりつけれるのが便利
0599デフォルトの名無しさん
05/02/17 13:41:15WMPよりお手軽じゃないあなたのソフトの用件が気になるが
もうSwingはSynthで敗北宣言したじゃないか
レイアウトマネージャは実装の詳細に使うものだ
ボックス以外はいらないよ
0600デフォルトの名無しさん
05/02/17 13:49:46釣れますか?
Synthも含めてSwingだし、レイアウトマネージャが要らないということとは別次元かと
0601デフォルトの名無しさん
05/02/17 14:50:07それがあると、レイアウトマネージャレスで逝けるかい?
0602デフォルトの名無しさん
05/02/17 15:23:340603デフォルトの名無しさん
05/02/17 17:18:270604デフォルトの名無しさん
05/02/17 17:51:54レイアウトしてくれるパネルを作ったんだけど、自分で言うのもなんだけど便利です。
tdタグとGridBagConstraintsが対応して、こんなメリットがあります。
・X, Y座標を直接書かなくていいんで、間にコンポーネント追加しても変更点が少なくて済む
・tableタグの入れ子構造に対応してるので一つの設定ファイルで細かいレイアウトまでできる
・コードとレイアウト情報を分離できる
・設定ファイルをHTMLとしてブラウザで表示するとレイアウトが見れてちょっと面白い
GridBagLayoutを理解していて、直書き派の人には向いてるんじゃないかと。
ドキュメント書くの面倒で公開してなかったんですが、試してみたい人います?
0605デフォルトの名無しさん
05/02/17 21:10:35それをいうならXAML,XULでしょ。
0606デフォルトの名無しさん
05/02/17 21:42:17たとえばラベルのフォントとか色サイズなどをコードの中ではなくXMLの中にかいておくわけだから
もちろん、コードの中にそのボタンとかラベルとかを今までどおりに配置していく
あくまでも独自LAFを作るためのものだよ
0607デフォルトの名無しさん
05/02/17 21:50:56マジで?スマン。XMLの例見て勘違いしてた。
XMLからGUIを生成するわけではないのね。。。
>>605は無視してください。
0608デフォルトの名無しさん
05/02/17 22:38:18あくまでもLAFの自作だね
0609デフォルトの名無しさん
05/02/17 22:44:580610デフォルトの名無しさん
05/02/18 00:10:38レイアウトマネージャとLAFは直接的には関係ないかな
0611デフォルトの名無しさん
05/02/18 00:18:02なんか俺の目が悪いせいか、そう見えるんだが…。
まぁいいか。
0612デフォルトの名無しさん
05/02/18 00:20:261.4はワスレタ。
0613611
05/02/18 00:24:39即レス�d。
じゃあ1.4なんでクラシックってことか。
なるほど。
ここでさらなる疑問。
NetBeans入れてるんだが、
なぜこいつは、
XP ス タ イ ル な ん だ ?
まぁ、いいか。
0614デフォルトの名無しさん
05/02/18 00:50:541.4.1まではダメ
クラシックスタイルに変えたいときは
http://shin.cside.com/product/javatips.htm
見る限りプロパティだけでいいっぽい
0615611
05/02/18 01:20:47�d。
やっぱりSwingerに悪い香具師はいないな。
また何かあって解決できないときはヨロ。
0616デフォルトの名無しさん
05/02/21 10:36:260617デフォルトの名無しさん
05/02/21 12:38:520618デフォルトの名無しさん
05/02/21 12:45:51以上
0619デフォルトの名無しさん
05/02/21 13:31:08最近のVM上でも重要なメリット?
0620デフォルトの名無しさん
05/02/21 23:31:11ゲラ
0621デフォルトの名無しさん
05/02/21 23:31:24俺のDOPかとおもた
0622デフォルトの名無しさん
05/02/21 23:37:290623デフォルトの名無しさん
05/02/22 00:17:370624デフォルトの名無しさん
05/02/22 00:43:580625デフォルトの名無しさん
05/02/22 01:02:450626デフォルトの名無しさん
05/02/22 01:40:190627デフォルトの名無しさん
05/02/22 07:57:45どういう画面を作りたいかも示さずにレイアウトマネージャの話をしても意味無し。
0628デフォルトの名無しさん
05/02/22 10:50:550629デフォルトの名無しさん
05/02/22 12:21:51技ってほどのことでないだろ。
パネル(コンテナ)とレイアウトマネージャは1:1
BorderLayoutのパネルを1枚。 この上に、
・NORTHの位置に、FLowLayoutのパネルを1枚。
・CENTERの位置に、BoxLayoutのパネルを1枚。
・SOUTHの位置に、FlowLayoutのパネルを一枚
レウアウトマネージャの中っていうかパネルを重ねるの
0630デフォルトの名無しさん
05/02/22 13:23:43コンポネントの区別が付いてない予感。
0631デフォルトの名無しさん
05/02/22 13:57:35似てないか。
0632デフォルトの名無しさん
05/02/22 13:57:42JScrollPane(JViewport)での描画領域を自分で作ったコンポーネントで
知るにはどうしたらいいの?
ChangeListenerを使って外部のJViewportから教えてもらうしかないの?
0633デフォルトの名無しさん
05/02/22 15:15:06詳しい仕様が良く分からないけど、
その独自コンポーネントの仕様は、JScrollPaneに依存するという前提なの?
依存するという前提ならば、JScrollPaneの参照持つ(必要なときに取得する)とか、
Listener追加する(常にJScrollPaneから通知してもらう)とか、好きにして良いと思う。
そうでないとしたら、その独自コンポーネントの仕事じゃないと思う。
0634デフォルトの名無しさん
05/02/22 15:34:45コンポネントつーか、コンテナね。
0635628
05/02/23 11:16:39レイアウトマネージャと言えどJPanel等と対であって、
JPanel貼ってその中にJPanel貼って、と等価と。
つまり、DelphiのAlignとPanelの方が最強。
0636デフォルトの名無しさん
05/02/23 11:44:35まあ自分が最強と思ってるんならそれでいいけど。
0638デフォルトの名無しさん
05/02/23 11:54:37ネイティブウィジットを消費しないし、それでOKだと
思うんだが、なにが気に入らないんだろ。
0639デフォルトの名無しさん
05/02/23 11:56:17Delphiの場合
・Alighなんかが指定できる唯一のレイアウトマネージャがある
・それしか選べないからレイアウトマネージャという概念は使わない
Swing/AWTの場合
・シンプルなレイアウトマネージャや、複雑なレイアウトマネージャが色々ある
・パネル(コンテナ)単位でどれを使うか選べる。
・Delphiと同じようなレイアウトマネージャはない(作ることは可能)
0641デフォルトの名無しさん
05/02/23 12:07:110642639
05/02/23 12:10:06> Delphiのalignって所詮ボーダーレイアウトと同じじゃないの?
俺も詳しく知らないんだけど、昔使ったときは、そんなもんだと思ってた。
実際のところ、Delphiのレイアウトはどんなもんなんだ?
0643632
05/02/23 19:07:27使い道が限られてるものなのでJScrollPaneに依存させて、Listenerで通知してもうらことにしました
0644デフォルトの名無しさん
05/02/23 19:37:46http://www112.sakura.ne.jp/~kaientai-project/creategame.htm
0645デフォルトの名無しさん
05/02/24 00:13:06スレ違いだが、まとめ役が妄想厨で
スタッフ集めて自分の欲しいものを作ってもらおうってやつか。
途中でアボンするのが目に見えてるな
0646デフォルトの名無しさん
05/02/24 14:24:24参考になるHPは無いでしょうか。浅煎り珈琲は読みました。
0647デフォルトの名無しさん
05/02/24 14:58:43通信部分はSwingとは関係ないし、Swingを使ったGUIの知識はメッセンジャーに限定されない。
Javaで通信する方法と、Swing一般を調べればいいんじゃないかな?
0648デフォルトの名無しさん
05/02/24 15:58:26ありがとうございます。Swing 一般は独自に勉強する事にします。
NetworkもCではSocketプログラミングは触っていたのでこれも独自に
勉強してみます。ただ、基本を学んでそれを応用に、という点で
不安が残ります。
HPももう少し自分で探してみます。
(もし)どこかご存知の方いらっしゃいましたら教えて下さい。
0649デフォルトの名無しさん
05/02/24 21:01:49ここ、調べものする時によく使う。
0650デフォルトの名無しさん
05/02/26 01:08:59Delphiのレイアウトはalignじゃなくてanchorじゃないかな。
0651デフォルトの名無しさん
05/02/26 09:28:440652デフォルトの名無しさん
05/02/28 09:41:310653デフォルトの名無しさん
05/02/28 10:53:490654デフォルトの名無しさん
05/02/28 12:05:42確かに drastic な変更には対応しづらいものがありますね。
でもまぁ、その時はその時で、かな。どっちみち辛いし。
0655デフォルトの名無しさん
05/02/28 12:41:21俺は、GridBagLayoutも便利だから、それじゃないと困るところでは使うべきだと思う。
ただ、GridBagLayoutがどんなレイアウトでも出来るからといって、これ1つで画面全体を
レイアウトしてしまうと、変更に弱いからしない。
GridBagLayoutで簡単にできることを、無理に使わずにやるのも無駄。
当たり前だけど、基本は、>>618の組合せで、
必要に応じてその中にGridBagLayout付のパネルも組み込まれるっていうのがいいと思う。
あなたの名前:[ ] email:[ ]
住所: [ ]
電話番号: [ ] Fax: [ ]
AAだとうまく表現できないけど、こういうレイアウトが、GridBagLayoutの得意分野と思う。
0656デフォルトの名無しさん
05/02/28 12:57:440657デフォルトの名無しさん
05/02/28 13:15:49それって>>618の組み合わせでいいじゃない
boxで縦に並べて横方向へはflowやboxで
0658デフォルトの名無しさん
05/02/28 13:34:05力点置かれてるのは
> GridBagLayoutで簡単にできることを、無理に使わずにやるのも無駄。
この部分だと思います。
GridBagLayout なら 1 Panel で出来るけれども
組み合わせ使うとその分複雑になると言うことで。
もちろん、使いやすいと思うほうを使えば良いわけですが。
0659デフォルトの名無しさん
05/02/28 14:07:56AWT というやつはあらかじめ習得しておく必要があるのですか?
0660デフォルトの名無しさん
05/02/28 14:33:32それ読み方違ってる。
GridBagLayoutが負けて、DelphiのVCL形式になった、と。
Delphi形式とはコンポとかコンポであるPanel張り合わせ、
その1つ1つがAlignとAnchorを持つ、と。
0661デフォルトの名無しさん
05/02/28 14:49:20ない。ついででよい。
NetBeansあたり使って、ぼこぼこ置いてみて、どんな役目するのか知っとくだけでいい。
Swingも最初はNetBeansでぼこぼこ置いてみて、どんな役目するのか知っとくだけでいい気がする。
0662デフォルトの名無しさん
05/02/28 14:51:31それは読み方どころか、結論の出し方自体が間違ってる気がする。
0663デフォルトの名無しさん
05/02/28 15:11:24最近の Java GUI は Delphi/VCL 的な
レイアウトの仕方をサポートするようになったんですか?
0664デフォルトの名無しさん
05/02/28 15:27:57SpringLayoutの分野じゃない?
0665デフォルトの名無しさん
05/02/28 16:10:56たとえばその中間に1行追加しようとする
ならばパネルの組み合わせのほうが楽ではないか?
ぽとぺたで作るならばNetBeansであろうともGridbagは多少コツがいる
0666デフォルトの名無しさん
05/02/28 16:16:25それで、縦をそろえたければ?
Panelの組み合わせだと大変だと思うけど。
0667655
05/02/28 17:22:16「GridBagLayoutを使うととても楽な例もあるから、小さい範囲でくらい使ってもいいでしょ」
というのが俺の考え。
たとえGridBagLayoutの苦手なパターンの修正が発生しても、影響が小さい範囲で。
>>657
AAでキッチリ表現できていないんだけど
・あなたの名前、住所、電話番号のテキストボックス部分を、キッチリ縦でそろえる
・email、Faxのテキストボックスを縦でそろえる
ということを考えた場合に、PreferredSizeで、縦と合うように指定するの?
もちろん、そのやり方でもいいんだけど、GridBagLayoutを使う場合と比べて、
次のような修正があった場合に手間がかかると思っている。
「あなたのお父さんの名前」というような長いラベルの行が増えた場合、
「あなたの名前」、「住所」、「電話番号」、の3つラベルの幅を、
一番長い「あなたのお父さんの名前」にあわせなければならない。
>>655
ごめん、そうかもしれんけど、理解していなくて使ってない。
IDEもあんまり対応してないし。
勉強しときます。
>>665
その通りだと思う。だからあんまり大きい単位では使うべきではない。
0668デフォルトの名無しさん
05/02/28 17:22:31666氏の言うように縦をそろえたい様な場合は
(追加される一行を含め、全体がゆるい格子状に配置されてるとみなせる場合)
迷わずそのまま同一パネルに乗っけてしまいます。
手書きだと Constraints の修正がしんどいですけど
VisualEditor だとその辺りは勝手にやってくれるので、まぁ許容範囲です。
縦位置があからさまにズレるような場合は
(ゆるい格子の一部とみなすことが出来ない場合)
おっしゃる通り、間にパネル挟みます。
適材適所と言うことで。
0669デフォルトの名無しさん
05/02/28 19:03:48縦は普通にそろえてるよ
推奨サイズ指定してればいいだけだし
0670デフォルトの名無しさん
05/03/01 01:30:17どうしても必要ならレイアウトマネージャ作ったっていいわけだし好きにやればいいんじゃないの。
ところでlook&feelを自作したいんだが参考になりそうなサイトあったら教えて。
0671デフォルトの名無しさん
05/03/01 02:48:050672デフォルトの名無しさん
05/03/01 09:11:32俺は↓ココのコード読んで簡単なの試してみてから
ttp://www2u.biglobe.ne.jp/~kaduhiko/java_09.html
SDK のソースを読みながら試行錯誤してます。
0674デフォルトの名無しさん
05/03/02 23:08:45なんかあってもSynthいじる程度で大概済むしね
0675デフォルトの名無しさん
05/03/08 14:28:28JComboBox#setUI() を使えば良いのかと考えたのですが、
最初に UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel")を設定しているので、
WindowsComboBoxUI を継承しただけでなにもいじってないクラスのオブジェクトを
myComboBox.setUI(new MyWindowsComboBoxUI());
のように与えてみると、見た目が変わってしまいました。
おかしいと思い、
myComboBox.setUI(new WindowsComboBoxUI());
とやってみましたが、これも見た目が変わってしまいました。
Look&Feel を個別に変更する方法として、以上のようにするのは間違っているのでしょうか。
どのようにすれば変更できるのでしょうか。
0676デフォルトの名無しさん
05/03/08 14:44:48> JComboBox の編集不可時の色を変えようとしているのですが、どうにも出来ません。
編集不可にする時に
myComboBox.getEditor().getEditorComponent().setBackgound(color);
とかで好みの色に変えるのではダメなん?
0677675
05/03/08 15:40:17myComboBox.getEditor().getEditorComponent().setBackgound(color);
myComboBox.getEditor().getEditorComponent().setForeground(color);
による色指定では、編集不可時と編集可能時両方とも色を変えることは出来ませんでした。
myComboBox.setBackgound(color);
は編集可能時デフォルトで白い箇所の色を変えてくれるのですが、
編集不可時は中の部分は色を変えず中途半端に色を変えるようになってしまいます。
myComboBox.setForeground(color);
は編集可能時は機能しますが、編集不可時は全く機能しませんでした。
バージョンは 1.3.1 です。
0678デフォルトの名無しさん
05/03/08 16:36:04field.setOpaque(true);
field.setBackground(new Color(225,255,225));
0679デフォルトの名無しさん
05/03/08 19:23:16いまひとつよく分からない。
0680デフォルトの名無しさん
05/03/08 20:04:30俺も良く分からんのだけど、
--------------------
(WindowsLookAndFeel場合において)
JComboBoxは、WindowsComboBoxUIを使っていると思うので、
WindowsComboBoxUIを継承しただけのクラスを作り、JComboBoxにsetUIしたら
見た目が(WindowsLookAndFeelとは)違うものになった。
おかしいと思い、(継承せずに)myComboBox.setUI(new WindowsComboBoxUI());
としても、見た目が(WindowsLookAndFeelとは)違うものになった。
--------------------
ということだろうか?原因は俺も知らないけど。
>>675
「見た目が変わった」っていうのが、どうなったのか不明。
0681675
05/03/09 10:59:01WindowsLookAndFeel を設定したいたつもりが、MetalLookAndFeel になっていました。
MetalComboBoxUI のオブジェクトをそのまま JComboBox#setUI() に与えてみたところ、
とりあえず見た目はかわらなかったので、それからどうにか出来ないか模索中です。
((JTextField)combo.getEditor().getEditorComponent()).setOpaque(true);
では出来ないようでした。
0682デフォルトの名無しさん
05/03/09 12:31:46setUIしたあと、SwingUtilities#updateComponentTreeUIしてみたら?
JComboBoxだけ変えても内部のEditorなんかのコンポーネントにも、
setUIを波及させないとだめなのかも
0683678
05/03/09 17:43:52UIManager.getDefaults().put("ComboBox.disabledBackground", Color.green);
combo.updateUI();
0684678
05/03/09 18:40:08UIManager.getDefaults().put("TextField.inactiveForeground", Color.green);
combo1.updateUI();
final JCheckBox c = new JCheckBox("aaaaaaaaaaa");
c.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if(c.isSelected()) {
combo1.setEnabled(false);
UIManager.getDefaults().put("TextField.background", Color.red);
}else{
combo1.setEnabled(true);
UIManager.getDefaults().put("TextField.background", Color.white);
}
combo1.updateUI();
}
});
}
});
0685675
05/03/09 19:04:10UIManager.getDefaults().put("ComboBox.disabledForeground", Color.red);
combo.updateUI();
で色を変えることができました。
DefaultMetalTheme#addCustomEntriesToTable(UIDefaults table)
をオーバーライドして
table.put("textInactiveText", new ColorUIResource(255, 0, 0));
というのを試していたのですが、それで出来ずに諦めようとしていたところでした。
0686デフォルトの名無しさん
05/03/09 21:39:42for (Frame f: Frame.getFrames()) { SwingUtilities.updateComponentTreeUI(f); }
とすると全てのフレームとその中の部品が再帰的にたどられて
L&Fがlnfになりますが、そのあとおもむろにポップアップメニュー
(setComponentPopupMenuで設定してあるもの)を開くと、L&Fが古い
ままです。
理屈は分かるのですが、なんかアンバランスな結果になりますね。
0687デフォルトの名無しさん
05/03/10 14:20:38ttp://forum.java.sun.com/thread.jspa?threadID=594256&tstart=0
とか。
0688
05/03/11 19:23:510689デフォルトの名無しさん
05/03/12 19:19:52全部をマークするようなセルエディターを作って、
テーブルにsetCellEditorメソッドで設定してやればいいよ。
0690デフォルトの名無しさん
05/03/12 23:45:38>>689の書いた機能をもったJTextFieldを作って渡せば良い。
もしくは、getTableCellEditorComponent()のメソッド内で、
selectAll()してからreturnするだけでもいいと思う。
0692デフォルトの名無しさん
05/03/20 07:04:15どうやったらいいのでしょうか?
0693デフォルトの名無しさん
2005/03/21(月) 21:15:160694デフォルトの名無しさん
2005/03/21(月) 21:24:540695デフォルトの名無しさん
2005/03/21(月) 21:36:20フォーム入力の送信時にhttpUnit使えってことでしょう。
0696695
2005/03/21(月) 21:36:52すまんhttpclientだった。
0697デフォルトの名無しさん
2005/03/21(月) 22:10:28えっと、やりたいことはJEditorPaneでHTML表示したときのフォーム入力時の処理なんで。
接続が簡単になっても、イベントの処理ができないことにはどうにもならんっす。
0698デフォルトの名無しさん
2005/03/22(火) 22:20:50セルエディターのフォーカス等のイベント
は取得できるんですが、
キーを押して文字入力時のイベントが取得できません。
なにかコツでもあるんでしょうか?
0699デフォルトの名無しさん
2005/03/22(火) 23:18:02その「フォームに入力した時の処理」ってのを簡単にでも説明した方がいいと思う。
もしかしたらイベントもいらんかもしれないしさ。
0700デフォルトの名無しさん
2005/03/23(水) 00:06:49JEditorPaneで例えばGoogleのサイト表示したときに、検索フォームに入力してボタンを押したときの処理です。
0701デフォルトの名無しさん
2005/03/23(水) 09:20:57どーにかすれば、検索ボタン(JButtonかな?)の参照にたどりつけるのでは?
0702デフォルトの名無しさん
2005/03/23(水) 10:29:44まず、君がどうやってみて、ダメなのか書いてよ。
同じこと書いてかぶるかも知れないだろ?
以下がダメだった方法と同じかも知れないけど、俺が試すとしたら
>>690と似たようなやり方で
文字入力を監視するDocumentListenerを作って、それをJTextFieldのDocumentにaddする。
(入力文字をいじるならDocumentFilterでもいいかも)
そのJTextFieldをコンストラクタの引数として、DefaultCellEditorを作って、
setCellEditorする。
0703デフォルトの名無しさん
2005/03/23(水) 14:25:56GoogleのフォームじゃhyperlinkUpdate来ないけど、ほかのフォームでhyperlinkUpdateが来るものがあるんですよねぇ。
どうにかしてたどってフォーム入力データまで自分で取得する必要があるならめんどうですね。
0704デフォルトの名無しさん
2005/03/23(水) 17:21:330705デフォルトの名無しさん
2005/03/23(水) 22:57:20JEditorPane ep;
ep.setPage("http://www.google.co.jp/");
EditorKit ek = ep.getEditorKit();
if(ek instanceof HTMLEditorKit){
((HTMLEditorKit)ek).setAutoFormSubmission(true);
}
0706デフォルトの名無しさん
2005/03/23(水) 23:23:260707デフォルトの名無しさん
2005/03/23(水) 23:40:10でも、入力値の取得方法がわかんねぇっす。
0708デフォルトの名無しさん
2005/03/23(水) 23:48:34System.out.println(evt.getURL());
if(evt instanceof FormSubmitEvent){
System.out.println("ふぉーむ:"+((FormSubmitEvent)evt).getMethod() );
}else{
System.out.println("LINK");
}
をハイパーリンクイベントにかきこんでみそ
このソースには全角空白はいってるので注意な
ここまで手取り足取りとはやさしいな俺
0709デフォルトの名無しさん
2005/03/24(木) 01:07:43レスありがとう。
たしかに説明不足ですみません。
カラムモデル.setCellEditor(new DefaultCellEditor(リスナをaddしたJTextField);
みたいな感じで色々なイベントを取得してみたんですが、
どうしてもF2とマウスクリック時みたいにテキストフィールドが編集状態にならなんですよね、、、
編集状態になればフォーカスが失ったタイミングで編集停止にしたりできるんですけども。(Excelみたいに)
JTableを継承したクラス作るしかないんですかね、、、
0710デフォルトの名無しさん
2005/03/24(木) 02:09:00ありがとー。もしオレが女だったら惚れてるところだ。
イベントや入力文字列は取れて、生成したURLをIEで開けばちゃんと表示されるんだけど、JEditorPaneでは開けない。
こんなURL
ttp://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=test&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
ちょっと悩んでみるとするよ。
0711デフォルトの名無しさん
2005/03/24(木) 02:43:34JSPでテストフォーム作ったら、うまくいった。
日本語がだめなんかな。
本気でやるならJDIC使えってことか。
0712デフォルトの名無しさん
2005/03/24(木) 02:59:39qqとかqpとかqパラメータ自体なくすと通る
デモエラーが403ってのが俺も不思議に思った
いまのところGoogle以外は大丈夫な模様だが・・・
0713デフォルトの名無しさん
2005/03/24(木) 03:29:58Googleだめだと嬉しくないしね。
0714デフォルトの名無しさん
2005/03/24(木) 10:38:15Googleは、HTTPヘッダの User-Agent をみて、
IEやネスケなどのメジャーなブラウザ以外からのリクエストは拒否するようになってる。
System.setProperty("http.agent", "Mozilla/4.0 (compatible;xxxx")
とか設定するといいよ。IEのUser-Agentってどんなんだっけ?
プロパティについてはこちらを参照。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/net/properties.html
0715702
2005/03/24(木) 11:07:25なにがしたいのか、分からなくなった。
元々>>698では、
>キーを押して文字入力時のイベントが取得できません。
文字入力時のイベントっていうから、文字1文字でも入力したときの
イベントを拾いたいのかと思ったけど、
>どうしてもF2とマウスクリック時みたいにテキストフィールドが編集状態にならなんですよね、、、
>編集状態になればフォーカスが失ったタイミングで編集停止にしたりできるんですけども。(Excelみたいに)
なにをしたいの??
JTableの編集開始・編集停止をプログラム側から行いたいってこと?
0716デフォルトの名無しさん
2005/03/24(木) 13:26:02ああ、そういや昔ウイルス防ぐためにそんな実装したのを思い出した
たしかにいじったらサブミット含めてすべてうまくいった
人によっては5.0へ移行するメリットだろうね、フォームが動く
0717709
2005/03/25(金) 01:03:38日本語を勉強しなくちゃいけないですね、、、すみません。
元々、なにをしたいのかというと、
他のコンポーネントにフォーカスが移動したときにも編集状態のセルの値を
確定させると言うことです。
で、JDK1.5でsetSurrendersFocusOnKeystrokeというメソッドが追加されたのを
今日初めて知ってイベント取得については解決しました。
ただ目的の編集状態の確定については
focusLost時にstopCellEditingとか色々やったけど無理でした。。。
0718デフォルトの名無しさん
2005/03/25(金) 02:47:33編集状態の確定って? InputMethodの話か?
0719デフォルトの名無しさん
2005/03/25(金) 10:32:26>他のコンポーネントにフォーカスが移動したときにも編集状態のセルの値を
>確定させると言うことです。
普通は確定(もしくは取消)するんでないの?
と思って試してみて、やっと状況が分かった。
・JTableのセルの編集を開始する。
・セル編集中に、他のコンポーネントにフォーカスを移す
(JTable内の他のセルではなく、JTable外の別のコンポーネント)
・さっきまで編集中だったセルは、自動的に編集が完了すると思いきや、
編集中のままになっている。
・ちなみにセルの移動では編集は確定する
コンポーネントの移動で、編集を確定させるには、
>focusLost時にstopCellEditingとか色々やったけど無理でした。。。
これでいいと思うけど。
>>718
>編集状態の確定って?
JTable内のセルの編集状態のことだと思う。
0720デフォルトの名無しさん
2005/03/25(金) 10:36:50> JTable内のセルの編集状態のことだと思う。
focusLostしてんのにセルが編集状態であり続ける、と?
0721719
2005/03/25(金) 10:43:05>focusLost時にstopCellEditingとか色々やったけど無理でした。。。
focusLost時っていうのは、JTableのロスト時ではなく、Editorのフォーカスロスト時じゃないとだめだから。
(編集開始しただけで、JTableのfocusLostになってしまうから)
全部のEditorを変えたければ、getDefaultEditorで取得したTableCellEditorを
DefaultCellEditorにキャストして、getComponentしたものにFocusListenerをaddすればOKでした。
(将来もDefaultCellEditorでキャストできる保証がないので、怪しいけど)
試したソースを書いてみる。
>>708に習って、このソースには全角空白はいってるので注意な
JTextField textEditor = new JTextField();
textEditor.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
TableCellEditor cellEditor = table.getCellEditor();
if (cellEditor != null){ //nullである可能性があるか分からないけど一応
cellEditor.stopCellEditing();
}
}
});
//2列目のCellEditorだけ変えてみる
table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(textEditor));
0722720
2005/03/25(金) 10:48:57おれも、そんなはずはと思って試した。
やればわかるけど、JTableは編集状態のまま、他のコンポーネントにフォーカスは移ってしまう。
編集状態ではあるが、編集は出来ないけど。
なんというか、TableCellEditorが起動したまま、他にフォーカスが移る感じ。
で、この状態のまま、getValuAtで、セルの値を取得すると、編集前の値が取れてしまうから
困るということだと。
試したソース(このソースには全角空白はいってるので注意な)
public class TestJTable extends JFrame {
JTable table = new JTable(3, 2);
public static void main(String[] args) {
TestJTable frame = new TestJTable();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public TestJTable() {
Container cp = this.getContentPane();
cp.add(new JTextField("text field"), BorderLayout.NORTH);
JScrollPane sp = new JScrollPane(table);
cp.add(sp, BorderLayout.CENTER);
}
}
0724デフォルトの名無しさん
2005/03/25(金) 11:34:56あ、本当だ。
でも、テーブル内の別のセルとかテーブルヘッダとかにフォーカス移すと編集終わってるよね。
これって JTable のバグなのでは? って事で BugParade調べた。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4303107
1.2 の頃には既に報告されてるね。関心が集まって無いから放置、だそうです。
0725719
2005/03/25(金) 12:06:15バグとするかというと、微妙な気がする。
編集確定せずに、他コンポーネントに移動できるから。
セルの移動や、テーブルヘッダはで終わるのと矛盾する気もするけど。
でもデフォルトは、編集終了して欲しいものだ。
0726デフォルトの名無しさん
2005/03/25(金) 12:59:04あ、URI挙げた奴は Evaluation に This RFE って書いてあるから
bug じゃなくて request for enhancement なんだと思う。
0727デフォルトの名無しさん
2005/03/25(金) 18:15:42import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestJTable extends JFrame {
public static void main(String[] args) {
TestJTable frame = new TestJTable();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
final JTable table = new JTable(3, 2);
final JTextField field = new JTextField("text field");
public TestJTable() {
field.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
if(table.isEditing()) {
table.getCellEditor().stopCellEditing();
}
}
});
Container cp = this.getContentPane();
cp.add(field, BorderLayout.NORTH);
cp.add(new JScrollPane(table), BorderLayout.CENTER);
}
}
0728デフォルトの名無しさん
2005/03/25(金) 18:57:59何のソース?>>721でOKじゃないの?
focusGained時にstopCellEditingしているし、
setCellEditorもしていないけど。
0729728
2005/03/25(金) 19:11:47> 何のソース?>>721でOKじゃないの?
> focusGained時にstopCellEditingしているし、
setCellEditorしなくても721と同じことができると。
ま、こんな方法もあるよってことだね。
0730デフォルトの名無しさん
2005/03/25(金) 21:11:31レスくれた皆様ありがとうございます
元々のフォーカスロスト時に
stopEditingなんとかを呼ぶ方法
で合ってたようです。
テスト用にテーブルのヘダーをクリック
してたので気付きませんでした
すみませんでした
0731デフォルトの名無しさん
2005/03/26(土) 01:26:360732デフォルトの名無しさん
2005/03/26(土) 02:02:460733デフォルトの名無しさん
2005/03/26(土) 02:47:540734デフォルトの名無しさん
2005/03/26(土) 05:23:380735デフォルトの名無しさん
2005/03/26(土) 13:02:45Swingは覚えれば覚えるほど加速していく感じが強い
0736デフォルトの名無しさん
2005/03/26(土) 14:29:54JNIかっての。
0737デフォルトの名無しさん
2005/03/26(土) 16:11:020738デフォルトの名無しさん
2005/03/26(土) 18:26:45なに言ってるんだ、あれはJNIだよ。
SWTは使えば使うほど限界が見えてくるが、Swingは真逆。
0739デフォルトの名無しさん
2005/03/26(土) 20:29:150740デフォルトの名無しさん
2005/03/26(土) 20:35:16SWTは見える人にしか見えない幻だった。
0741デフォルトの名無しさん
2005/03/28(月) 10:59:340742デフォルトの名無しさん
2005/03/28(月) 11:47:260743デフォルトの名無しさん
2005/03/28(月) 11:53:58言ってる意味
0745デフォルトの名無しさん
2005/03/29(火) 14:45:190746デフォルトの名無しさん
2005/03/29(火) 17:33:04SWTはやっぱりWin32をラッピングしている感が強すぎる
そしてSwingだけは別物というか別格というか
オブジェクト指向でどこまでいけるかという基地外(この場合ほめ言葉)が作ったものだから
0747デフォルトの名無しさん
2005/03/29(火) 17:57:19NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMinimumFractionDigits(5);
jFormattedTextField1 = new JFormattedTextField(nf);
jFormattedTextField1.setValue(new Float(0));
NetBeansから取り出した感じではこんな感じだな
・コンストラクタの引数にいじったナンバーフォーマットを入れる
・Valueにクラスごとぶちこむ
細かくカスタマイズした入力をするのなら
JFormattedTextField#setFormatterFactoryからドキュメント眺めるといい
わかりやすくいえばAccessの書式みたいなのが作れるというわけだ
0748デフォルトの名無しさん
2005/03/29(火) 18:47:390749デフォルトの名無しさん
2005/03/29(火) 22:06:00NetBeansでGUIデザインしてそのワザを使うにはどうすればいいんでしょうか?
JPanelを継承して描画するように死体けど、JPanel貼っ付けてもextendsとか書けんし
0751デフォルトの名無しさん
2005/03/29(火) 22:22:47・JPanel継承した自作クラスを作る
・そのクラスファイルをコピー
・貼り付けたいJFらめを継承したクラスにペースト
これでインスタンス生成とかぜんぶやってくれる
0752デフォルトの名無しさん
2005/03/29(火) 22:45:32いろいろ手はある。
たとえば、メニューから「Tools -> Palette Manager」を選択すると、Jarとかクラスファイルを
選択して特定クラスをパレットに追加できる。
プロジェクトにJPanelなりなんなりのサブクラスを作成して、該当ソースファイルを右クリックして
「Tools -> add to Palette...」を選択すれば、プロジェクト内のソースファイルからパレットに追加
できる。
パレットに入れてしまえば、あとは普通のクラスと同じように使える。
0753デフォルトの名無しさん
2005/04/06(水) 11:02:31配属先でswingを使うそうです・・・
自分はサーバサイドJAVAしか勉強して来なかったので必死こいて勉強してます・・・
0754デフォルトの名無しさん
2005/04/06(水) 15:25:38がんがれ
0755デフォルトの名無しさん
2005/04/06(水) 16:12:320756デフォルトの名無しさん
2005/04/06(水) 22:17:49不正ならばダイアログを出力してフォーカスを元に戻す処理を作成したいと思っております。
初めに、focusLostイベント処理で作成したのですがフォーカスを戻すことができないので諦めました。
次にInputVerifierを継承した日付チェッククラスを作成し、その中でJOptionPaneの呼び出しを試みたところ
暫く固まった後StackOverflowErrorを吐くので諦めました。
最後に以下のような物を作りました。
InputVerifier dateVerifier = new InputVerifier(){
public boolean verify(JComponent input){
boolean bool = true;
日付チェック処理(省略)
if(!bool) {
Runnable runnable = new Runnable() {
public void run() {
JOptionPane.showMessageDialog(省略);
}
};
SwingUtilities.invokeLater(runnable);
}
return bool;
}
};
これを使用するとダイアログが出力されフォーカスも元に戻るのですが
何故かダイアログが3つ出てしまいます。
他に何か良い方法は無いでしょうか?
0757デフォルトの名無しさん
2005/04/06(水) 23:48:32>次にInputVerifierを継承した日付チェッククラスを作成し、その中でJOptionPaneの呼び出しを試みたところ
>暫く固まった後StackOverflowErrorを吐くので諦めました。
無限再帰呼び出しになってるんだろ、バカ。
0758デフォルトの名無しさん
2005/04/07(木) 07:35:58これでようやっとKaffeもJava2レベルに
0759デフォルトの名無しさん
2005/04/07(木) 08:57:20Javaがサポートされていない環境以外では存在意義はないなぁ
0760デフォルトの名無しさん
2005/04/12(火) 01:17:380761デフォルトの名無しさん
2005/04/12(火) 09:55:340762デフォルトの名無しさん
2005/04/12(火) 10:56:45ないです。自分で実装してください
0763デフォルトの名無しさん
2005/04/15(金) 22:08:07SwingチュートリアルのSwingWorkerを参考にしたら実現できました。
ところが、この処理中は、ユーザーの操作を受け付けないようにしたいです。
【考えた方法】
1)イベントスレッドでやってしまう
→描画がとまってしまうから困る。
2)処理中にJDialogをモーダルで出して、終わったら閉じる
→目的は達せられたが、ダイアログの表示・非表示がちょっとウザイ。
3)操作されたくないコンポーネントを、enable=falseにする
→大量にある場合に、false/trueの切替が大変。
一発でユーザーの操作を受け付けなくする簡単な方法があったら教えて下さい。
0764デフォルトの名無しさん
2005/04/15(金) 22:15:10comps[0] = jButton1;
comps[1] = jButton2;
...
private void ComponetEnableChanger(bool flg)
{
for(int i = 0; i < comps.length; i++)
{
comp[i].enable=flg;
}
}
みたいな感じはどうよ。
0765デフォルトの名無しさん
2005/04/15(金) 22:21:19俺はテキスト系はEnabledではなくEditableプロパティいじってるので多少めんどい
0766763
2005/04/15(金) 22:27:47返答ありがとうございます。3)の方法を楽にするってことですよね。
その方向も考えていて、JFrame内のコンポーネントを全部列挙するのは、
画面ごとに大変なので、コンテナを探っていって、setEnabledしていこうかと
思いました。関係ないものまで、falseになりそうです。
また、処理実行前のコンポーネントがすべてenabled=trueなわけでなく、
falseのものもあります。処理が終わったからといって、すべてtrueに戻せないので、
元々falseのものを記録しておきながら、やらないとだめでした。
他に方法がなければ、この方法でやろうと思いますが、
ひとつひとつenalbleをfalseに設定していくしかないんですかねぇ。
0767デフォルトの名無しさん
2005/04/15(金) 22:59:20実際に試してないのでうまくいくかどうかわからないけど、
setUndecorated(true)&setSize(1,1)したJDialogを使うと
見た目のウザさが軽減されるかも?
0768デフォルトの名無しさん
2005/04/15(金) 23:06:27ならばそういうパネルを自分で作ればいいのでは?
766がいうように処理前の状態に完全に戻せるようになっているとなおよい。
0769763
2005/04/15(金) 23:11:24いい感じでした! setSize(0, 0)でもOKでした。1,1の場合は左上に
白い点が見えるだけなので、ウザないです。
欲を言えば、モーダルなので
下のウィンドウの移動ができなくなってしまう。
のが残念です。
でも、他に方法がなければ、これを使おうと思います。
今は、CardLayoutとかOverlayLayoutとか調べて、
JFrameの上に透明なパネルみたいなのを重ねて、
ユーザーの操作をさえぎったりできないものかと調べてました。
CardLayoutは見えなくなってしまうので、だめでした。
0770デフォルトの名無しさん
2005/04/16(土) 01:32:28時間がかかるのならダイアログ出したほうがいい
フリーズしてるのかどうかわかるというか、なんらか動いてるのが見えたほうがいいからね
0771763
2005/04/16(土) 01:48:47言葉が足りませんでしたが、処理中はプログレスバーを表示しています。
最初はダイアログ上にプログレスバーを表示していたのですが、
思ったよりも処理時間が短いと、ダイアログが一瞬で消えてウザかったわけです。
0772デフォルトの名無しさん
2005/04/16(土) 10:29:32以前、類似の問題があったときに営業さんと相談して、
あえて数秒間はダイアログを表示させる、という方法をとったことがある
ユーザから見れば0.5秒よりは1秒の方が処理してるって雰囲気出るし
(まぁ処理頻度等にもよるだろうけど)
0773デフォルトの名無しさん
2005/04/16(土) 10:56:23そんなふうに考えるのは作ってる人だけ。
0774デフォルトの名無しさん
2005/04/16(土) 11:04:48その0.5秒ぐらいの間に progress が n%未満ならダイアログ表示とかすれば良いのでは?
0775デフォルトの名無しさん
2005/04/16(土) 11:27:13しまうという手はあるね。
0776デフォルトの名無しさん
2005/04/16(土) 12:04:17その方法はタブキーで遷移できちゃうからアウト。
荒技だけど、CellRendererで使われてるコンポーネント(CellRendererPaneだっけ?)を使って、
描画だけさせるっていう方法があるね。
0777デフォルトの名無しさん
2005/04/16(土) 23:30:22タブで遷移させたくない場合は、nullを返すFocusTraversalPolicyをフレームなどに
セットするといいかもしれない。
ttp://terai.s55.xrea.com/Swing/WaitCursor.html
0778763
2005/04/17(日) 20:33:31JPanel内のコンポーネントを再帰的に走査して、JComponentにsetEnabled(false)をする事を調べてみました。
・もともとfalseのものはSetで保持しておいて、戻すときにtrueにしないようにした。
・EditableなJComboBoxなどは、中のComboBoxEditorまでsetEnabledされたりしたので、
再帰的に走査する場合は、JPanelのみ対象にした。(javax.swing.Boxも対象にした方がよい?)
ComboBoxEditorに対してsetEnabledしても別に悪くないかも知れませんが、
普通はJComboBox本体にだけしか、setEnabledしないと思うのでしないようにした。
・フォーカスがあったコンポーネントにsetEnabled(false)を行うと、フォーカスが失われてしまいました。
これも、フォーカスがあるコンポーネントを記憶しておいて、
trueに戻したときに、requestFocusするようにした。
>>768のいうように、こういうJPanelを作ってもいいと思います。(私の場合は手遅れですが)
GlassPaneはよく分かりませんでした。。。誰か簡単なサンプル作って
例を教えてもらえれば、調べてみます。お願いします。
0779デフォルトの名無しさん
2005/04/18(月) 22:21:24777のGlassPaneのサンプルじゃ駄目なの?
0780763
2005/04/19(火) 00:24:07あれ?確かに。寝ぼけていたのかも。。。
試してみます。(というかそのサンプルのまんまだと思う。)
関係ないけど、>>777のサイトを見ると、4/18に、FocusTraversalPolicyでnullを返すサンプルが追加っ!!
もしかして、terai氏光臨ですか?たくさんのSwingサンプル大変参考になります。
どうしたらIMEを日本語入力のままTabキーでセルを移動しながら入力できるのでしょうか。
0782デフォルトの名無しさん
2005/04/19(火) 00:40:14意味も無くFinal連発してるのをやめて
処理スレッドからSwingコンポーネントいじるとき同期化、もしくは
AWTスレッドからやらせるといいね
0783デフォルトの名無しさん
2005/04/19(火) 02:18:540784デフォルトの名無しさん
2005/04/19(火) 04:46:50なんか、昔の風習というか迷信で、メソッドはfinalをつけたほうが速くなるとか言われてた。
0785デフォルトの名無しさん
2005/04/19(火) 07:42:03酷い場合、入門書でそういう記述を見たことがある。
0786デフォルトの名無しさん
2005/04/19(火) 10:07:552つ目のfinalは外せないと思う
0787デフォルトの名無しさん
2005/04/19(火) 13:14:45finalを付けるのを俺ルールにしている。
0788728
2005/04/19(火) 14:09:03> AWTスレッドからやらせるといいね
777の場合、AWTイベントディスパッチスレッド(SwingUtilities.invokeLater)を
使うと、JTextFieldなどのクリックで状態遷移が起こり?カーソルが変更されて
しまう模様。
0789デフォルトの名無しさん
2005/04/19(火) 16:06:24今いじってみたがそんな現象無いけど?
0790デフォルトの名無しさん
2005/04/19(火) 16:15:33むしろデフォルトfinalで、なんか特別な指定をしない限り
変更不可な仕様にして欲しかったような。
0791デフォルトの名無しさん
2005/04/19(火) 16:17:52むぅ、777を以下のようにいじって、1.5.0_02で実行すると、漏れのとこじゃ
カーソルが砂時計じゃなくなるんだけどなぁ。なんか勘違いしてる?
//Thread t = new Thread(
Runnable doRun = new Runnable() {
public void run() {
longTask();
frame.getGlassPane().setVisible(false);
button.setEnabled(true);
frame.setFocusTraversalPolicy(ftp);
}
};
//t.start();
SwingUtilities.invokeLater(doRun);
0792デフォルトの名無しさん
2005/04/19(火) 16:18:29それおかしい
0793デフォルトの名無しさん
2005/04/19(火) 16:21:41Thread t = new Thread(new Runnable() {
public void run() {
longTask();
try{
SwingUtilities.invokeAndWait(new Runnable(){
public void run(){
frame.getGlassPane().setVisible(false);
button.setEnabled(true);
frame.setFocusTraversalPolicy(ftp);
}
});
}catch(Exception ex){}
}
});
ちなみにキー入力は動くまま
これは>>777の時点でも同じ
多少いじらんとね
0794デフォルトの名無しさん
2005/04/19(火) 16:36:27あ、そっか。うまくいったよ。
キー入力(キャレットの点滅?)は、まぁどうでもいいや。thx
0795デフォルトの名無しさん
2005/04/19(火) 16:51:09グラスペインが表示されてないのにフォーカスのリクエスト出してるのが原因
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
button.setEnabled(false);
frame.setFocusTraversalPolicy(policy);
frame.getGlassPane().setVisible(true);
frame.getGlassPane().requestFocus();
Thread t = new Thread(new Runnable() {
・
・
・
これでおけ
最後戻すときにボタンにフォーカスをもどせばいい
0796デフォルトの名無しさん
2005/04/19(火) 17:06:13ttp://forum.java.sun.com/thread.jspa?forumID=57&threadID=509913
を使ってeditCellAtするというのはどうでしょうか?
一応日本語入力のままTabキーでセル移動できているようです
InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke tab = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
final Action oldTabAction = table.getActionMap().get(im.get(tab));
Action tabAction = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
(改行多いと言われたので中略)
table.changeSelection(row, column, false, false);
//ここから
table.editCellAt(row, column);
table.getEditorComponent().requestFocus();
//ここまでを追加
}
};
table.getActionMap().put(im.get(tab), tabAction);
0797781
2005/04/19(火) 19:28:20おお、どうもありがとう。InputMapとActionMapをいじくれば特定のタイプのセルをSkipさせたり何でもできるんですね。
ただ自分の場合はそこまで特殊な判定とか必要ないので、あれから調べた結果、別の方法もありました。
http://java-house.jp/ml/archive/j-h-b/051951.html
この人のもちょっと自分には必要ないこともしてるので簡単にいうと
JTableから独自のクラスを派生させてcolumnSelectionChangedとvalueChangedをオーバーライドすればいいみたいです。
public void columnSelectionChanged(ListSelectionEvent e) {
super.columnSelectionChanged(e);
int r = getSelectedRow();
int c = getSelectedColumn();
editCellAt(r,c,e);
Component comp = getEditorComponent();
if(comp != null) comp.requestFocus();
}
valueChangedにも同じ内容。
ただしこの方法だと最後の列からTabキーで次の行に移るとき、間違った行情報でcolumnSelectionChangedが呼ばれてしまうんです。でもまあ、最終的にはvalueChangedによって正しいセルにフォーカスが設定されるからいいんですけど。
でも、いつおかしい挙動するか不安があるのであなたの教えてくれたほうがいいかもしればせんね。 どうもありがとうございました。
0798781
2005/04/19(火) 19:41:330799デフォルトの名無しさん
2005/04/22(金) 14:10:14public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column)
メソッドあるじゃん?
あれの Object value ってなんであるのかな。
value が必要なら table.getValuat(row, column) で取得できるし
わざわざインターフェースの引数増やした意図が知りたい。
(boolean isSelected もだが。)
0800デフォルトの名無しさん
2005/04/22(金) 14:35:58あとセルレンダラの表示とモデルの内容のObjectは一致しないこともあるだろうからとか
0801教えて君
2005/04/25(月) 12:57:000802801
2005/04/25(月) 12:57:500803デフォルトの名無しさん
2005/04/25(月) 13:22:05WindowEvent を送れば良いのではないかと。
50秒で答えが返るほど人に溢れてるわけでもなく。
0804デフォルトの名無しさん
2005/04/25(月) 17:37:48これでやってみたんですけどいきませんでした・・・
public void actionPerformed(ActionEvent e) {
//呼び出し元がOKボタン
if (e.getSource().equals(jButton_OK)) {
}
//呼び出し元がキャンセルボタン
else if (e.getSource().equals(jButton_Cancel)) {
((Frame) e.getSource()).dispose();
}
}
0805デフォルトの名無しさん
2005/04/25(月) 18:52:11if文ではgetSourceがjButton_Cancelという判断をしているのに、
Frameでキャストしているではないか。
Frameのインスタンスに対して、disposeを呼ぶ
0806デフォルトの名無しさん
2005/04/25(月) 20:20:02//呼び出し元がOKボタン
if (e.getSource().equals(jButton_OK)) {
}
//呼び出し元がキャンセルボタン
else if (e.getSource().equals(jButton_Cancel)) {
Frame f = new Frame();
f.dispose();
}
}
でも上手くいきません・・・(泣)
0807デフォルトの名無しさん
2005/04/25(月) 20:32:550808デフォルトの名無しさん
2005/04/25(月) 20:33:190809デフォルトの名無しさん
2005/04/25(月) 20:35:020810デフォルトの名無しさん
2005/04/25(月) 21:47:400811デフォルトの名無しさん
2005/04/28(木) 10:37:39まぁ、最初はそんなもの
大昔の自分のソースみるとorz
0812デフォルトの名無しさん
2005/04/28(木) 10:49:12KeyboardFocusManager defaultKFM = KeyboardFocusManager.getCurrentKeyboardFocusManager();
KeyboardFocusManager.setCurrentKeyboardFocusManager(new DefaultKeyboardFocusManager() {
public boolean dispatchKeyEvent(KeyEvent e) {
return true;
}
});
// 何か処理する
foo();
// 元に戻す
KeyboardFocusManager.setCurrentKeyboardFocusManager(defaultKFM);
こんなんじゃだめ?(マウスイベントは受け付けるが・・・)
0813デフォルトの名無しさん
2005/04/28(木) 11:18:28それを使ったほうがすっきりする
ほとんどの人はコンテントペインしかさわらんか
それも5.0では直接触ることはないがな
0814デフォルトの名無しさん
2005/04/29(金) 02:09:150815デフォルトの名無しさん
2005/04/29(金) 04:29:35常に最上位にWindowが表示されるようにできますか?
0816デフォルトの名無しさん
2005/04/29(金) 09:54:23JFrameもWindowのサブクラスね。
0817デフォルトの名無しさん
2005/04/30(土) 12:25:36http://java.sun.com/j2se/1.5.0/ja/
0818デフォルトの名無しさん
2005/05/01(日) 12:13:54この場合はマルチでは無いですよね?
JButtonのactionPerformedを取得してJTextAreaに処理開始メッセージを出力し、
処理中のログを出力して、処理終了後に終了メッセージを出力したいのですが、
処理終了後に全部まとめて出力されてしまいます。
どのようにすればログを逐次出力することができるのでしょうか?
0819デフォルトの名無しさん
2005/05/01(日) 12:21:39イベント終了後に更新されるのは当たり前かと
Javaに限った話でもないし
0820デフォルトの名無しさん
2005/05/01(日) 15:33:42Threadを使う
http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html
0821デフォルトの名無しさん
2005/05/01(日) 15:43:53>>819が書いてるけど、actionPerformedが終わるまで、Swingに画面更新のタイミングが
来ないからじゃないの? Swingはすべての描画をシングルスレッドで行なってるからね。
Swingはシングルスレッドモデルで動いているので、長い処理は別スレッドで行なって、
Swingコンポーネントのプロパティ変更はinvokeLater()経由で行なうのが鉄則。
invokeLater()しとけば、Swingのイベントディスパッチャが適当なタイミングで画面に
反映する。
0822デフォルトの名無しさん
2005/05/01(日) 18:22:570823デフォルトの名無しさん
2005/05/01(日) 22:20:34いや、setXXXX()なんかはほとんど当てはまると思った方がいい。どれが安全でどれが安全でないかは
APIリファレンスに書いてあるけど(setText()は安全)、ややこしければinvokeLater()が基本だと思っとけば
いいんじゃないかな。
ちなみに更新が行われない事と、スレッド安全性とは関連があるけど別の話なんで注意。
更新を行なっても、actionPerformedが終わるまで画面が更新されないのは、Swingの
イベントディスパッチャが更新処理を行なうまでは反映されないから。actionPerformed()が
終わるまでは次のイベント処理が行われないので、画面に反映されない。
だから更新を行なう処理はSwingのイベント処理スレッドとは別に行なうようにすることになる
んだけど、別スレッドからSwingコンポーネントの更新を行なう場合に、invokeLater()が絡んで
くる。
0824818
2005/05/02(月) 00:04:37public void run(){
jTextArea.append("aaa\n");
}
});
SwingUtilities.invokeLater(new Runnable(){
public void run(){
Thread.sleep(500);
jTextArea.append("bbb\n");
}
});
こんな感じでactionPerformedの中に記述してみたのですが、
終了後に纏めて出力されます。
どこか間違っていますか?
0825デフォルトの名無しさん
2005/05/02(月) 00:24:35ええと、よくわからんけどちょっと違うように思う。
invokeLater()は、SwingのイベントディスパッチスレッドのキューにRunnableを突っ込む機能
なんで、それだと、
actionPerformed() -> 一つ目のRunnableが突っ込まれる --> 二つ目のRunnableが突っ込まれる
-->actionPerformed()が終わる --> 一つ目のRunnableが処理される --> 二つ目のRunnableが処理される
-->次のイベントが処理される。たぶんここでrepaintが行なわれる。
ということじゃないかな。
当初の要件で言えば、
・actionPerformed()起動
・開始メッセージをJTextAreaにセット
・処理用スレッドを起動
・actionPerformedは処理終わり
で起動した処理用スレッドは、
・とりあえずループする。
・ループの中で一回処理が終わるたびに、invokeLater()でJTextAreaに処理中ログ出力
・スレッド切替を確実にするためにsleep(1)くらいしとく。
・ループ脱出したら終了メッセージをJTextAreaにセット
てな感じでは。ともかく、actionPerformed()はスレッドを起動したらさっさと終了しないと、
イベントディスパッチャが次のイベントを処理できない。
0826デフォルトの名無しさん
2005/05/02(月) 00:25:550827デフォルトの名無しさん
2005/05/02(月) 00:54:33このプログレスバーのデモを参考にしてみたら?
http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
SwingWorkerというサンプルを使って、別スレッドで処理をして、タイマーでログ出力している。
処理をしながら、画面の更新を行うという点では参考になると思う。
0828818
2005/05/02(月) 01:08:31低レベルな質問で申し訳ありません。
>>819,820,821,823,825,827
レス有難うございました。
>>825殿の説明でやっと理解できて、希望通りの処理を行うことができました。
こんなくだらない質問に、これだけの人に教えてもらえるとは思いませんでした。
もっと勉強して人に教えることができるようになりたいです。
0829デフォルトの名無しさん
2005/05/02(月) 01:22:31>低レベルな質問で申し訳ありません。
ここはSwingスレだからレベルにかかわらずSwingに関連した質問をするのは
全然問題ないんじゃないの? どちらかというと問題なのは、
>・スレッド切替を確実にするためにsleep(1)くらいしとく。
みたいなことを平気で教えるほうだと思う。
0830デフォルトの名無しさん
2005/05/02(月) 01:25:41あとはあまり美しくはないが、repaintイベントとばすのではなく
イミディエイトを使うという手もある
やっつけしごとにどうぞ
0831デフォルトの名無しさん
2005/05/02(月) 02:01:39すべてのJavaスレッドがプリエンプティブであることが保証されてるならともかく、その保証がない以上、
スレッドは長い処理中に定期的に自ら優先権を放棄して、他スレッドが実行されるチャンスを与えるように
することは必要なんじゃなかったっけ?
yield()については無視するJVMがあることは有名だけど、sleep()についてはどんなJVMでも必ず一旦
スレッドを停止して、スレッドスケジューリングを実行するってことだったと思うけど。
まあいまどきはほとんどがプリエンプティブなネイティブスレッド使ってるんだろうけど、Sunのリファレンス
実装がGreen Threadモデル使ってたって例もあるし、他社製JVMにはGreen Threadなのもあるらしいし。
0832デフォルトの名無しさん
2005/05/02(月) 11:22:08スリープを意識的に入れるコードは設計がおかしいのでは?
0833デフォルトの名無しさん
2005/05/02(月) 11:30:570834デフォルトの名無しさん
2005/05/02(月) 11:54:190835デフォルトの名無しさん
2005/05/02(月) 11:57:510836デフォルトの名無しさん
2005/05/02(月) 12:37:100837デフォルトの名無しさん
2005/05/02(月) 13:36:39sleep使わずスレッド切り替えしようと思うとめんどうなコーディングしないといけないんだろ。
設計がおかしいといえるもんでもないと思うが。
0838831
2005/05/02(月) 14:14:40止まると次のスレッドを決めないといけないので、スケジューリングが走る。
むろんsleepの用途はカレントスレッドを止めることであってスレッドスケジューリングを行なう
ことではないけど、カレントスレッドが止まれば当然スケジューリングも走る。
オライリーがどのくらい信用できるかわからんけど、「Javaネットワークプログラミング」には
スレッドの実行権譲渡について詳しく説明があって、やっぱり長い処理中には明示的に実行権を
放棄すべきと書かれていて、sleep()は最も強力な実行権譲渡方法として紹介されてる。
(もっともこの本は、yieldは無視されることがあるといいつつ、ループ内ではyieldを使えと
書いてあるけど)
要はスレッド実行中の実行権譲渡方法ってIO待ちとかを除けば、synchronizedによる待機、
wait、join、yield、sleepくらいしかなくて、前の三つはループ内でただ実行権を一時的に放棄
するためには使えず、一番的確なyieldは、JVMによっては無視してもいいとかいう言語既定
になってるもんだから、現実的にごく短いsleep()が使われるってことじゃないの。
現実解としてはsleep()使うんじゃないかな。
0839デフォルトの名無しさん
2005/05/02(月) 14:47:26それに複数のスレッドがある場合1msでAWTスレッドに代わるのを期待できるのか?
0840460
2005/05/02(月) 15:12:03エリックガンマは最初Eclipseの前身のVisualAge for Java for MicroEdition
をSwingで作ってそれに満足してたけど、最初に使った連中から速度と見た目について
文句を言われたらしい。それでVisualAge for SmalltalkやVisualAge for Javaを
つくるときに使ったSmalltalk用GUIレイヤをJavaに移植したのがSWTとのこと。
確かにこれじゃ他のライブラリと違和感あるよなあ。
エリックガンマ自身はSwingの速度自体は問題にならないと当時も
思っていたらしい。さすがにわかってるね。
0841831
2005/05/02(月) 16:27:54まあsleep(1)ってのは、要件が実行権放棄だけなんで、単に一番短い数値を指定したんだろうなと
思ってたよ。
しかしなるほど、たしかにスレッドが一杯あったら、sleep()でスレッドが止まるにしても、
次にいつ画面更新が行われるかはいつかよくわからんね。結局まとめてログ出力されてしまう
可能性がある。
じゃあSwingだとどうするんだろう、と思って>>827で紹介されてたリンクを辿って見てたんだけど、
このSwingWorkerの例って
・SwingWorkerは一生懸命処理する。
・SwingのTimerがSwingWorkerに現在値を問い合わせて、プログレスを更新
となっているような感じなんだけど、これだとやっぱりSwingWorkerは定期的に自分から
実行権を放棄しないとイベントディスパッチャに制御が戻らん可能性があるよね。
例ではたまたまsleep(1000)が入ってるんで問題なさそうだけど。
この場合もスレッドが多いといつ更新されるのかは不明になってしまう。
当初の要件のように、確実に、「処理1回終わり-->ログをJTextAreaに表示」サイクルを繰り
返そうと思ったら、Swing TimerのactionPerformed()にサイクル1回分を書いて、繰り返し実行
するようにTimerを設定する、ということになるんですかね。
0842デフォルトの名無しさん
2005/05/02(月) 19:10:56private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Thread t = new Thread(){
public void run(){
for(int i=0;i<10;i++){
//何らかの処理
try{
SwingUtilities.invokeAndWait(new Runnable(){
public void run(){
jTextArea1.append("AAA\n");
}
});
}catch(Exception ex){}
}
}
};
t.start();
}
これでまったく問題ないだろうに。
0843デフォルトの名無しさん
2005/05/03(火) 02:37:56invokeAndWait()か。そりゃそうだよな.... ありがと。
0844デフォルトの名無しさん
2005/05/05(木) 21:37:200845デフォルトの名無しさん
2005/05/05(木) 21:55:49JavaAPI入門→Swing入門→4. Swingとスレッド
0846デフォルトの名無しさん
2005/05/05(木) 22:19:010847デフォルトの名無しさん
2005/05/05(木) 22:28:220848デフォルトの名無しさん
2005/05/06(金) 06:58:26invokeLater→メッセージキューに入れたらすぐに制御が戻る
invokeAndWait→実行が終わるまで制御が戻らない
0849デフォルトの名無しさん :
2005/05/08(日) 21:04:15JTableの任意のセルにフォーカスを移動するにはどうすればいいんですか?
DefaultTableModel使ってコーディングしてます。
0850デフォルトの名無しさん
2005/05/08(日) 21:36:37JTextField には InputVerifier を付けていて正しい入力を行うまで
他にフォーカスが移動しないようにしています。なので、JButton には
フォーカスは移らないのですが、マウスをクリックするとボタンがへこみ
actionPerformed() が呼ばれてしまいます。
InputVerifier でフォーカス移動が禁止されている間は、
JButton 自体を機能させたくないのですが何か方法はないでしょうか?
一応、actionPerformed() 内で isFocusOwner() で JButton 自身が
フォーカスを取得できていない場合は、何もしないようにコーディング
しています。可能ならボタンをへこまないようにもしたいのです。
0851デフォルトの名無しさん
2005/05/08(日) 21:47:54選択させたいってことか?
JTableにそれらしいメソッドがみえるが
0852デフォルトの名無しさん
2005/05/08(日) 22:10:04入力確定時の完全なフォーカスのロックは便利そうで不便なことも引き起こす
ボタン完全に押せないと入力途中でやっぱりやめたとキャンセルボタン押しても
「不正です」とでたりして押せないとかな
0853デフォルトの名無しさん :
2005/05/08(日) 22:10:14え?どれですか?
0854デフォルトの名無しさん
2005/05/08(日) 22:15:58void setRowSelectionInterval(int index0, int index1)
void setColumnSelectionInterval(int index0, int index1)
あたり。
ただし、これでフォーカスがあたるかどうかはわかんないが。
0855デフォルトの名無しさん :
2005/05/08(日) 22:16:55選択というか、フォーカス持ってくる。
同じこと?どのメソッド?
0856デフォルトの名無しさん
2005/05/08(日) 22:22:030857デフォルトの名無しさん
2005/05/08(日) 22:23:29InputVerifier のこと自体 理解していないんだったら黙ってたほうがいいよ。
キャンセルボタンなど InputVerifier を無視してフォーカスを得たいコンポーネントは
setVerifyInputWhenFocusTarget(false) することになっているから無問題。
ちなみに、フォーカスは移動しないけどボタンが押せてしまうのはバグらしい。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4533820
0858デフォルトの名無しさん
2005/05/08(日) 22:25:26うはっwwwっおkwwwwwwwww
っっうぇwww
っwwwっうぇwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwっっうぇwww
0859デフォルトの名無しさん
2005/05/08(日) 22:41:00あれは5年以上放置だから仕様かとおもってたが
0860デフォルトの名無しさん
2005/05/09(月) 06:05:50ttp://terai.xrea.jp/Swing/AnchorSelection.html
//0行0列のセルにフォーカス
table.getSelectionModel().setAnchorSelectionIndex(0);
table.getSelectionModel().setLeadSelectionIndex(0);
table.getColumnModel().getSelectionModel().setAnchorSelectionIndex(0);
table.getColumnModel().getSelectionModel().setLeadSelectionIndex(0);
table.changeSelection()でもできるかもしれない
0861デフォルトの名無しさん
2005/05/09(月) 22:30:12Viewport を再設定する必要もあり。>選択範囲
0862デフォルトの名無しさん
2005/05/10(火) 10:00:55jTableで列名の長さに応じてセルの幅を調節したいんですが
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF );
TableColumn column=jTable1.getColumn("カラム1");
column.setWidth(15);
jTable1.doLayout();
これでもサイズが変更されません。お助けください・・・
0863デフォルトの名無しさん
2005/05/10(火) 12:17:47apiには以下のように書かれているが
>public void setWidth(int width)
>このメソッドを使用して JTable の列の幅を設定しないでください。代わりに setPreferredWidth を使用します。
0864デフォルトの名無しさん :
2005/05/10(火) 22:59:53サンキューです
0865デフォルトの名無しさん :
2005/05/12(木) 00:41:02ノードによって選択可能不可能の設定ってできるんですか?
できるなら教えてください。
0866デフォルトの名無しさん
2005/05/12(木) 13:58:07ttp://www.objects.com.au/java/examples/swing/DisabledTreeCell1.do;jsessionid=C79AE4E4D3A5D57C2801B823EA9ECCF7
0867デフォルトの名無しさん
2005/05/16(月) 22:50:15かっちょいいスキンとか出回るようになるのでしょうか。
0868デフォルトの名無しさん
2005/05/17(火) 00:24:05使ってみればどういうもんかわかるよ
0869デフォルトの名無しさん
2005/05/17(火) 00:29:18昔のLinuxの日本語表示みたいにギザギザなんだろう?
このSynthつかうと そういう心配なし?
0870デフォルトの名無しさん
2005/05/17(火) 00:55:290871デフォルトの名無しさん
2005/05/17(火) 00:59:34ひょっとして、1.4 使ってるのか?
だとするとボールド使うと日本語汚くなるかも。
Windows だったら、起動オプションに
-Dsun.awt.UseAltWin32FontApi=(fontname,unicode_start,unicode_end,size_start,size_end)
付ければネイティブのフォントAPI使ってくれたはず。
1.4.1 までだったかもしらんけど。
0872デフォルトの名無しさん
2005/05/17(火) 01:05:560873デフォルトの名無しさん
2005/05/20(金) 23:45:26としたとしても、MS系で作ったアプリと微妙にフォント違うよね
なんかこうインチキ臭いフォントって言うか・・・
Delphiで書いたアプリもそうだけど
怪しさはSwingのほうがあやしい
0874デフォルトの名無しさん
2005/05/20(金) 23:46:250875デフォルトの名無しさん
2005/05/20(金) 23:47:150876デフォルトの名無しさん
2005/05/20(金) 23:54:07フォント殿変が違う?
MSなフォント指定すれば同じになるが
0877デフォルトの名無しさん
2005/05/21(土) 00:03:40う〜ん わかりやすく言うと、
たとえば、UTF-8で書かれた(ファイルの保存もcharsetもUTF-8)Webページ見たときのようなへんな感じ・・・ってわかります?
0878デフォルトの名無しさん
2005/05/21(土) 00:04:160879デフォルトの名無しさん
2005/05/21(土) 00:39:24> としたとしても、MS系で作ったアプリと微妙にフォント違うよね
>>871 は有効になってれば、MSのフォント使って、
Windowsネイティブのフォントレンダラ使うはずなので違わんはずだが。
違うってのは有効になってないか、単なる思い込みなんじゃね?
スクリーンショット取って比較してみれば?
0880デフォルトの名無しさん
2005/05/21(土) 00:48:16UTF8もSJISも見た目はまったくかわらんだろ
0881デフォルトの名無しさん
2005/05/21(土) 01:03:250882デフォルトの名無しさん
2005/05/21(土) 03:30:210883デフォルトの名無しさん
2005/05/21(土) 10:14:350884デフォルトの名無しさん :
2005/05/21(土) 12:00:49JTableのヘッダー部にマウスが来るとマウスの形状を変えたいのですが、
マウスがヘッダー部に来たってことをどのようにすれば知ることができるのでしょうか?
0885デフォルトの名無しさん
2005/05/21(土) 13:32:16ヘッダー部全体なら、JTable#getTableHeader() でヘッダー部のコンポーネント取ってきて、
addMouseListener() で mouseEntered と mouseExited 実装した MouseListener 渡せば取れると思われ。
0886デフォルトの名無しさん
2005/05/22(日) 08:38:20ボールド処理が糞だと前々からBugParadeで言われてきたのがようやく改修されただけ。
0887デフォルトの名無しさん
2005/05/22(日) 15:59:21>ボールド処理が糞だと前々からBugParadeで言われてきたのが
じゃ、言ってることは合ってんじゃんか
0888デフォルトの名無しさん
2005/05/22(日) 16:20:36でもメタルのLAFデフォのまま使ってるところってそんなにないよね
0889デフォルトの名無しさん
2005/05/22(日) 18:07:331.3.1 では有効になった。
1.4 では有効にならんみたい。orz
0890デフォルトの名無しさん
2005/05/22(日) 18:23:49> BOLDは英語は問題なかったし
JDKが標準でフォント持ってるからね。
英語の部分にMSゴシックとか使った場合は同様の問題出るよ。
個人的には1.5の品質なら許容範囲内なんだけど。
0891デフォルトの名無しさん
2005/05/22(日) 18:51:531.1時代は綺麗だったような
1.2もバージョンいにょって細かく違ってたし
1.3になってひどいのがちらほらと
1.4も0.0.1違うだけでどんどんかわっていった
何をしたいんだ>Sun
まぁ5.0は1.3以降の中では綺麗
1.2以前はOSのまんま使ってたんだっけかな
0892デフォルトの名無しさん
2005/05/22(日) 19:15:10そりゃそうだ。だって、Swingなかったでしょ。
Swingの問題は、
ttp://www.lake.its.hiroshima-cu.ac.jp/~mondo/Java/TnE/005.html
このあたり見てくれ。で、さらに詳しく知りたいなら bugParade探してみて。
結構昔から、Boldフォントの問題はでてるから。
0893デフォルトの名無しさん
2005/05/22(日) 19:17:21標準APIではなかったが
0894デフォルトの名無しさん
2005/05/22(日) 19:18:53少なくとも正式リリースじゃなかった記憶があるんだけど
0895デフォルトの名無しさん
2005/05/22(日) 20:34:431.4.1と1.4.2でスピードが全然違う
0896デフォルトの名無しさん
2005/05/22(日) 20:49:54おかげでSwingが快適になった
5.0になってどれだけ変わるかと期待したが1.4.2と速度的にかわらんのがなぁ
VolatileImageも多少は扱いやすくなったが、あいかわらず使いにくいし
そろそろ拡大縮小くらいはアクセラレーションきくようになってほしいな
0897デフォルトの名無しさん
2005/05/22(日) 20:56:49速度、5.0の方が速いでしょー?
誰に聞いてもそう返って来てたのに・・・。
あ、Java2D生でガリゴリしてるひとじゃなくてGUI部品単位で
Swing使ってる人に対してだけど。
Mustangも微妙に速くなってきてると思う。今、1.6.0-b37上で動いてるv2cから..._〆(゚▽゚*)。
0898デフォルトの名無しさん
2005/05/22(日) 21:07:06アクセラレーションがきくようにコードを書いてる人は5.0になってもまったくかわらんよ
ただ、GCの速度とかアップしてるし総合的には上がってるのはわかる
0899デフォルトの名無しさん
2005/05/25(水) 09:15:34> 何をしたいんだ>Sun
awt にフォントの情報取れるインターフェイス持ってるの気付かなかった?
プラットフォーム依存をより少なくするために自前でフォント描画してんのよ。
0900デフォルトの名無しさん
2005/05/25(水) 09:37:58そんなのは誰でもわかってることだろ。
描画結果が何回もころころ変わるから問題になるのだ。
0901デフォルトの名無しさん
2005/05/26(木) 02:16:02よくしようと変わってんだからいいじゃん。
フォントの描画方法変わっても別にアプリに影響ないでしょ?Swingなら。
# そんなのに依存するんだったら、アプリの書き方にちょっと問題が・・・
0902デフォルトの名無しさん
2005/05/26(木) 08:12:31そもそもBOLDの問題はSwing特有のものだっけ?
AWTの話だと思うんだが
それに見た目がころころ変わるってのは
アプリの動作はまったくかわらんが結構影響大きいぞ
0903デフォルトの名無しさん
2005/05/26(木) 13:01:51フォントなんてプリミティブな要素、
AWT では抽象化されてるべきだと思うんだが。
0904デフォルトの名無しさん
2005/05/26(木) 13:05:400905デフォルトの名無しさん
2005/05/26(木) 17:24:35で、抽象化したとしてだれが実装すんの?
0906デフォルトの名無しさん
2005/05/26(木) 17:26:07速度の影響が大きいからね。
0907デフォルトの名無しさん
2005/05/26(木) 19:53:18結構おかしいことになったりする
0908デフォルトの名無しさん
2005/05/28(土) 21:33:26そうやっていきなりあきらめるんじゃなく、Swingは理想的に作って
できるところから最適化(ネイティブ利用など)してきてるから偉いんだって。
0909デフォルトの名無しさん
2005/06/05(日) 14:24:52と思ったのですが
Swingはデフォルトでダブルバッファリングだから
オフスクリーン用のImgeは生成しなくても
いいんですよね?
一応JComponentを継承したのを
JFrameに貼ろうというふうにやっているのですが
0910デフォルトの名無しさん
2005/06/05(日) 14:46:08実際のところアクセラレーションをきくようにとか細かいことやり始めると
自分でバッファを作ったほうが小回りが利いていいと思われ
repaintのたびに描画がはいると重いからね
たとえばスプライトを1万個描画するのをイベント発行時で処理するのと
画像が変わったときに処理、paint時には出来上がった画像を表示するだけでは大きく変わる
0911909
2005/06/05(日) 16:25:59GIF画像取得のでgetClass()で
Nullが発生している模様
スレ違いの部分でつまづいたorz
0912デフォルトの名無しさん
2005/06/05(日) 16:40:16せめて、その画像を取得してる部分のソースを出すべきだと思う
0913909
2005/06/05(日) 20:43:32Image[] diz;
URL[] di;
コンストラクタ(){
for(int i=0;i<2;i++){
di[i] = getClass().getResource("dizzy"+i+".gif");
diz[i] = Toolkit.getDefaultToolkit().createImage(di[i]);
}
あと、NullpointerExceptionが発生しているのは
getClassではなくgetResourceの部分でした。
0914デフォルトの名無しさん
2005/06/05(日) 20:47:330915デフォルトの名無しさん
2005/06/05(日) 20:58:25Swing使ってるならImageIO使ってもいいんじゃないか?
0916909
2005/06/06(月) 06:38:24パスミスっただけ?
ファイルはクラスと同じ場所にあるのに
スレ違い過ぎるのでここに質問するのは
もうよしときます。
0917デフォルトの名無しさん
2005/06/06(月) 07:57:40こういうときはJava初心者スレにでも書いておいて、そこへのポインタを貼るといいよ。
0918デフォルトの名無しさん
2005/06/06(月) 23:19:420919デフォルトの名無しさん
2005/06/06(月) 23:26:22環境しだいだな
0920デフォルトの名無しさん
2005/06/07(火) 00:04:140921デフォルトの名無しさん
2005/06/07(火) 00:07:590922デフォルトの名無しさん
2005/06/10(金) 21:09:58http://pcweb.mycom.co.jp/news/2005/06/09/012.html
0923デフォルトの名無しさん
2005/06/10(金) 21:35:40ttp://pc8.2ch.net/test/read.cgi/tech/1056116495/387
>Netbeansの次期バージョンでは、ついにGUIエディタにも大改良をくわえるらしい!
>Netbeansのサイトにデモムービーが上がってたけど、これはすげええええ。
>Interface Builder級かもしれん....
>
>JavaOne 2005 でまず姿を現して、次バージョン(4.2)で今のフォームエディタと
>置き換えるらしいぞ。
>ttp://www.netbeans.org/kb/articles/matisse.html
0924デフォルトの名無しさん
2005/06/10(金) 21:53:56なんつうか、このスレの存在価値が無くなりそうだな。
0925デフォルトの名無しさん
2005/06/10(金) 22:18:560926デフォルトの名無しさん
2005/06/10(金) 22:30:110927デフォルトの名無しさん
2005/06/11(土) 01:18:190928デフォルトの名無しさん
2005/06/11(土) 01:28:540929デフォルトの名無しさん
2005/06/11(土) 01:38:28馬鹿がいた
0930デフォルトの名無しさん
2005/06/11(土) 02:10:090931デフォルトの名無しさん
2005/06/11(土) 10:33:31たしかにイベントに関しては多少増やしてほしいところだが
Delphiとどっちが上かと聞かれるとまたベクトルが違うからねぇ
Swingであるために楽な場面とかは割と多いし
0932デフォルトの名無しさん
2005/06/11(土) 19:01:53そんなあなたに
http://pc8.2ch.net/test/read.cgi/tech/1056116495/387
0933デフォルトの名無しさん
2005/06/11(土) 20:08:11そんな君に
>>923
0934デフォルトの名無しさん
2005/06/13(月) 13:29:25VERTICAL_SCROLLBAR_AS_NEEDED を指定しているので、内部の
コンポーネントのサイズによって自動的にスクロールバーが表示されたり消えたりしますが、
その表示状態を取得したいのです。
0935デフォルトの名無しさん
2005/06/13(月) 18:33:43scroll.getVerticalScrollBar().isVisible();
とか?
0936934
2005/06/13(月) 21:30:20scroll.getVerticalScrollBar().isShowing() というものがあり、
これを使うとうまくいきました。
0937デフォルトの名無しさん
2005/06/14(火) 11:51:31XML定義ファイルをロケールごとに切り替えろってこと?
0938デフォルトの名無しさん
2005/06/14(火) 12:10:06そのへんどーなんかね
やりやすいようにはみえんが
0939デフォルトの名無しさん
2005/06/14(火) 21:10:49本屋には無かったんで Amazon で買ったんだけど、いいね、これ
まず意外と厚くてびっくり。
CDROMとか無駄がないし、文字も適度に小さくてなかなか好感触。
こういう良書は長く売れてほしいよ。表紙がネコミミだけど
0940デフォルトの名無しさん
2005/06/15(水) 02:05:19私は買っていなかったりしますが……
その人のWebページにはいろいろな言語(JavaSwing他含む)の解説が載っています。
まだ買ってない人はそこをみて、購入するか決めるのがよろしいかと。
どれも非常に分かりやすくかかれているのでよさげです。
0941デフォルトの名無しさん
2005/06/15(水) 09:35:280942デフォルトの名無しさん
2005/06/15(水) 11:37:19SwiXml/SwiXAT最高。
0943937
2005/06/15(水) 16:55:33ほほう、i18nも考慮されてるし、素直な設計で使いやすそう。紹介サンクス。
0944デフォルトの名無しさん
2005/06/15(水) 18:01:33実行してテストを繰り返すのか?
効率悪いなぁ
0945デフォルトの名無しさん
2005/06/24(金) 15:27:49http://www.itmedia.co.jp/enterprise/articles/0506/24/news058.html
> 「JavaOneの最もクールな発表の一部は、GUIに関連したものになるだろう」
> とJavalobbyのロス氏は予測する。「特にクールなのは、SunがMustangととも
> に披露する新しいデスクトップJava機能だろう。わたしはその一部を見たこと
> があるが、あれはとても素晴らしい」。
期待してもいいですか?
0946デフォルトの名無しさん
2005/06/24(金) 17:38:25ってのがJDICだけだったら(´・ω・`) かも
0947デフォルトの名無しさん
2005/06/24(金) 18:04:030948デフォルトの名無しさん
2005/06/24(金) 20:12:280949デフォルトの名無しさん
2005/06/25(土) 00:53:420950デフォルトの名無しさん
2005/06/25(土) 11:52:27それってデスクトップ機能なのか?
0951デフォルトの名無しさん
2005/06/25(土) 12:19:05デモはJEditorPaneはりつけてGoogle Map表示するだけ
0952デフォルトの名無しさん
2005/06/25(土) 12:33:410953デフォルトの名無しさん
2005/07/02(土) 00:09:200954デフォルトの名無しさん
2005/07/02(土) 01:10:550955デフォルトの名無しさん
2005/07/02(土) 10:43:260956デフォルトの名無しさん
2005/07/09(土) 22:09:56Swingベースでソースコードが公開されているアプリケーション
って何かありますでしょうか。
0957デフォルトの名無しさん
2005/07/09(土) 22:12:01Sunのサンプル
0958デフォルトの名無しさん
2005/07/09(土) 22:12:52NetBeans
0959デフォルトの名無しさん
2005/07/09(土) 22:24:21ありがとうございます。
これは既に見ています。
実際に利用されているアプリケーションのサンプルがあると
良いのですが。
>>958
ありがとうございます。
NetBeansの存在は知っていますが、多分巨大すぎて参考に
ならないかと。
フリーウェア等でGUIインターフェースに凝ったようなものを
ご存じでしたらお願いします。
0960デフォルトの名無しさん
2005/07/09(土) 22:49:24つうか、NetBeansつかうだけでいいんじゃねぇの?
0961デフォルトの名無しさん
2005/07/09(土) 22:53:50具体的にはどういうアプリを作りたいの?
GUIの程度によっては>>960の言うようにNetBeans使ってSunのサンプル
見れば十分だろ?
0962デフォルトの名無しさん
2005/07/09(土) 23:09:21ってSWTスレに出没してたやつか
0963デフォルトの名無しさん
2005/07/10(日) 00:08:43@あいてぃー会議室の有望新人いっさみたいなやつだな。
・・・ちょっと言い過ぎた。
0964デフォルトの名無しさん
2005/07/10(日) 00:11:20SwingSet2
0965デフォルトの名無しさん
2005/07/10(日) 02:13:530966デフォルトの名無しさん
2005/07/10(日) 02:16:350967デフォルトの名無しさん
2005/07/14(木) 01:55:29http://v2c.s50.xrea.com/
今もコレで見てる
0968デフォルトの名無しさん
2005/07/14(木) 20:16:53MFCのひどさに泣きそうになる。
せめて.NETで作りたかった。
0969デフォルトの名無しさん
2005/07/14(木) 20:19:41あれはDelphiとかBCBやってきた身としてはとっつきやすい
Swingは次元が違いすぎる(この場合ほめ言葉)のでアレだ
0970デフォルトの名無しさん
2005/07/16(土) 00:16:05次元とは具体的にどんな感想?
0971デフォルトの名無しさん
2005/07/16(土) 00:16:540972デフォルトの名無しさん
2005/07/16(土) 00:51:22http://www.netbeans.org/files/documents/4/475/matisse.html
これに比べたら他のIDEなんておもちゃ
0973デフォルトの名無しさん
2005/07/16(土) 00:52:41ただ、さりげなくSwingの特徴であるhtmlつかってるのわらた
ラベルで複数行表示とか便利だもんね
0974デフォルトの名無しさん
2005/07/16(土) 00:54:174.2のデイリービルド落として、ちょっと設定すれば体験できる
http://d.hatena.ne.jp/nowokay/20050627#1119819944
0975デフォルトの名無しさん
2005/07/16(土) 00:55:28さすがにIDEで未完成のバージョンが「現状できる」とは俺はいえん
0976デフォルトの名無しさん
2005/07/16(土) 01:24:03まあ、生産性の部分ではIDEを抜きには考えられないと思うが。
0977デフォルトの名無しさん
2005/07/16(土) 02:37:28コマンド処理というか、メニューの処理ってどうしてます?
カットやコピーみたいに複数のコンポーネントで共有してる場合とか。
いろいろググってみたけど見つからないのでCommandManagerなんてのを
自作してやってますが、いい感じのフレームワークとかあるんでしょうか?
0978デフォルトの名無しさん
2005/07/16(土) 02:48:400979デフォルトの名無しさん
2005/07/16(土) 02:49:060980デフォルトの名無しさん
2005/07/16(土) 03:06:44つ javax.swing.Action
0981977
2005/07/16(土) 13:37:37例えば複数のイメージを開いて編集できるアプリケーションの場合、
「終了」コマンドはアプリケーションで、
「保存」コマンドはアクティブなドキュメントで、
「コピー」コマンドはアクティブなイメージのビューで
ハンドリングしたいのですが、普通はどうやって処理するのか知りたくて、
この辺を解説してるところを探しているのですが、なかなか見つかりません。
0982デフォルトの名無しさん
2005/07/16(土) 13:49:530983デフォルトの名無しさん
2005/07/17(日) 19:22:17すげーのは分かったけど、FlashPlayerで解説すんなとも思った。
0984デフォルトの名無しさん
2005/07/17(日) 20:31:530985デフォルトの名無しさん
2005/07/17(日) 20:45:100986デフォルトの名無しさん
2005/07/17(日) 21:21:26それにアプレットではなんでもできるけど、ナビゲーションツールとして
便利というわけではないし、あくまでも3層式アプリ用とわりきってるのだろう
0987デフォルトの名無しさん
2005/07/17(日) 21:34:450988デフォルトの名無しさん
2005/07/17(日) 21:45:550989デフォルトの名無しさん
2005/07/17(日) 22:06:53金もかかるし
0990デフォルトの名無しさん
2005/07/17(日) 23:49:43適材適所だろ。
0991デフォルトの名無しさん
2005/07/18(月) 10:21:130992デフォルトの名無しさん
2005/07/18(月) 14:28:49AbstructDocumentというのが鍵のようで、出来そうな感じなのですが。
0993デフォルトの名無しさん
2005/07/19(火) 00:45:39Java低速GUI Swing 3
http://pc8.2ch.net/test/read.cgi/tech/1121700954/
補足よろしく
0994デフォルトの名無しさん
2005/07/19(火) 01:45:01乙
スレたったときに比べて、Swing復権したな。
0995デフォルトの名無しさん
2005/07/19(火) 01:59:280996デフォルトの名無しさん
2005/07/19(火) 10:41:580997デフォルトの名無しさん
2005/07/19(火) 10:42:210998デフォルトの名無しさん
2005/07/19(火) 10:42:440999デフォルトの名無しさん
2005/07/19(火) 10:43:081000デフォルトの名無しさん
2005/07/19(火) 10:43:36http://pc8.2ch.net/test/read.cgi/tech/1121700954/l50
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。