成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析Swing Set示例

開發 后端
本文簡單介紹Swing Set示例,以及介紹動態 UI 的技術和體系,并提供有關構建有效的界面的幫助。

 Swing 工具包提供各種用于創建用戶界面的工具和幾乎令人眼花繚亂的選項,這些選項用于在程序生存期間修改界面。小心地使用這些功能可以導致界面能夠適應用戶的需要并簡化交互過程。粗心地使用同樣的功能可以導致非常混亂或徹底不可用的程序。您將修改隨 Sun JDK 一起提供的基于 Swing Set示例應用程序的源代碼;此應用程序的 UI 使用許多動態的特性并且可以作為理解它們的極好的起點。

禁用小部件

動態 UI 的最簡單形式是使不可用的菜單項或按鈕變灰的 UI。禁用 UI 小部件與禁用所有小部件的方法都是相同的。setEnabled() 函數是 Component 類的一個功能。清單 1 顯示了禁用按鈕的代碼:

清單 1. 禁用按鈕

  1. button.setEnabled(false); 

正如您看到的,十分簡單。關鍵問題是何時應該 啟用或禁用一個按鈕。通常的設計決策是當按鈕不可用時禁用它。例如,當一個文件從上一次保存以來還沒有被修改時,很多程序禁用 Save 按鈕(以及任何相應的菜單項)。

關于禁用按鈕的重要警告是要記住在適當的時候重新啟用它們。例如,如果在單擊按鈕和按鈕的動作完成之間有一個確認步驟,即使確認失敗也應該重新啟用按鈕。

調整范圍

有時,應用程序需要動態地調整數值小部件的范圍,例如 Spinner 或者 Slider。這可能比它看起來要復雜許多。特別是 Slider 有二級功能 —— 刻度、刻度間隔和標簽 —— 這些可能需要隨著范圍的調整而加以調整以避免災難發生。

Swing Set示例沒有進行任何一項調整,所以您需要通過把 ChangeListener 連接到一個可以修改其他滑塊的滑塊來修改它。輸入新的 SliderChangeListener 類, 如清單 2 所示:

清單 2. 更改滑塊的范圍

  1. class SliderChangeListener implements ChangeListener {  
  2. JSlider h;  
  3. SliderChangeListener(JSlider h) {  
  4. this.h = h;  
  5. }  
  6. public void stateChanged(ChangeEvent e) {  
  7. JSlider js = (JSlider) e.getSource();  
  8. int i = js.getValue();  
  9. h.setMaximum(i);  
  10. h.repaint();  
  11. }  

這個看起來無意義的操作實際上有重大的作用。每當設置標簽表時就生成滑塊的標簽。沒有為了修改對表進行特殊回調,所以添加到表中的新值不必產生效果;很顯然,空操作具有使 Swing 知道它必須更新顯示的副作用。(以免您認為這是我自己發明的,請注意最初的 Swing Set示例代碼包括這樣一個調用。)

【編輯推薦】

  1. SwingWorker的實例化
  2. Swing控件可以提供聽覺反饋
  3. Java swing組件的串行化方法
  4. Swing組件的新元素Spinner Model
  5. SwingWorker單線程規則
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-07-10 14:20:01

AcceleratorJava Swing

2009-07-15 11:02:32

Swing組件

2009-07-15 16:50:07

Swing項目

2009-07-16 17:01:09

Swing字符串

2009-07-15 16:03:26

Swing線程

2009-07-17 16:41:48

actionPerfoSwing

2009-07-15 13:46:26

Swing體系結構

2009-07-17 11:30:44

Swing Image

2009-07-10 17:24:07

Swing應用程序

2009-07-15 10:06:54

Swing實現MDI

2009-07-15 17:33:08

Swing客戶端

2009-07-16 09:54:44

LookupEventSwing線程

2012-01-17 17:21:24

JavaSwing

2009-07-14 14:00:47

iData技術

2009-07-14 15:12:36

SwingSWT和AWT

2009-09-10 16:38:43

C# get set用

2010-04-20 15:58:30

Unix操作系統

2009-07-17 17:29:13

多任務多線程

2009-09-10 15:27:16

C# get set

2009-07-15 15:35:59

Swing程序Swing性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久精品一区 | 三级黄片毛片 | 亚洲精品3 | 国产精品久久久亚洲 | 成人久久| 欧美日韩精品中文字幕 | 亚洲网站在线观看 | 热久久性 | 日韩av一二三区 | 国产片侵犯亲女视频播放 | 91av在线免费 | 欧美一区二不卡视频 | 亚洲国产片| 久久精品网 | 国产高清精品一区二区三区 | 日韩欧美网 | 精品国偷自产在线 | 97伦理电影网 | 黄片毛片免费观看 | 国际精品鲁一鲁一区二区小说 | 影音先锋中文字幕在线观看 | 激情小说综合网 | 视频1区 | 五月精品视频 | 一级毛片免费视频观看 | 高清国产午夜精品久久久久久 | 女人精96xxx免费网站p | 精品欧美一区二区三区久久久小说 | 国产精品美女久久久久aⅴ国产馆 | 亚洲国产一区二区视频 | 色噜噜亚洲男人的天堂 | 久久久久亚洲视频 | 日韩在线不卡 | 亚洲一区二区三区久久久 | 日韩久久久久久久久久久 | 欧美精品一区二区在线观看 | 成年免费大片黄在线观看岛国 | 在线观看国产wwwa级羞羞视频 | 欧美性吧 | 亚洲欧美精品久久 | 欧美日韩精品免费观看 |