วันศุกร์ที่ 21 กุมภาพันธ์ พ.ศ. 2557

Java GUI การสร้างปุ่มหลายปุ่มแล้วกดปุ่ม มี event หลาย ๆ แบบ

Java GUI การสร้างปุ่มหลายปุ่มแล้วกดปุ่ม มี event หลาย ๆ แบบ

ตัวอย่างนี้เป็นตัวอย่างโค้ดโปรแกรมในการสร้างปุ่มหลาย ๆ ปุ่ม แล้วเมื่อกดปุ่มแล้ว จะมี event ที่ต่างกัน ซึ่งในตัวอย่างสร้างมา 2 ปุ่ม ปุ่มแรกสำหรับแสดงข้อความ alert โดยใช้ JOptionPane อีกปุ่มหนึ่งเมื่อกดแล้วจะทำการปิดโปรแกรมไป

ตัวอย่างโค้ด

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
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 btnAlert = new JButton("Alert");
btnAlert.addActionListener(this);
panel.add(btnAlert);

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) {
if ("Alert".equals(e.getActionCommand())) {
JOptionPane jpn = new JOptionPane();
jpn.showMessageDialog(this.frame, "Java Code Exam");
} else {
// remove the previous JFrame
this.frame.setVisible(false);
this.frame.dispose();
}

}
}

ตัวอย่างนี้คล้าย ๆ กับตัวอย่าง http://javacodeexam.blogspot.com/2014/02/java-gui-frame.html
ซึ่งตัวอย่างนี้จะมีการเพิ่ม ปุ่มเข้ามาอีกปุ่มหนึ่ง เป็นปุ่มสำหรับการ Alert

ใน method actionPerformed จะทำการเช็คว่าเป็น event ของปุ่มไหน ถ้าเป็น event ของปุ่มแรก ก็ทำการ Alert โดยใช้ JOptionPane ส่วนปุ่มที่ 2 ก็ทำการปิดโปรแกรม

ผลลัพธ์ที่ได้


yengo หรือ buzzcity

ไม่มีความคิดเห็น :

แสดงความคิดเห็น