Użycie komponentów graficznych i obsługa zdarzeń (II)
Porównaj poniższy przykład z poprzednim (6.1). Przetestuj i przedyskutuj z kolegami.
Dodaj przyciski '+' i '=' i oprogramuj je tak żeby zrealizować operację dodawania dwóch liczb.
Dodaj obsługę sytuacji wyjątkowych.
import javax.swing.*; import java.awt.event.*; import java.awt.*;
public class Demo implements ActionListener { JTextField t1; JButton b1; JButton b2; public void actionPerformed(ActionEvent e) { Object target = e.getSource(); if(target==b1||target==t1) { int i=Integer.parseInt(t1.getText()); t1.setText(Integer.toString(2*i)); t1.requestFocus(); } else if (target==b2) { t1.setText(""); t1.requestFocus(); } } void init() { t1=new JTextField(6); b1=new JButton("*2"); b2=new JButton("clear"); JPanel p=new JPanel(); p.add(t1); p.add(b1); p.add(b2); t1.addActionListener(this); b1.addActionListener(this); b2.addActionListener(this); JFrame f=new JFrame(); Container c=f.getContentPane(); c.add(p); f.setSize(200,60); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } public static void main(String[] args) { new Demo().init(); } } |