实验六Java图形用户界面之文本框FocusEvent事件
package cn.shangji.s4; import java.awt.EventQueue; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.SwingConstants; public class TextFieldQiuHe extends JFrame { private JTextField text3; private JTextField text2; private JTextField text1; /** * Launch the application * * @param args */ public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { try { TextFieldQiuHe frame = new TextFieldQiuHe(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame */ public TextFieldQiuHe() { super("文本框求和——FocusEvent"); getContentPane().setLayout(null); setBounds(100, 100, 500, 290); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); text1 = new JTextField(); text1.addFocusListener(new FocusAdapter() { public void focusGained(final FocusEvent e) { text1.setText(null); } public void focusLost(final FocusEvent e) { int x = Integer.parseInt(text1.getText()); if (x < 100 || x > 200) { JOptionPane.showMessageDialog(null, "您输入的数字非法,请输入在[100,200]内的数", "消息提示", JOptionPane.WARNING_MESSAGE); text1.setText(null); } } }); text1.setHorizontalAlignment(SwingConstants.CENTER); text1.setBounds(105, 22, 269, 40); getContentPane().add(text1); text2 = new JTextField(); text2.setHorizontalAlignment(SwingConstants.CENTER); text2.addFocusListener(new FocusAdapter() { public void focusGained(final FocusEvent e) { text2.setText(null); } public void focusLost(final FocusEvent e) { int s = Integer.parseInt(text2.getText()); if (s < 100 || s > 200) { JOptionPane.showMessageDialog(null, "您输入的数字非法,请输入在[100,200]内的数", "消息提示", JOptionPane.WARNING_MESSAGE); text2.setText(null); } int x = Integer.parseInt(text1.getText()); int y = Integer.parseInt(text2.getText()); int sum = x + y; text3.setText(Integer.toString(sum)); } }); text2.setText("Input Integer 2"); text2.setBounds(105, 85, 269, 40); getContentPane().add(text2); text3 = new JTextField("输入完第二个数后点击此求和"); text3.setEditable(false); text3.setHorizontalAlignment(SwingConstants.CENTER); text3.setBounds(105, 145, 269, 40); getContentPane().add(text3); // } }
上一篇:
IDEA上Java项目控制台中文乱码