如何在Java中重新绘制()组件
是否可以使用如何在Java中重新绘制()组件,java,swing,Java,Swing,是否可以使用paintComponent()创建一个JComponent类,该类可以在另一个类中实例化并调用自己的repaint()方法 class A extends JComponent { @Override paintComponent(){//code here } } class B { static public A temp = new A(); void someMethod() { if (something)
paintComponent()
创建一个JComponent
类,该类可以在另一个类中实例化并调用自己的repaint()
方法
class A extends JComponent {
@Override
paintComponent(){//code here
}
}
class B {
static public A temp = new A();
void someMethod() {
if (something)
temp.repaint(); //will this repaint this particular
//component if it was in a JFRAME
else if (something)
//do not repaint
else if (anothersomething)
temp.repaint();
}
类A中的静态方法可能会有所帮助?如果您有对组件的引用,则可以对该组件调用repaint()。如果组件显示在可见GUI中,则它将重新绘制自身。如果组件可见并添加到添加到JFrame的JPanel中,则可以重新绘制组件()。然后我可以从变量名调用repaint()方法。myVariable.repaint()可以从代码中的任何位置调用,它应该重新绘制paintComponent()方法中的任何内容。我认为类A中的方法不必是静态的,因为它是JComponent类中被重写的paintComponent()。