簡體   English   中英

將另一個實例的面板實例添加到父面板

[英]Adding an instance of a panel from another class to a parent panel

此類的構造有問題嗎? 我正在嘗試將其實例添加到另一個類的JPanel中:

public class calculator2 extends JPanel {
     public calculator2() {
         JPanel x = new JPanel();
         x.setLayout(new GridLayout(0,5));

         x.add(new JLabel());
         x.add(new JButton("<<"));
         x.add(new JLabel());
         x.add(new JButton(">>"));
         x.add(new JLabel());
     }
}

這就是我想在以下方面使用的功能:

    calculator2 test = new calculator2();
    JPanel panel3 = new JPanel(new BorderLayout());
    panel3.add(test, BorderLayout.SOUTH);

我沒有任何類型的運行時錯誤,只是沒有出現。 當我將Calculator2類中的代碼放在同一類中時,將在代碼的第二部分中使用它。 謝謝您的考慮。

這實際上只是一個例子,我有一個使用動作偵聽器等的大約25個組件的完整類,並希望使用上述方法將其添加到面板中。

在這里,您只是在創建面板,而無需將其添加到任何可見的地方。 嘗試使用從JPanel繼承的parent方法,而不是在構造函數中創建另一個JPanel的新實例。

這將是,只需刪除名為x的實例。

public class calculator2 extends JPanel {
  public calculator2() {
     super();
     setLayout(new GridLayout(0,5));

     add(new JLabel());
     add(new JButton("<<"));
     add(new JLabel());
     add(new JButton(">>"));
     add(new JLabel());
 }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM