偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺析Swing Set示例

開(kāi)發(fā) 后端
本文簡(jiǎn)單介紹Swing Set示例,以及介紹動(dòng)態(tài) UI 的技術(shù)和體系,并提供有關(guān)構(gòu)建有效的界面的幫助。

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

禁用小部件

動(dòng)態(tài) UI 的最簡(jiǎn)單形式是使不可用的菜單項(xiàng)或按鈕變灰的 UI。禁用 UI 小部件與禁用所有小部件的方法都是相同的。setEnabled() 函數(shù)是 Component 類(lèi)的一個(gè)功能。清單 1 顯示了禁用按鈕的代碼:

清單 1. 禁用按鈕

  1. button.setEnabled(false); 

正如您看到的,十分簡(jiǎn)單。關(guān)鍵問(wèn)題是何時(shí)應(yīng)該 啟用或禁用一個(gè)按鈕。通常的設(shè)計(jì)決策是當(dāng)按鈕不可用時(shí)禁用它。例如,當(dāng)一個(gè)文件從上一次保存以來(lái)還沒(méi)有被修改時(shí),很多程序禁用 Save 按鈕(以及任何相應(yīng)的菜單項(xiàng))。

關(guān)于禁用按鈕的重要警告是要記住在適當(dāng)?shù)臅r(shí)候重新啟用它們。例如,如果在單擊按鈕和按鈕的動(dòng)作完成之間有一個(gè)確認(rèn)步驟,即使確認(rèn)失敗也應(yīng)該重新啟用按鈕。

調(diào)整范圍

有時(shí),應(yīng)用程序需要?jiǎng)討B(tài)地調(diào)整數(shù)值小部件的范圍,例如 Spinner 或者 Slider。這可能比它看起來(lái)要復(fù)雜許多。特別是 Slider 有二級(jí)功能 —— 刻度、刻度間隔和標(biāo)簽 —— 這些可能需要隨著范圍的調(diào)整而加以調(diào)整以避免災(zāi)難發(fā)生。

Swing Set示例沒(méi)有進(jìn)行任何一項(xiàng)調(diào)整,所以您需要通過(guò)把 ChangeListener 連接到一個(gè)可以修改其他滑塊的滑塊來(lái)修改它。輸入新的 SliderChangeListener 類(lèi), 如清單 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. }  

這個(gè)看起來(lái)無(wú)意義的操作實(shí)際上有重大的作用。每當(dāng)設(shè)置標(biāo)簽表時(shí)就生成滑塊的標(biāo)簽。沒(méi)有為了修改對(duì)表進(jìn)行特殊回調(diào),所以添加到表中的新值不必產(chǎn)生效果;很顯然,空操作具有使 Swing 知道它必須更新顯示的副作用。(以免您認(rèn)為這是我自己發(fā)明的,請(qǐng)注意最初的 Swing Set示例代碼包括這樣一個(gè)調(diào)用。)

【編輯推薦】

  1. SwingWorker的實(shí)例化
  2. Swing控件可以提供聽(tīng)覺(jué)反饋
  3. Java swing組件的串行化方法
  4. Swing組件的新元素Spinner Model
  5. SwingWorker單線程規(guī)則
責(zé)任編輯:佚名 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2009-07-10 14:20:01

AcceleratorJava Swing

2009-07-15 11:02:32

Swing組件

2009-07-15 16:50:07

Swing項(xiàng)目

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體系結(jié)構(gòu)

2009-07-17 11:30:44

Swing Image

2009-07-15 10:06:54

Swing實(shí)現(xiàn)MDI

2009-07-15 17:33:08

Swing客戶(hù)端

2009-07-16 09:54:44

LookupEventSwing線程

2012-01-17 17:21:24

JavaSwing

2009-07-14 14:00:47

iData技術(shù)

2009-07-10 17:24:07

Swing應(yīng)用程序

2009-07-14 15:12:36

SwingSWT和AWT

2009-09-10 16:38:43

C# get set用

2010-04-20 15:58:30

Unix操作系統(tǒng)

2009-07-17 17:29:13

多任務(wù)多線程

2009-09-10 15:27:16

C# get set

2009-07-15 15:35:59

Swing程序Swing性能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)