以下是jbutton未在框架上显示的代码。我也设置为true。即使这样,按钮也不会出现。
class gui{
public static void main(String args[]){
layoutBorder lb=new layoutBorder("check");
}
}
class layoutBorder extends JFrame{
layoutBorder(String title){
super(title);
setLayout(null);
setSize(200, 200);
JButton jb=new JButton("JB");
add(jb);
setVisible(true);
}
}
答案 0 :(得分:0)
不要使用空布局!!!
Swing旨在与布局管理器一起使用。
阅读Swing教程o Layout Managers中的部分以获取更多信息。
我建议您下载工作示例并使用它们。该示例还将向您展示如何更好地构建代码。也许从How to Use Buttons
的代码开始,它有一个简单的例子,它将3个按钮添加到面板,然后将面板添加到框架。
此外,类名应以大写字母开头。你有没见过API中的一个类没有?学习Java约定并遵循它们。
答案 1 :(得分:0)
camickr是对的。此外,当应用程序线程需要更新GUI时,始终使用AWT事件派发线程。
import javax.swing.*;
import java.awt.*;
import java.lang.*;
public class Gui {
public static void main(String args[]) {
SwingUtilities.invokeLater(() -> {
MyFrame frame = new MyFrame("check");
});
}
}
class MyFrame extends JFrame {
MyFrame(String title){
super(title);
setLayout(new BorderLayout());
setSize(200, 200);
JButton jb = new JButton("JB");
add(jb);
setVisible(true);
}
}
答案 2 :(得分:-1)
如果您需要null
布局,则需要自行设置尺寸和位置。使用setLocation
和setSize
方法。
class gui{
public static void main(String args[]){
layoutBorder lb=new layoutBorder("check");
}
}
class layoutBorder extends JFrame{
layoutBorder(String title){
super(title);
setLayout(null);
setSize(200, 200);
JButton jb=new JButton("JB");
jb.setLocation(10, 10);
jb.setSize(40, 30);
add(jb);
setVisible(true);
}
}