โปรแกรมใช้ JLabel สำหรับป้ายกำกับจำนวน JTextField สำหรับแสดงตัวเลข นับ (count) JButton สำหรับสร้างปุ่ม เพิ่ม (add) ลด (remove) และ รีเซ็ต (reset) เมื่อคลิกปุ่มเพิ่ม จำนวนใน JTextField จะ เพิ่มขึ้น 1 คลิกปุ่มลด จะ ลดลง 1 คลิกปุ่มรีเซ็ต จะ รีเซ็ตเป็น 0
ตัวอย่างโค้ด
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CounterTest extends JFrame implements ActionListener {
private JLabel label;
private JTextField text;
private JButton addBtn, removeBtn, resetBtn;
private int count;
public CounterTest() {
setTitle("Counter Test");
setLayout(new FlowLayout());
count = 0;
label = new JLabel("Count:");
text = new JTextField("0", 4);
addBtn = new JButton("Add");
removeBtn = new JButton("Remove");
resetBtn = new JButton("Reset");
addBtn.addActionListener(this);
removeBtn.addActionListener(this);
resetBtn.addActionListener(this);
add(label);
add(text);
add(addBtn);
add(removeBtn);
add(resetBtn);
setSize(375, 250);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == addBtn) {
count++; // เพิ่มจำนวนขึ้น 1
text.setText(String.valueOf(count));
repaint();
} else if (ae.getSource() == removeBtn) {
count--; // ลดจำนวนลง 1
text.setText(String.valueOf(count));
repaint();
} else if (ae.getSource() == resetBtn) {
count = 0; // รีเซ็ตเป็น 0
text.setText(String.valueOf(count));
repaint();
}
}
public static void main(String[] args) {
new CounterTest();
}
}
ผลลัพธ์
