JButton 没有出现在 JFrame 上
JButton not appearing on JFrame
以下是 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);
}
}
不要使用空布局!!!
Swing 旨在与布局管理器一起使用。
阅读 Swing 教程中的部分 o Layout Managers 了解更多信息。
我建议您下载工作示例并使用它们。该示例还将向您展示如何更好地构建代码。也许从 How to Use Buttons
中的代码开始,它有一个简单的示例,将 3 个按钮添加到面板,然后将面板添加到框架。
此外,class 名称应以大写字符开头。你有没有在 API 中看到 class 而不是???学习 Java 惯例并遵守它们。
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);
}
}
如果你想要 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);
}
}
以下是 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);
}
}
不要使用空布局!!!
Swing 旨在与布局管理器一起使用。
阅读 Swing 教程中的部分 o Layout Managers 了解更多信息。
我建议您下载工作示例并使用它们。该示例还将向您展示如何更好地构建代码。也许从 How to Use Buttons
中的代码开始,它有一个简单的示例,将 3 个按钮添加到面板,然后将面板添加到框架。
此外,class 名称应以大写字符开头。你有没有在 API 中看到 class 而不是???学习 Java 惯例并遵守它们。
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);
}
}
如果你想要 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);
}
}