您的位置:首页 > 编程语言 > Java开发

实验六Java图形用户界面之文本框FocusEvent事件

2012-11-10 13:52 169 查看
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);
//
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: