我正在嘗試創建一個首先添加 JPanel 行的程序。添加 JPanel 后,您可以通過單擊“添加水平”并指定應添加正方形的行索引(從 0 開始)來添加正方形。我正在嘗試JPanel使用已添加的這些方塊之一來添加我的。但是,這個第一個方塊沒有出現。當我添加另一個正方形時,就好像該正方形在那里,但只是不可見。您可以在所附圖像中看到這一點的演示,其中索引 2 和索引 3 的第一個正方形在沒有JLabel添加的情況下根本不可見。如何修改我的代碼,以便在JButton單擊“添加垂直”后立即顯示第一個方塊?
1 回答

長風秋雁
TA貢獻1757條經驗 獲得超7個贊
eventPanel.setPreferredSize( new Dimension(50, newPanel.getHeight() ) );
創建組件時,組件的大小為 (0, 0)。
因此,您將 eventPanel 的首選大小設置為 (50, 0),這意味著添加的組件不會被看到,因為面板的高度為 0。
您只需要mainPanel 上的revalidate()
and 。repaint()
這將導致布局管理器被調用,并且 mainPanel 的所有子組件都將被重新繪制。
此外,也不需要 eventPanel。您可以直接將標簽添加到 newPanel。你只需要確保你使用:
label.setOpaque(true);
所以標簽的背景將被繪制。
當您使用標簽時,無需設置最大/最小尺寸,因為它們等于首選尺寸。
添加回答
舉報
0/150
提交
取消