Java--JFrame.add()方法
来源:互联网 发布:js text readonly 编辑:程序博客网 时间:2024/06/12 20:38
关于Java的JFrame.add()方法添加两次相同控件的问题
add两次相同的控件后,会把前面的自动取消掉(这里只截取部分示例代码) 如:
firstText = new JTextField(3); add(firstText); opration = new JTextField(1); add(opration); secondText = new JTextField(3); add(secondText); //amount = new JButton("="); //add(amount); add(firstText); result = new JTextField(5); result.setEnabled(false); add(result);
这样看起来是添加了五个组件( firstText 、 opration 、 secondText 以及第二次添加的 FirstText 和 result ),但实际上添加了四个,因为最前面的一个FirstText被后面第四个给覆盖了。但是要注意了,这里的覆盖并不是在第一个的位置覆盖,而是直接把第一个作废了,也就是FirstText只显示在第三个(因为此时只有四个,FirstText是在倒数第二个)
下图是重复添加两次相同组件的程序截图(为了更直观我把按钮给注释掉了):
下图是正常的程序截图:
最后,鄙人给大家贴上自己敲的简陋的代码,供大家吐槽
package deefin.com;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;public class Calculator extends JFrame implements ActionListener{ private JTextField firstText; private JTextField opration; private JTextField secondText; private JButton amount; private JTextField result; public Calculator() { super("简单计算器"); setSize(250,80); setLayout(new FlowLayout()); firstText = new JTextField(3); add(firstText); opration = new JTextField(1); add(opration); secondText = new JTextField(3); add(secondText); amount = new JButton("="); add(amount); result = new JTextField(5); result.setEnabled(false); add(result); setVisible(true); amount.addActionListener(this); } public static void main(String[] args) { new Calculator(); } @Override public void actionPerformed(ActionEvent e) { char op = opration.getText().charAt(0); int first = Integer.valueOf(firstText.getText()); int second = Integer.valueOf(secondText.getText()); int result1 = 0; switch (op) { case '+': result1 = first + second; break; case '-': result1 = first - second; break; case '*': result1 = first * second; break; case '/': if(second == 0) result.setText("false"); else result1 = first / second; break; default: break; } if(second == 0){ ; }else{ String s = String.valueOf(result1); result.setText(s); } }}
1 0
- Java--JFrame.add()方法
- java中button背景图片大小设置,JFrame.getContentPane().add(pane)与JFrame.add(pane)区别
- Java中JFrame.getContentPane().add(pane)与JFrame.add(pane)的区别
- java Swing中JFrame常用方法
- java之构造方法创建JFrame
- Java JFrame 中添加背景音乐方法
- Java JFrame窗口关闭方法总结
- [Java] JFrame
- Java JFrame
- Java-JFrame
- Java JFrame
- JFrame.getContent().add(JLabel Label)
- java的Frame和JFrame中的paint方法区别
- java的Frame和JFrame中的paint方法区别
- java学习笔记(二)——JFrame常用方法
- java的Frame和JFrame中的paint方法区别
- java的Frame和JFrame中的paint方法区别
- java.swing中 真正认识 JFrame 和 getContentPane() 方法
- Android 蓝牙开发(九)A2DP基本功能
- Presto0.167安装部署
- GPIO的理解
- uC/OS-II源码解析(os_time.c)
- kafka学习总结(处理多个consumer只消费topic数据一次)
- Java--JFrame.add()方法
- Eclipse快捷键方式
- Python os.walk 函数
- MySQL 5.6 for Windows 解压缩版配置安装
- 分布式系统
- 将带特殊串单引号存入sqlserver的某个字段
- hive hbase整合
- 鼠标滑轮控制Div水平滚动
- 使用CustomizationTool打包或压缩常见问题