试图在不同的JPanels上重新粉刷

时间:2013-02-14 04:58:16

标签: java swing jframe jpanel jlabel

我有JFrame,其中我有两个JPanel个实例。

我使用repaint()来绘制框架。但问题是我想为两个不同的面板提供两个不同的repaint()

Jpanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.add(image1);  //image1 and image2 is of its own class type.
panel.add(image2);
frame.add(panel,BorderLayout.CENTER);

frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize((int)width*2, (int)height);
frame.setVisible(true);

frame.repaint();

我知道,我还没有在repaint()上使用JPanel,...也帮助了......我使用它的工作量很小。

我们可以repaint()只针对特定的JPanel吗?

1 个答案:

答案 0 :(得分:3)

JFrame#repaint将重新绘制整个框架及其内容。

JPanel#repaint将重新绘制面板的实例,并且它是孩子。

这将适用于所有组件,因为它们从repaint

继承Component