事件监听与计算机界面

it2022-05-05  162

1.事件监听

package 事件监听; import java.awt.*; import java.awt.event.*; public  class Frame2 extends Frame implements ActionListener{  private Button button1;  public Frame2()  {   super("个人信息");       this.setSize(250,200);//设计组件的尺寸       this.setLocation(800,600);//设计组件显示的位置       this.setBackground(Color.blue);//设计背景颜色       this.setLayout(new FlowLayout());//设计容器为流布局,居中       this.add(new Label("姓名"));       this.add(new TextField("唯梦",20));       this.add(new Label("性别"));       this.add(new TextField("女",20));       this.add(new Label("民族"));       this.add(new TextField("汉",20));       this.add(new Label("年龄"));       this.add(new TextField("20",20));       button1=new Button("OK");       this.add(button1);       button1.addActionListener(this);       this.addWindowListener(new WinClose());       this.setVisible(true);  }  public void actionPerformed(ActionEvent ev)  {   if(ev.getSource()==button1)   {    System.out.print("welcome");   }  }  public static void main(String arg[])  {   new Frame2();  }      class WinClose implements WindowListener  {   public void windowClosing(WindowEvent ev)   {    System.exit(0);   }   public void windowOpened(WindowEvent ev) {}   public void windowActivated(WindowEvent ev) {}   public void windowDeactivated(WindowEvent ev) {}   public void windowClose(WindowEvent ev) {}   public void windowIconified(WindowEvent ev) {}   public void windowDeiconified(WindowEvent ev) {}   @Override   public void windowClosed(WindowEvent arg0) {    // TODO 自动生成的方法存根       }  }   }  

 

2.计算器界面

package 计算器;import java.awt.BorderLayout;  import java.awt.Container;  import java.awt.GridLayout;  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.JPanel;  import javax.swing.JTextField;    public class Jisuanqi extends JFrame {            public static void main(String[] args) {        Jisuanqi frame = new Jisuanqi();                    frame.setTitle("计算器");          frame.setSize(300,400);         frame.setResizable(false);          frame.setDefaultCloseOperation(EXIT_ON_CLOSE);           frame.init();           frame.setVisible(true);      }            private void init()       {          textField = new JTextField();             textField.setEditable(false);          textField.setHorizontalAlignment (JTextField.RIGHT);          JPanel panel = new JPanel();          panel.setLayout(new GridLayout(4, 4));                    Container container = getContentPane();          container.add(textField, BorderLayout.NORTH);          container.add(panel, BorderLayout.CENTER);                    panel.add(useButton('7'));          panel.add(useButton('8'));          panel.add(useButton('9'));          panel.add(useButton('+'));          panel.add(useButton('4'));          panel.add(useButton('5'));          panel.add(useButton('6'));          panel.add(useButton('-'));          panel.add(useButton('1'));          panel.add(useButton('2'));          panel.add(useButton('3'));          panel.add(useButton('*'));          panel.add(useButton('0'));          panel.add(useButton('.'));          panel.add(useButton('='));          panel.add(useButton('/'));      }            public JButton useButton (final char key)       {          JButton button = new JButton(String.valueOf(key));                    button.addActionListener(new ActionListener()          {              public void actionPerformed(ActionEvent event)              {                  JButton btn = (JButton) event.getSource();                  char key2 = btn.getText().charAt(0);                                    action(key2);              }          });          button.addKeyListener(new KeyAdapter()          {              public void keyReleased(KeyEvent event)              {                  char key2 = event.getKeyChar ();                  action(key2);              }          });                    return button;      }            private void action(char key2)      {          if(reop)          {              textField.setText("");              reop = false;          }                    switch(key2)          {              case '+':                  a1 = Double.parseDouble(textField.getText());                  textField.setText("");                  operator = '+';                  break;              case '-':                  a1 = Double.parseDouble(textField.getText());                  textField.setText("");                  operator = '-';                  break;              case '*':                  a1= Double.parseDouble(textField.getText());                  textField.setText("");                  operator = '*';                  break;              case '/':                   a1= Double.parseDouble(textField.getText());                  textField.setText("");                  operator = '/';                  break;              case '=':                  reop = true;                  a2 = Double.parseDouble(textField.getText());                  switch(operator)                  {                      case '+':                          result = a1 + a2;                          break;                      case '-':                       result= a1 - a2;                          break;                      case '*':                       result = a1 * a2;                          break;                      case '/':                       result = a1 / a2;                          break;                      default: ;                  }                  textField.setText(String.valueOf(result));                  break;             case '1':              case '2':              case '3':              case '4':              case '5':              case '6':              case '7':              case '8':              case '9':              case '0':              case '.':                  String text = textField.getText() + key2;                  textField.setText(text);                  break;              default: ;          }      }      private JTextField textField;      private double a1, a2, result;      private char operator;      private boolean reop = false;  }}

 

 

转载于:https://www.cnblogs.com/baoyan/p/9220979.html

相关资源:各显卡算力对照表!

最新回复(0)