1. 程式人生 > >java桌面應用:解決開關按鈕只能使用一次的問題

java桌面應用:解決開關按鈕只能使用一次的問題

最近在使用java倒騰某個工具的介面,做了個button(開啟關閉按鈕),可最後 只能執行一次,再執行就無效了

頭疼了幾天,今天 終於找到解決的辦法了,(;′⌒`)(;′⌒`)   趕緊記錄一下。

使用普通的按鈕JButton 無法實現開關按鈕模式;需使用Swing中JToggleButton類來建立。

看看這個按鈕咋用吧

一、建立開關按鈕

開關按鈕的建立方式和普通按鈕的建立方式一樣,通過JToggleButton來建立,如下:

JToggleButton toggleButton = new JToggleButton("開啟");

顯示的效果與普通的按鈕也沒有什麼區別,如下圖:


JToggleButton類有兩個初始狀態:按下和彈起,普通的按鈕只有一個彈起初始狀態,所以JToggleButton可通過一個布林值指定開關按鈕的初始狀態

如下圖,建立一個初始狀態為“按下”的開關按鈕:


二、開關按鈕的事件處理

單擊事件和普通的按鈕相似,開關按鈕同樣可以處理單擊事件,但它與普通按鈕處理事件也有所不同,就是開關按鈕是含有狀態的:

即在點選這個按鈕之後,它是在“按下”狀態,還是“彈起”狀態。在響應單擊事件時可以根據當前的狀態執行不同的Action,如下程式碼

在“按下”和“彈起”時分別打印出不同的文字


上述的程式碼中,通過getSource方法獲取到被點選的按鈕物件,這個物件是JToggleButton物件,

繼而通過這個JToggleButton物件的isSelected方法來判斷開關按鈕的狀態,根據這個狀態執行不同的輸出內容

程式碼執行後,可重複點選該按鈕,實現開關按鈕 的作用