2014-07-17 78 views
0

我正在使用下面的代碼來放置JPanel內的標籤,但JPanel沒有出現(相反,只有一個空白的JFrame出現)。沒有出現FlowLayout的JPanel

下面是創建JFrame實例的類。

import java.awt.FlowLayout; 
import javax.swing.JFrame; 

public class Main { 

public static void main(String[] args){ 

    WindowContents window = new WindowContents(); 

    window.setSize(600, 400); 
    window.setVisible(true); 
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

} 

} 

下面是設置JFrame內容的類。

import javax.swing.*; 
import java.awt.*; 

public class WindowContents extends JFrame { 

JLabel label1; 
JLabel label2; 
JLabel label3; 

JPanel panel1; 

public WindowContents(){ 

    super("Label Display 2.0"); 

    panel1 = new JPanel(); 
    panel1.setLayout(new FlowLayout(FlowLayout.CENTER, 40, 40)); 
    panel1.setVisible(true); 

    label1 = new JLabel("Label1"); 
    panel1.add(label1); 

    label2 = new JLabel("Label2"); 
    panel1.add(label2); 

    label3 = new JLabel("Label3"); 
    panel1.add(label3); 


} 

} 

是否有任何想法如何使JPanel內容出現?謝謝。

回答

4

如何讓JPanel內容出現?

在框架中添加面板。

public WindowContents(){ 
    super("Label Display 2.0"); 
    panel1 = new JPanel(); 
    ... 
    add(panel1); 
} 

注:

+0

非常感謝您! – user2938543

0

你還沒有加入面板框架,這裏是你的類WindowsContents到底如何:

class WindowContents extends JFrame { 

    JLabel label1; 
    JLabel label2; 
    JLabel label3; 

    JPanel panel1; 

    public WindowContents(){ 

     super("Label Display 2.0"); 

     panel1 = new JPanel(new FlowLayout(FlowLayout.CENTER, 40, 40)); 

     label1 = new JLabel("Label1"); 
     panel1.add(label1); 

     label2 = new JLabel("Label2"); 
     panel1.add(label2); 

     label3 = new JLabel("Label3"); 
     panel1.add(label3); 

     add(panel1); 

    } 
} 

乾杯

+0

花了12分鐘發佈已發佈的答案,但沒有增加額外的價值? – MadProgrammer