2015-10-31 45 views
-1

我正在使用Ubuntu,并且在运行基本Swing程序时输出不完全可见。输出无法看到像标签或button.The代码的组件是无法看到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 Linux系统。

+0

你的问题不是很清楚。显示一些代码。 – trylimits

+3

为了更好地提供帮助,请发布[MCVE]或[简短,独立,正确的示例](http://www.sscce.org/)。 –

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

    } 
}