实验六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项目控制台中文乱码
