2016-05-24 45 views
1

JPanel不會顯示在JFrame上,我不知道爲什麼。好像JPanel不會以某種方式被添加到JFrame中。有什麼建議麼?JPanel不會顯示在框架

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

public class LeaseItGUI extends JPanel{ 
    private int width=600,height=600; 

    public void paintComponenet(Graphics g){ 
     super.paintComponent(g); 
     g.fillRect(0, 0, width, height); 
    } 
} 

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

public class LeaseItMain extends JFrame{ 
    private int width=600,height=600; 

    public LeaseItMain(){ 
     setSize(width,height); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setResizable(false); 
     LeaseItGUI theGui = new LeaseItGUI(); 
     setVisible(true); 
     add(theGui); 
    } 


    public static void main(String[] args){ 
     LeaseItMain LIM = new LeaseItMain(); 
    } 
} 
+1

添加面板之前'setVisible' –

+1

繼@VinceEmigh的意見。面板應該返回600x600的首選大小。將面板添加到框架。設置框架不可抵抗,**在**調用之前。**包裝**框架。將其設置爲可見。這將是顯示600x600面板所需的確切尺寸,並且其本身將會大於(根據操作系統等不同的尺寸)。 –

+0

我做到了,但無濟於事,沒有任何建議可以解決這個問題......在這種情況下有些奇怪。 –

回答

2

用途:

add(theGui); 

setContentPane(theGui); 

前:

setVisible(true); 
+0

我已經這樣做了,因爲你可以在main看到,我已經嘗試過你的方法,但無濟於事,這是一個非常奇怪的情況,因爲面板根本不會顯示在JFrame上 –

+1

它確實工作 - 你拼錯了paintComponent()作爲paintComponenet(),所以沒有在面板上畫。這並不意味着專家組不在場。 – RobotKarel314

+0

有時我想知道我每天的生活方式......非常感謝您的幫助! –