gpt4 book ai didi

java - 无法使用 setDefaultCloseOperation 关闭窗口

转载 作者:行者123 更新时间:2023-12-01 07:25:02 27 4
gpt4 key购买 nike

我是 Java 新手,在这个简单的代码中找不到我的错误。错误是关闭操作不起作用:

error: cannot find symbol

以上是编译错误。这是代码。

import javax.swing.*;
import java.awt.*;
class UseButton extends Frame {

public static void main(String...args) {
UseButton btn = new UseButton();
btn.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btn.setSize(200, 150);
btn.setVisible(true);

}
private JButton b;
private JTextField text;

public UseButton() {
super("title");
setLayout(new FlowLayout());

b = new JButton("OK");
add(b);
}
}

最佳答案

java.awt.Frame 没有名为 setDefaultCloseOperation 的方法,我认为您想使用 javax.swing.JFrame

话虽如此,您不应该从像 JFrame 这样的顶级容器扩展目录,这是不好的做法,因为您并没有真正向类添加任何值,从而减少了重复类的可用性(因为您不能将其添加到其他任何内容)并将您锁定在单个演示实现中...您可以将其添加到其他任何内容...

不好...

class UseButton extends Frame{

好...

class UseButton extends JFrame{

更好...

import java.awt.EventQueue;
import java.awt.Frame;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class UseButton {

public static void main(String... args) {
new UseButton();

}

public UseButton() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}

JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}

public class TestPane extends JPanel {

private JButton b;
private JTextField text;

public TestPane() {
b = new JButton("OK");
add(b);
}

}
}

关于java - 无法使用 setDefaultCloseOperation 关闭窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26479429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com