JToggleButton
- JToggleButton ขยายจาก AbstractButton แทนปุ่มที่สลับ ON และ OFF ได้
- กด JToggleButton ครั้งแรก จะค้างกดอยู่ ปล่อยได้ก็ต่อเมื่อกดครั้งที่สอง
- JToggleButton สร้าง ActionEvent ทุกครั้งที่กด
- JToggleButton สร้าง ItemEvent สำหรับคอมโพเนนต์ที่รองรับ Selection กดเข้า = Selected ปล่อยออก = Deselected
- จัดการ Item Event ต้อง implement ItemListener มีเมธอด itemStateChanged() เรียกเมื่อสถานะเปลี่ยน สถานะ Toggle Button ตรวจสอบด้วย isSelected()
ตัวอย่างโค้ด
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class JToggleButtonTest extends JFrame implements ItemListener {
private JToggleButton jtb;
JToggleButtonTest() {
setTitle("JToggleButton Test");
setLayout(new FlowLayout());
setJToggleButton();
setAction();
setSize(450, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private void setJToggleButton() {
jtb = new JToggleButton("ON");
add(jtb);
}
private void setAction() {
jtb.addItemListener(this);
}
public void itemStateChanged(ItemEvent eve) {
if (jtb.isSelected())
jtb.setText("OFF");
else
jtb.setText("ON");
}
}
public class MainApp {
public static void main(String[] args) {
new JToggleButtonTest();
}
}
ผลลัพธ์

