📄 numadd.java
字号:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class NumAdd {
private JTextField textField_b;
private JTextField textField_a;
private JFrame frame;
private String text_a;
private String text_b;
private int text_key_strok;
public static SubTextFieldTask subtask = null;
private static int count;
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
NumAdd window = new NumAdd();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the application
*/
public NumAdd() {
initialize();
}
/**
* Initialize the contents of the frame
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 500, 375);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPanel panel = new JPanel();
panel.setLayout(null);
frame.getContentPane().add(panel, BorderLayout.CENTER);
textField_b = new JTextField();
textField_b.setText("10");
textField_b.setBounds(235, 126, 185, 24);
textField_a = new JTextField();
text_b = textField_b.getText();
textField_a.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
text_a = textField_a.getText();
if(text_a.equals("")){
text_a = "0";
}
count++;
//助count只执行依次调用子线程的动作
if(count==1){
subtask = new SubTextFieldTask();
subtask.start();
}
}
});
textField_a.setBounds(50, 125, 155, 25);
panel.add(textField_a);
panel.add(textField_b);
final JLabel label = new JLabel();
label.setText("A");
label.setBounds(51, 154, 50, 25);
panel.add(label);
final JLabel label_1 = new JLabel();
label_1.setText("B");
label_1.setBounds(236, 151, 70, 20);
panel.add(label_1);
final JButton resetButton = new JButton();
resetButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField_b.setText("10");
textField_a.setText("");
count=0;
}
});
resetButton.setText("reset");
resetButton.setBounds(190, 195, 100, 30);
panel.add(resetButton);
}
// 子线程,用来处理文本框加和
private class SubTextFieldTask extends Thread {
public void run(){
try {
sleep(1500);// here to set postphone time // 使线程休眠1.5秒
text_key_strok = (new Integer(text_a).intValue())+(new Integer(text_b).intValue());
textField_b.setText(new Integer(text_key_strok).toString());
count=0; //每一次执行完子线程 subtask 后自动清零
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -