图形用户界面

package 图形用户界面;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import javax.swing.*;

public class 图形用户界面 {
     public static void main(String arg[])
        {
            Frame f=new Frame("个人信息");
            f.setSize(250,300);
            f.setLocation(300,300);
            f.setBackground(Color.lightGray);
            f.setLayout(new FlowLayout(2));
            f.add(new JLabel("姓名:"));
            f.add(new TextField("王鹏",20));
            f.add(new JLabel("班级:"));
            f.add(new TextField("计算机科学与技术16(D)",20));
            f.add(new JLabel("学号:"));
            f.add(new TextField("20163311131",20));
            f.add(new JLabel("性别:"));
            f.add(new TextField("女",20));
            JButton button1=new JButton("OK");
            JButton button2=new JButton("CLOSE");
            f.add(button1);
            f.add(button2);
            button1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {        //OK按钮事件
                    JOptionPane.showMessageDialog(null,"Are you read?","提示",JOptionPane.PLAIN_MESSAGE) ;    
                }
            });
            button2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {        //CLOSE按钮事件
                    long d=e.getWhen();  //事件发生的时间
                    Date date=new Date(d);   //转换为相应的时间
                    System.out.println(date);
                    System.exit(0);
                }
            });
            f.setVisible(true);
        }
    }

 

 

package 计算器;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Stack;
 
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class 计算器 {
     public static class Count extends JApplet implements ActionListener
      {
           
        
          private static final long serialVersionUID = 1L;
          private JTextField textField = new JTextField("开始输入数字");
          String operator = "";//操作
          String input = "";//输入的 式子
          boolean flag =  true;
      //  boolean flag1 = true;
      //  boolean flag2 = true;
          public void init()//覆写Applet里边的init方法
          {
              Container C = getContentPane();
              JButton b[] = new JButton[16];
              JPanel panel = new JPanel();
              C.add(textField, BorderLayout.NORTH);
              C.add(panel,BorderLayout.CENTER);
              panel.setLayout(new GridLayout(4, 4,5,5));
              String name[]={"1","2","3","+","4","5","6","-","7","8","9","*","0","C","=","/"};//设置 按钮
              for(int i=0;i<16;i++)//添加按钮
              {
                  b[i] = new JButton(name[i]);
                  b[i].setBackground(new Color(0,0,0));  //设置背景颜色为黑色
                  b[i].setForeground(Color.pink);//数字键 设置为粉色
                  if(i%4==3)
                      b[i].setForeground(Color.red); //设置旁边运算符的颜色
                  b[i].setFont(new Font("宋体",Font.PLAIN,35));//设置字体格式
                  panel.add(b[i]);
                  b[i].addActionListener(this); //监听事件
              }
              b[13].setForeground(Color.pink);//非数字键,即运算键设置为红颜色
          }
          public void actionPerformed(ActionEvent e)  //动作事件处理方法 实现 ActionListener接口
          {
              int cnt = 0;
              String actionCommand = e.getActionCommand();  //从键盘获得这个数
              if(actionCommand.equals("+")||actionCommand.equals("-")||actionCommand.equals("*") ||actionCommand.equals("/"))
                  input +=" "+actionCommand+" ";//设置输入,把输入的样式改成 需要的样子
              else if(actionCommand.equals("C"))
                  input = "";
              else if(actionCommand.equals("="))//当监听到等号时,则处理 input
              {
                  input+= "="+compute(input);
                  textField.setText(input);//显示对应的字符
                  input="";
                  cnt = 1;
              }
              else
                  input += actionCommand;//数字为了避免多位数的输入 不需要加空格
              if(cnt==0)  //没有这句不能输出结果
              textField.setText(input);  //得到数字
          }
          private String compute(String input)//即1237 的 样例
          {
              String str[];
              str = input.split(" ");
              Stack<Double> s = new Stack<Double>();
              double m = Double.parseDouble(str[0]);
              s.push(m);
              for(int i=1;i<str.length;i++)
              {
                  if(i%2==1)   
                  {   
                      if(str[i].compareTo("+")==0)   
                      {   
                          double help = Double.parseDouble(str[i+1]);   
                          s.push(help);   
                      }   
                         
                      if(str[i].compareTo("-")==0)   
                      {   
                          double help = Double.parseDouble(str[i+1]);   
                          s.push(-help);   
                      }   
                         
                      if(str[i].compareTo("*")==0)   
                      {   
                          double help = Double.parseDouble(str[i+1]);   
                          double ans = s.peek();//取出栈顶元素   
                          s.pop();//消栈   
                          ans*=help;   
                          s.push(ans);   
                      }   
                         
                      if(str[i].compareTo("/")==0)   
                      {   
                          double help = Double.parseDouble(str[i+1]);   
                          double ans = s.peek();   
                          s.pop();   
                          ans/=help;   
                          s.push(ans);   
                      }   
                  }   
              }   
              double ans = 0d;   
              while(!s.isEmpty())   
              {   
                  ans+=s.peek();   
                  s.pop();   
              }   
              String result = String.valueOf(ans);
              return result;
          }
          public static void main(String args[])
          {
              JFrame frame = new JFrame("Count");
              Count applet = new Count();
              frame.getContentPane().add(applet, BorderLayout.CENTER);
              applet.init();//applet的init方法
              applet.start();//线程开始
              frame.setSize(400, 400);//设置窗口大小
              frame.setVisible(true);//设置窗口可见
          }
       
      }
     }

 

posted on 2018-06-26 22:51  31王鹏  阅读(174)  评论(0编辑  收藏  举报

导航