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

長風(fēng)秋雁
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
eventPanel.setPreferredSize( new Dimension(50, newPanel.getHeight() ) );
創(chuàng)建組件時(shí),組件的大小為 (0, 0)。
因此,您將 eventPanel 的首選大小設(shè)置為 (50, 0),這意味著添加的組件不會被看到,因?yàn)槊姘宓母叨葹?0。
您只需要mainPanel 上的revalidate()
and 。repaint()
這將導(dǎo)致布局管理器被調(diào)用,并且 mainPanel 的所有子組件都將被重新繪制。
此外,也不需要 eventPanel。您可以直接將標(biāo)簽添加到 newPanel。你只需要確保你使用:
label.setOpaque(true);
所以標(biāo)簽的背景將被繪制。
當(dāng)您使用標(biāo)簽時(shí),無需設(shè)置最大/最小尺寸,因?yàn)樗鼈兊扔谑走x尺寸。
添加回答
舉報(bào)
0/150
提交
取消