回 帖 发 新 帖 刷新版面

主题:求助,窗口关不掉

import java.awt.*;

public class FrameWithPanel {
    private Frame f;
    private Panel pan;

    public FrameWithPanel(String title) {
        f = new Frame(title);
        pan = new Panel();
    }

    public void launchFrame() {
        f.setSize(200,200);
        f.setBackground(Color.blue);
        f.setLayout(null); //Override default layout mgr

        pan.setSize(100,100);
        pan.setBackground(Color.yellow);
        f.add(pan);
        f.setVisible(true);
    }

    public static void main(String args[]) {
        FrameWithPanel guiWindow = new FrameWithPanel("Frame with Panel");
        guiWindow.launchFrame();
    }
}

上面这段代码是S-275书上的一个实例,在我电脑上运行后窗口就关不掉了,非要用任务管理器才能结束任务。我才开始学java,不晓得是我系统的原因还是jdk的原因。
望高手指教
我是xp 英文专业版的系统
jdk是英文版的1.6的

回复列表 (共3个回复)

沙发

把你的程序改了一下   可能不符合你的意思  不过也可以参考一下  我也是是刚学到swing 组件  awt组件  还不了解

import java.awt.*;

import javax.swing.JFrame;

public class FrameWithPanel extends JFrame{
    private JFrame f;
    private Panel pan;

    public FrameWithPanel(String title) {
     f = new JFrame(title);
        pan = new Panel();
    }

    public void launchFrame() {
        f.setSize(200,200);
        f.setBackground(Color.blue);
        f.setLayout(null); //Override default layout mgr

        pan.setSize(100,100);
        pan.setBackground(Color.yellow);
        f.add(pan);
        f.setVisible(true);
    }

    public static void main(String args[]) {
        FrameWithPanel guiWindow = new FrameWithPanel("Frame with Panel");
        guiWindow.launchFrame();
        guiWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

板凳

import java.awt.*;
import java.awt.event.*;
public class FrameWithPanel{
    private Frame f;
    private Panel pan;

    public FrameWithPanel(String title) {
        f = new Frame(title);
        pan = new Panel();
    }

    public void launchFrame() {
        f.setSize(200,200);
        f.setBackground(Color.blue);
        f.setLayout(null); //Override default layout mgr

        pan.setSize(100,100);
        pan.setBackground(Color.yellow);
        f.add(pan);
        f.setVisible(true);
    f.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
            System.exit(0);
        }
        });
    }
    public static void main(String args[]) {
        FrameWithPanel guiWindow = new FrameWithPanel("Frame with Panel");
        guiWindow.launchFrame();
    }
}

3 楼

guiWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

guiWindow.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
            System.exit(0);
        }
        });

我来回复

您尚未登录,请登录后再回复。点此登录或注册