2015-10-31 85 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); 

    } 
}