【问题标题】:call paintcomponent for a jpanel in jframe在jframe中为jpanel调用paintcomponent
【发布时间】:2012-03-02 10:46:34
【问题描述】:
我有一个JFrame,上面有一个JPanel(JPanel 在JFrame 中是私有的)。现在我想通过使用paintComponent 方法覆盖JPanel。
我该怎么做?
【问题讨论】:
标签:
java
swing
jframe
jpanel
paintcomponent
【解决方案2】:
当您创建JPanel 的实例时(假设您正在这样做),请执行以下操作:
JPanel panel = new JPanel(){
@Override
public void paintComponent(Graphics g){
// paint code
}
};
另一种选择是创建一个private class,它扩展 JPanel。
例如:
public class OuterClass{
// fields, constructors, methods etc..
private class MyPanel extends JPanel{
// fields, constructors, methods etc..
@Override
public void paintComponent(Graphics g){
// paint code
}
}
}