JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 技巧文件  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Swing Examples all in one file + Tips
T55555

Java, Ruby, Haskell

版主

發文: 1026
積分: 24
於 2004-01-13 06:40 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
想不到 Swing Examples ( http://www.javaworld.com.tw/jute/post/view?bid=20&id=10232&sty=1&tpg=1&age=0 ) 人氣已達 2200+, 那網頁上次還 404...
其實, Swing Examples 已經很老... (記得好像 2 或 3 年前已見過).
而且有些可以改寫的更好...

這裡 upload 一個 "mirror file" (all in one file, mht format)
如有侵犯 copyright, 敬請告知 (那網頁好像沒有任何 copyright notice...)

==============================================
以下順便提一提我個人覺得可以偷懶的 Tips:
(BTW: 大師, 高手就不用看了, 也就不要偷笑我了 ...)
J2SE 已快到 1.5 了, 用一用新的 Swing 吧.

(1) Exit Application - 不要再用老舊的寫法
Old: using WindowListener (WindowAdapter)'s windowClosing to exit
1
2
3
4
5
  frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
      System.exit(0);
    }
  });

New: no more inner class (or implement WindowListener), just one line:
1
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


(2) Center a JFrame on the screen
Old:
1
2
3
4
5
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension size = frame.getSize();
int x = (screenSize.width - size.width) / 2;
int y = (screenSize.height - size.height) / 2;
frame.setLocation( x, y );

New: Wow, 要寫這麼多嗎? 一行就夠了:
1
frame.setLocationRelativeTo(null);


(3) 要 dump Swing Stuff ? Press Ctrl-Shift-F1 !

(4) 快速的 Test 一個 Component or 一個 Panel, 通常 ...
1
frame.getContentPane().add( myTestPanel );

可以更快, 更省 memory...
1
frame.setContentPane( myTestPanel );  // 根本就沒必要 Default Content Pane


(5) Swing support HTML: Like to have multi-line, different colors,
different fonts ... etc on label, button text ... etc?
Using HTML! Example:
1
2
3
JButton b = new JButton("<html> First Line <br> Second Line </html>");
JLabel l = new JLabel("<html><font color=red> RED </font> <font color=green> green");
// 連 ending </font> </html> 都可以省了, 不過太懶也不是好事...

當然, 如果要像 Excel 旋轉字體, 自己寫 UI class 吧.

...
... etc (寫也寫不完)

Swing 越來越大, JSpiner, default support Drag-n-Drop, full screen mode ... etc
需要的朋友,大家一起來發覺,討論吧.

JavaSwing.mht (901.41k)


T55555 edited on 2004-01-13 06:59
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
14407 Swing Examples all in one file + Tips T55555 2000 2004-01-13 06:40
7501 Re:Swing Examples all in one file + Tips yukuan 826 2004-03-03 03:27
5444 Re:Swing Examples all in one file + Tips godnesss 114 2006-03-27 15:31
5391 Re:Swing Examples all in one file + Tips godnesss 109 2006-03-27 15:35
5180 Re:Swing Examples all in one file + Tips weaker 212 2006-03-28 09:25
5772 Re:Swing Examples all in one file + Tips godnesss 35 2006-03-31 13:41
» JWorld@TW »  Java 技巧文件

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8