Java GUI การสร้างปุ่มปิดโปรแกรม เมื่อคลิกแล้วให้ Frame ปิด
ตัวอย่างโปรแกรมนี้ เรามาสร้างปุ่ม แล้วเมื่อเราคลิกปุ่มที่สร้างแล้ว จะทำการปิด frameตัวอย่างโค้ด
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JavaCodeExam extends JFrame implements ActionListener {
private JFrame frame;
public static void main(String[] args) throws Exception {
new JavaCodeExam();
}
public JavaCodeExam() {
this.frame = new JFrame();
this.frame.setVisible(true);
this.frame.setTitle("Frame By Java Code Exam");
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JButton btnClose = new JButton("Close Windows");
btnClose.addActionListener(this);
panel.add(btnClose);
this.frame.add(panel);
this.frame.pack();
this.frame.setSize(500, 200);
this.frame.setLocation(10, 10);
}
@Override
public void actionPerformed(ActionEvent e) {
// remove the previous JFrame
this.frame.setVisible(false);
this.frame.dispose();
}
}
ตัวอย่างนี้สร้างปุ่มปิดโปรแกรม ซึ่งเมื่อคลิกแล้วให้ Frame ปิด
ก่อนอื่น Class ที่เราสร้างขึ้นจะ extends JFrame และ implements ActionListener
จากนั้นจะสร้างตัวแปร frame ที่เป็น JFrame ไว้เป็นตัวแปรชนิด Object
ใน constructor ได้ทำการสร้าง Object JFrame ไว้ในตัวแปร frame ที่เราได้สร้างไว้ แล้วก็ทำการเซตค่าต่าง ๆ ให้กับ frame
จากนั้นให้เราสร้างปุ่มที่ต้องการที่เมื่อกดแล้วจะให้ปิด frame
ปุ่มที่สร้างขึ้นจะเรียกใช้ addActionListener(this); ส่ง ActionListener เข้าไป ซึ่ง ActionListener ที่ส่งเข้าไปนี้ก็คือตัวของมันเอง this เพราะเราได้ implements ActionListener ไว้แล้ว
Class ที่เราได้ทำการ implements ActionListener นั้น จะมี public abstract void actionPerformed(java.awt.event.ActionEvent arg0); ดังนั้น เราจะต้อง Override method actionPerformed
ใน method actionPerformed เราได้ทำการ this.frame.setVisible(false); และ this.frame.dispose(); เพื่อปิด frame
ไม่มีความคิดเห็น :
แสดงความคิดเห็น