您好,登錄后才能下訂單哦!
怎樣進行Swing Set示例的分析,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
Swing 工具包提供各種用于創建用戶界面的工具和幾乎令人眼花繚亂的選項,這些選項用于在程序生存期間修改界面。小心地使用這些功能可以導致界面能夠適應用戶的需要并簡化交互過程。粗心地使用同樣的功能可以導致非常混亂或徹底不可用的程序。您將修改隨 Sun JDK 一起提供的基于 Swing Set示例應用程序的源代碼;此應用程序的 UI 使用許多動態的特性并且可以作為理解它們的極好的起點。
禁用小部件
動態 UI 的最簡單形式是使不可用的菜單項或按鈕變灰的 UI。禁用 UI 小部件與禁用所有小部件的方法都是相同的。setEnabled() 函數是 Component 類的一個功能。清單 1 顯示了禁用按鈕的代碼:
清單 1. 禁用按鈕
button.setEnabled(false);
正如您看到的,十分簡單。關鍵問題是何時應該 啟用或禁用一個按鈕。通常的設計決策是當按鈕不可用時禁用它。例如,當一個文件從上一次保存以來還沒有被修改時,很多程序禁用 Save 按鈕(以及任何相應的菜單項)。
關于禁用按鈕的重要警告是要記住在適當的時候重新啟用它們。例如,如果在單擊按鈕和按鈕的動作完成之間有一個確認步驟,即使確認失敗也應該重新啟用按鈕。
調整范圍
有時,應用程序需要動態地調整數值小部件的范圍,例如 Spinner 或者 Slider。這可能比它看起來要復雜許多。特別是 Slider 有二級功能 —— 刻度、刻度間隔和標簽 —— 這些可能需要隨著范圍的調整而加以調整以避免災難發生。
Swing Set示例沒有進行任何一項調整,所以您需要通過把 ChangeListener 連接到一個可以修改其他滑塊的滑塊來修改它。輸入新的 SliderChangeListener 類, 如清單 2 所示:
清單 2. 更改滑塊的范圍
class SliderChangeListener implements ChangeListener { JSlider h; SliderChangeListener(JSlider h) { this.h = h; } public void stateChanged(ChangeEvent e) { JSlider js = (JSlider) e.getSource(); int i = js.getValue(); h.setMaximum(i); h.repaint(); } }
這個看起來無意義的操作實際上有重大的作用。每當設置標簽表時就生成滑塊的標簽。沒有為了修改對表進行特殊回調,所以添加到表中的新值不必產生效果;很顯然,空操作具有使 Swing 知道它必須更新顯示的副作用。(以免您認為這是我自己發明的,請注意最初的 Swing Set示例代碼包括這樣一個調用。)
關于怎樣進行Swing Set示例的分析問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。