2012-10-01 51 views
1

我想在我的JDesktopePane上添加一個JLable ..我在下面給出的代碼中寫了......但標籤沒有顯示在窗格上。如何在JDesktopPane上添加JLabel

{ 
     frame1.setContentPane(desktop); 
     frame1.setSize(900,700); 
     frame1.setVisible(true); 
     desktop.setBackground(Color.DARK_GRAY); 
     JLabel label1 = new JLabel("Main Page", SwingConstants.CENTER); 
     label1.setFont(new Font("SansSerif",Font.ITALIC + Font.BOLD,54)); 
     desktop.add(label1);** 
    } 
+1

你爲什麼要添加的標籤(或其他任何東西不是一個internalFrame)直接到窗格? – kleopatra

回答

5

JDesktop是不使用傳統的佈局管理器的幾個貨櫃之一。

爲了添加任何組件,該組件需要手動設置其位置和大小。

試着這麼做label1.setBounds(new Rectangle(new Point(10, 10), label1.getPreferredSize()))添加之前

0

使用一個JPanel,添加的JLabel給它,然後添加的JPanel到的JDesktopPane

+2

與添加的層次結構的深度無關 - 沒有顯式調整大小/定位它不會顯示在像JDesktopPane這樣的無佈局容器中:-) – kleopatra