|
PSP阶段 |
自己所花时间百分比 |
工程师所花时间百分比 |
|
计划 |
12 |
6 |
|
12 |
6 |
|
开发 |
92 |
88 |
|
11 |
10 |
|
5 |
6 |
|
7 |
6 |
|
6 |
3 |
|
9 |
12 |
|
38 |
21 |
|
6 |
9 |
|
10 |
21 |
|
报告 |
6 |
6 |
|
2 |
2 |
|
2 |
1 |
|
2 |
3 |
代码:
1 import java.awt.Color; 2 import java.awt.Container; 3 import java.awt.FlowLayout; 4 import java.awt.Font; 5 import java.awt.event.ActionEvent; 6 import java.awt.event.ActionListener; 7 8 import javax.swing.JButton; 9 import javax.swing.JComboBox; 10 import javax.swing.JFrame; 11 import javax.swing.JLabel; 12 import javax.swing.JOptionPane; 13 import javax.swing.JTextField; 14 15 public class gui_szys { 16 private JFrame jFrame;//创建一个容器 17 private Container contentPane; //容器,一个表面的桌布 18 private JTextField field1,field2,field3;//创建文本框 19 private JComboBox jcb;//下拉框 20 private JLabel resultLabel;//创建运算= 21 private JButton jb1,jb2,jb3;//创建按钮 22 23 String [] strings= {"+","-","x","/"}; 24 25 //构造方法初始化 26 public gui_szys() { 27 jFrame=new JFrame("计算器");//初始化容器 28 29 //设置大小 30 jFrame.setSize(600,200); 31 32 //设置窗口在显示屏的位置 33 jFrame.setLocation(500, 300); 34 35 //固定边框 36 jFrame.setResizable(false); 37 38 //设置直接关闭直接退出程序 39 jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE); 40 41 //创建一个获取三原色的类 42 Color c=new Color(200,199,100); 43 44 //初始化桌布容器 45 contentPane=jFrame.getContentPane(); //获取相应的桌布对象 46 47 //将背景颜色添加到桌布容器中 48 contentPane.setBackground(c); 49 50 //设置流式布局 51 jFrame.setLayout(new FlowLayout()); 52 init(); 53 } 54 55 56 //初始化方法 57 public void init() { 58 //1:初始化相应的组件 59 field1=new JTextField(10); 60 field2=new JTextField(10); 61 field3=new JTextField(10); 62 //初始化下拉框组件 63 jcb=new JComboBox(strings); 64 //初始化运算组件 65 resultLabel=new JLabel("="); 66 //初始化按钮组件 67 jb1=new JButton("计算"); 68 jb2=new JButton("清空"); 69 jb3=new JButton("退出"); 70 71 //2:对各个组件进行字体,大小,加粗处理 72 Font font=new Font("微软雅黑",Font.BOLD,15); 73 74 //3:将这字体运用到各个组件中 75 field1.setFont(font); 76 field2.setFont(font); 77 field3.setFont(font); 78 jcb.setFont(font); 79 resultLabel.setFont(font); 80 jb1.setFont(font); 81 jb2.setFont(font); 82 jb3.setFont(font); 83 //4:将对应的组件添加到容器中 84 contentPane.add(field1); 85 contentPane.add(jcb); 86 contentPane.add(field2); 87 contentPane.add(resultLabel); 88 contentPane.add(field3); 89 contentPane.add(jb1); 90 contentPane.add(jb2); 91 contentPane.add(jb3); 92 93 //设置结果文本框不可编辑 94 field3.setEditable(false); 95 96 //设置输入为右边输入 97 field1.setHorizontalAlignment(JTextField.RIGHT); 98 field2.setHorizontalAlignment(JTextField.RIGHT); 99 field3.setHorizontalAlignment(JTextField.RIGHT); 100 101 //5:设置事件监听 102 //计算监听事件 103 jb1.addActionListener(new ActionListener() { 104 105 @Override 106 public void actionPerformed(ActionEvent e) { 107 String s1 = field1.getText().trim();//获取文本内容,去空格 108 String s2 = field2.getText().trim(); 109 if (s1.equals("")||s2.equals("")) { 110 //提示框 111 JOptionPane.showMessageDialog(null, "请输入非空数据"); 112 return; 113 } 114 115 //将文本内容转换为整型 116 int i1 = Integer.parseInt(s1); 117 int i2 = Integer.parseInt(s2); 118 119 //返回当前所选项,就是返回你选择的运算符 120 String str1 = (String) jcb.getSelectedItem(); 121 122 123 //进行运算符判断,并进行相应的运算 124 if (str1.equals("+")) { 125 int num=i1+i2; 126 field3.setText(num+""); 127 }else if (str1.equals("-")) { 128 int num=i1-i2; 129 field3.setText(num+""); 130 }else if (str1.equals("x")) { 131 int num=i1*i2; 132 field3.setText(num+""); 133 }else if (str1.equals("/")) { 134 //当为除时,除数是不能为零的,所以进行相应的判断 135 if (i2==0) { 136 JOptionPane.showMessageDialog(null, "除数不能为0"); 137 return; 138 } 139 int num=i1/i2; 140 field3.setText(num+""); 141 } 142 143 } 144 }); 145 146 //添加清空事件 147 jb2.addActionListener(new ActionListener() { 148 149 @Override 150 public void actionPerformed(ActionEvent e) { 151 field1.setText(""); 152 field2.setText(""); 153 field3.setText(""); 154 155 } 156 }); 157 158 //添加退出事件 159 jb3.addActionListener(new ActionListener() { 160 161 @Override 162 public void actionPerformed(ActionEvent e) { 163 System.exit(0); 164 165 } 166 }); 167 168 } 169 170 //启动窗口的方法 171 public void go() { 172 //显示窗口可见 173 jFrame.setVisible(true); 174 } 175 176 public static void main(String[] args) { 177 new gui_szys().go(); 178 } 179 180 }
程序运行测试:

输入为空时:

测试运算:

浙公网安备 33010602011771号