无法看到Swing程序的输出

时间:2015-10-31 10:27:51

标签: 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("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。

1 个答案:

答案 0 :(得分:0)

您不应该使用jr.setLayout(null),因为这意味着您必须使用绝对定位。

您可以查看Java的可用Layout Managers,了解哪种布局适合您。

您可以使用FlowLayout,例如jr.setLayout(new FlowLayout()),这样您的标签和按钮就会显示。

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);

   }
}