⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 numadd.java

📁 java小程序
💻 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 + -