Java 无法查看Swing程序的输出
我使用的是Ubuntu,当运行基本的Swing程序时,输出并不完全可见。输出无法看到标签或按钮等组件。代码为Java 无法查看Swing程序的输出,java,swing,layout-manager,Java,Swing,Layout Manager,我使用的是Ubuntu,当运行基本的Swing程序时,输出并不完全可见。输出无法看到标签或按钮等组件。代码为 import javax.swing.*; import java.io.*; public class Swing1 extends JFrame { public static void main(String args[]) { JFrame jr=new JFrame("Hello World!"); JLabel l=new JLabel("Firs
import javax.swing.*;
import java.io.*;
public class Swing1 extends JFrame
{
public static void main(String args[])
{
JFrame jr=new JFrame("Hello World!");
JLabel l=new JLabel("FirstOne");
JButton b=new JButton("End");
// l.setBackground(Color.BLACK);
jr.add(l);
jr.add(b);
jr.setVisible(true);
jr.setSize(800,300);
jr.setLayout(null);
jr.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
我得到了输出屏幕,但标签没有显示,按钮我的操作系统是ubuntu。你不应该使用
jr.setLayout(null)
,因为这意味着你必须使用绝对定位
您可以查看Java的可用布局,看看哪种布局适合您
您可以使用一个类似于jr.setLayout(newflowlayout())
,这样您的标签和按钮将可见
import javax.swing.*;
import java.io.*;
import java.awt.*; //So you can use the Layout Managers
public class Swing1 extends JFrame
{
public static void main(String args[])
{
JFrame jr=new JFrame("Hello World!");
JLabel l=new JLabel("FirstOne");
JButton b=new JButton("End");
jr.add(l);
jr.add(b);
jr.setVisible(true);
jr.setSize(800,300);
jr.setLayout(new FlowLayout());
jr.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
你的问题不是很清楚。显示一些代码。为了更快地获得更好的帮助,请发布或。您可以在此处添加一些代码。
jr.setLayout(null)代码>这是问题的一部分。移除它(用jr.pack()替换它
),并习惯于使用布局。用jr.pack()替换jr.setLayout(null)是有效的,谢谢。