黑马程序员技术交流社区

标题: 窗体可见性,这错在哪? [打印本页]

作者: 饶正林    时间: 2013-4-3 21:06
标题: 窗体可见性,这错在哪?
本帖最后由 饶正林 于 2013-4-4 21:32 编辑
  1. import java.awt.event.WindowAdapter;
  2. import java.awt.event.WindowEvent;
  3. import javax.swing.JFrame;//窗体
  4. import javax.swing.JPanel;//面板
  5. import javax.swing.JLabel;//标签
  6. class Sample7_3 extends JFrame
  7. {
  8.         private JPanel jp=new JPanel();
  9.         public Sample7_3()
  10.         {
  11.                 this.add(jp);
  12.                 this.setTitle("你好!");
  13.                 this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  14.                 this.addWindowListener(new WindowAdapter()
  15.                 {
  16.                         public void windowClosing(WindowEvent e)
  17.                         {
  18.                                 jp.add(new JLabel("对不起,这里不再有关闭的作用!"));
  19.                                 this.setVisible(true);//窗体可见性,这错在哪?
  20.                         }
  21.                 });

  22.                 this.setBounds(100,100,500,100);
  23.                 this.setVisible(true);
  24.         }
  25.         public static void main(String[] args)
  26.         {
  27.                 new Sample7_3();
  28.         }
  29. }
复制代码
请教上面的情况错在哪呢?!!!
作者: 程媛媛    时间: 2013-4-3 22:01
本帖最后由 程媛媛 于 2013-4-3 22:03 编辑
  1. import java.awt.event.WindowAdapter;
  2. import java.awt.event.WindowEvent;
  3. import javax.swing.JFrame;//窗体
  4. import javax.swing.JPanel;//面板
  5. import javax.swing.JLabel;//标签
  6. class Demo1 extends JFrame
  7. {
  8.         private JPanel jp=new JPanel();
  9.         public Demo1()
  10.         {
  11.                 this.add(jp);
  12.                 this.setTitle("你好!");
  13.                 this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  14.                 this.addWindowListener(new WindowAdapter()
  15.                 {
  16.                         public void windowClosing(WindowEvent e)
  17.                         {
  18.                                 jp.add(new JLabel("对不起,这里不再有关闭的作用!"));
  19.                          jp. setVisible(true);//这里不能使用this,this代表的是调用这个方法的对象,但是要显示的是JPanel,所以要使用jp调用。
  20.                         }
  21.                 });

  22.                 this.setBounds(100,100,500,100);
  23.                 this.setVisible(true);
  24.         }
  25.         public static void main(String[] args)
  26.         {
  27.                 new Demo1();
  28.         }
复制代码

作者: 黑马_位志国    时间: 2013-4-4 13:20
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

@SuppressWarnings("serial")
public class Test extends JFrame

{

        private Dialog dialog;

        public Test()

        {
                this.setTitle("你好!");
                this.setBounds(300, 100, 600, 400);
                this.setLayout(new FlowLayout());
               
                dialog = new Dialog(this, "提示信息", true);
                dialog.setBounds(300, 200, 600, 200);
                dialog.setLayout(new FlowLayout());
               
                this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

                this.addWindowListener(new WindowAdapter()

                {

                        public void windowClosing(WindowEvent e)

                        {

                                dialog.add(new JLabel("对不起,这里不再有关闭的作用!"));

                                dialog.setVisible(true);

                        }

                });
               
                dialog.addWindowListener(new WindowAdapter() {
                        @Override
                        public void windowClosing(WindowEvent e) {
                                // TODO Auto-generated method stub
                                System.exit(0);
                        }
                                });
               
                this.setVisible(true);

        }

        public static void main(String[] args)

        {

                new Test();

        }

}

建议提示信息要使用Dialog,不要使用JPanel。

好好看看Dialog和JPanel的区别。
作者: 黄玉昆    时间: 2013-4-4 17:05
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2