学习Swing组件对话框时犯的低级错误
2017-07-25 15:27
204 查看
由于缺乏面向对象编程经验而犯的一个低级错误
我先是创建了一个对话框类
然后在主窗口设置点击事件监听器
然后就出现了点击按钮弹出的是空对话框
后来仔细看了看自己的代码,才发现设置对话框是否可见时.setVisible(true)用错了地方,我写的new MyDialog(Example.this).setVisible(true);调用了自定义对话框类MyDialog的构造方法,而MyDialog继承了JDialog类,所以在MyDialog的构造方法里会自动调用父类的构造方法来构造子类继承父类的部分,所以就创建了一个空对话框,而在子类构造方法中又自己新建了一个JDialog的对话框并加入了标签。所以就创建了两个窗口但是设置可见性时我并没有对加入标签的对话框设置可见,相反直接对父类构造方法创建的空对话框设置了可见。所以正确的代码
我先是创建了一个对话框类
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);//弹出一个新建的对话框并设置为可见
相关文章推荐
- SWING组件学习6:下拉菜单
- 学习单例模式的体验,低级错误耗了俩小时
- 学习AWT/Swing编程(一)解决Eclipse运行AWT/Swing项目和组件时中文乱码
- JAVA学习笔记(四十九)- Swing相关组件
- Java学习笔记--Swing用户界面组件
- Swing组件学习代码示例之JSplitPane
- SWING组件学习7:滚动条的综合应用
- Spark中组件Mllib的学习1之Kmeans错误解决
- matlab学习------------普通dialog对话框,错误对话框errordlg,警告对话框warndlg
- VS2013MFC对话框工程学习笔记二 - 了结布局和一些基本的窗口组件
- Object-c学习点滴——使用NSMutableArray犯的一个低级错误!!
- [Java] Swing系列-组件对齐方式的学习
- 自己学习Hibernate时的一个低级错误:sessionFactory.getCurrentSession()空指针异常
- VC浏览器相关的学习(五)(在BHO中建立对话框)--解决CreateDialog的1813错误
- LR学习中的一个低级错误
- Swing组件学习代码示例之JSplitPane
- 黑马程序员之WinForm编程基础学习笔记:用户在文本框1,2中输入两个数,点击按钮,在文本框3中显示从文本框1中的数字到文本框2中的数字之间的累加和。如果1或者2为错误的数据格式,则弹出对话框提示错
- Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI
- 新手Extjs学习过程中的低级错误积累!!!
- [引]Windows窗体编程基础学习: 对话框组件