2011-03-16 37 views
0

我的代码是如何在已经扩展JPanel的类中嵌套面板?

public class IncomeStatementPanel extends JPanel 
{ 
    private JLabel costOfGoodSoldIncState = new JLabel("Cost of goods sold", SwingConstants.RIGHT); 
    private JLabel ebitIncState = new JLabel("EBIT", SwingConstants.RIGHT); 
    private JLabel deprecIncState = new JLabel("Depreciation", SwingConstants.RIGHT); 
    ...  

//I want to add more panels to this, but don't know the code to create them. 

    public IncomeStatementPanel() 
    { 
     //Set grid layout for the panel 
     setLayout(new GridLayout(14,2,0,0)); 



    } 

} 
+1

那么'add'方法呢? – 2011-03-16 21:48:40

+2

不扩展'JPanel'可能会使代码更容易。同时删除标签的字段(在正常情况下,您应该能够在面板上拍打它们并忘记它们)。 – 2011-03-16 21:52:30

回答

2

你可以只添加它们就像你通常会。

public class IncomeStatementPanel extends JPanel 
{ 
    private JLabel costOfGoodSoldIncState = new JLabel("Cost of goods sold", SwingConstants.RIGHT); 
    private JLabel ebitIncState = new JLabel("EBIT", SwingConstants.RIGHT); 
    private JLabel deprecIncState = new JLabel("Depreciation", SwingConstants.RIGHT); 
    private JPanel myPanel = new JPanel(); // Nothing special here 
    ...  

    public IncomeStatementPanel() 
    { 
     //Set grid layout for the panel 
     setLayout(new GridLayout(14,2,0,0)); 
     this.add(myPanel); // Or here. The "this." part is optional by the way. 
    } 

} 
+0

感谢您的所有快速回复;他们真的帮助:) – user831788 2011-03-17 13:04:38