学习Swing组件对话框时犯的低级错误
来源:互联网 发布:淘宝人参怎么这么便宜 编辑:程序博客网 时间:2024/06/16 22:28
由于缺乏面向对象编程经验而犯的一个低级错误
我先是创建了一个对话框类
class MyDialog extends JDialog{ //自定义一个对话框类 MyDialog(Example frame){ //定义对话框构造方法 JDialog jd=new JDialog(frame, "第一个Dialog窗体", true); //新建一个对话框jd Container container=jd.getContentPane(); //为对话框jd添加窗格容器 container.add(new JLabel("这是一个对话框")); //在对话框窗格中新建一个标签 jd.setBounds(120, 120, 100, 100); //设置对话框范围
然后在主窗口设置点击事件监听器
jb.addActionListener( //为jb按钮设置点击事件监听器 new ActionListener() { //新建一个点击事件监听器 @Override public void actionPerformed(ActionEvent e) { //设置点击后触发的事件 // TODO Auto-generated method stub new MyDialog(Example.this).setVisible(true);//弹出一个新建的对话框并设置为可见 }} );
然后就出现了点击按钮弹出的是空对话框
后来仔细看了看自己的代码,才发现设置对话框是否可见时.setVisible(true)用错了地方,我写的new MyDialog(Example.this).setVisible(true);调用了自定义对话框类MyDialog的构造方法,而MyDialog继承了JDialog类,所以在MyDialog的构造方法里会自动调用父类的构造方法来构造子类继承父类的部分,所以就创建了一个空对话框,而在子类构造方法中又自己新建了一个JDialog的对话框并加入了标签。所以就创建了两个窗口但是设置可见性时我并没有对加入标签的对话框设置可见,相反直接对父类构造方法创建的空对话框设置了可见。所以正确的代码
class MyDialog extends JDialog{ //自定义一个对话框类 MyDialog(Example frame){ //定义对话框构造方法 super(frame, "第一个Dialog窗体", true); //新建一个对话框jd Container container=getContentPane(); //为对话框jd添加窗格容器 container.add(new JLabel("这是一个对话框")); //在对话框窗格中新建一个标签 setBounds(120, 120, 100, 100); //设置对话框边界
@Override public void actionPerformed(ActionEvent e) { //设置点击后触发的事件 // TODO Auto-generated method stub new MyDialog(Example.this).setVisible(true);//弹出一个新建的对话框并设置为可见
阅读全文
0 0
- 学习Swing组件对话框时犯的低级错误
- Google犯的低级错误
- 我犯的低级错误
- jtabel添加数据时犯的低级错误
- 犯了一个Hibernate的低级错误
- ROR初学者常犯的低级错误
- 犯了一个Hibernate的低级错误
- 犯了一个Hibernate的低级错误
- 常犯的几个低级错误
- 犯了个最低级的错误
- 经常会犯的一些低级错误!
- 菜鸟容易犯的低级错误一
- 菜鸟容易犯的低级错误二
- 配置环境变量犯的低级错误
- 初试C++犯的超级低级错误
- web开发易犯的低级错误
- 自己犯的一些低级错误整理
- 开发中犯的低级错误。。。
- java 类静态代码块变量和类成员命名一样
- IOS挖坑之路3 tableview造成整个界面第一次点击失效
- MFC放大缩小界面,使控件跟着放大缩小
- java 21点
- Java8的一个小缺点
- 学习Swing组件对话框时犯的低级错误
- 另一个 Flash 调试器可能正在运行。请关闭该调试器以继续操作。(或调试器一直57%状态)
- 修改linux文件夹颜色
- 聚类 K-means
- OBS下的音频知识
- 1134: 字符串转换
- 概率与数理统计学习总结二
- 查询 Maven依赖jar包
- 微信公众号自定义分享功能