36.微改进的计算器,JComboBox下拉框
2016-04-11 23:25
239 查看
类 JComboBox: 下拉框
getSelectedItem();//返回下拉框当前选项
getSelectedItem();//返回下拉框当前选项
public class SwingTest2 { public static void main(String[] args) { JFrame jFrame = new JFrame("计算器"); jFrame.setLayout(null );//绝对布局 final JTextField nub1Txt = new JTextField(); final JTextField nub2Txt = new JTextField(); final JTextField nub3Txt = new JTextField(); JButton jB = new JButton("="); //JLabel fuHao =new JLabel("+" ,JLabel.CENTER); String fuHao[] = {"+", "-", "*", "/"}; final JComboBox jcb = new JComboBox(fuHao);//下拉框,**注意**参数为fuHao非fuHao[] nub1Txt.setBounds(10, 30,40,25);//绝对布局,组件摆放位置和大小 //fuHao.setBounds(80,40 , 10, 10); jcb.setBounds(60,30 ,40, 25); nub2Txt.setBounds(110, 30,50,25);//绝对布局,组件摆放位置和大小 jB.setBounds(170, 30, 50, 25); nub3Txt.setBounds(230, 30, 50, 25); //匿名监听类 jB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO 自动生成的方法存根 String nub1 = nub1Txt.getText();//获取数字文本 String nub2 = nub2Txt.getText();//获取数字文本 String algorithm = (String) jcb.getSelectedItem();//返回下拉框当前选项 int result = 0;//结果必须定义在这里,无法定义在if{}内,因为变量作用域的问题 if(algorithm.equals("+")){ result = Integer.pars 9166 eInt(nub1) + Integer.parseInt(nub2); } else if(algorithm.equals("-")){ result = Integer.parseInt(nub1) - Integer.parseInt(nub2); } else if (algorithm.equals("*")){ result = Integer.parseInt(nub1) * Integer.parseInt(nub2); } else if (algorithm.equals("/")){ result = Integer.parseInt(nub1) / Integer.parseInt(nub2); } //int result = Integer.parseInt(nub1) + Integer.parseInt(nub2); nub3Txt.setText(String.valueOf(result));//显示文本 //nub3Txt.setText(result + "");//(result + "")与(String.valueOf(result)同效果,将int类型转换成String } }); jFrame.add(nub1Txt); //jFrame.add(fuHao); jFrame.add(jcb); jFrame.add(nub2Txt); jFrame.add(jB); jFrame.add(nub3Txt); jFrame.setLocation(300, 200); jFrame.setSize(300, 150); jFrame.setVisible(true);//让容器显示 jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
相关文章推荐
- 杭电ACM 1001
- 异步请求一个不存在的页面
- mysql事务
- mysql unsigned
- [转载]aptitude与apt-get的区别和联系
- iOS多线程编程
- List使用add方法添加数据时的覆盖问题
- POJ3469 Dual Core CPU 最小割求解最小费用划分集合
- CodeForces 589D Boulevard (一维区间判断相交 非线段交做法)
- mysql事务隔离级别REPEATABLE-READ幻读
- Xarmarin.forms for vs2015 搞了一整天没能配置成功,生成老是出错,暂决定不用建Xarmarin.forms项目
- 论信息系统项目风险管理
- CSDN-markdown编辑器使用进阶篇
- poj1661 经典dp
- setAdapter和requestAsyncTask组合使用揭秘
- 你的知识资产
- RtlInitUnicodeString使用注意事项
- wordpress----如何设置段落首行自动空两格
- 用队列模拟服务台前的排队现象问题_c/c++
- mysql二次安装&中文乱码(各种编码问题)