我有一个JFrame
,其上有JPanel
(JPanel
在JFrame
中是私有的)。现在我想通过使用paintComponent
方法覆盖JPanel
。在jframe中为jpanel调用paintcomponent
我该怎么做?
我有一个JFrame
,其上有JPanel
(JPanel
在JFrame
中是私有的)。现在我想通过使用paintComponent
方法覆盖JPanel
。在jframe中为jpanel调用paintcomponent
我该怎么做?
当您创建的实例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
}
}
}
从你的问题不太清楚,但我认为nothing complicated override paintComponent for Swing JComponents,请避免使用方法paint()
为Swing JComponents,只使用paintComponent()
有点不清楚。你能不能请示例代码? – Mersenne 2012-02-09 22:37:43
请把你的技术词汇正确:它是_extend_一个类和_override_一种方法 – kleopatra 2012-02-10 11:05:50