我可以按需覆盖方法吗?我有一个扩展JFrame的类,里面有一个JPanel。我想在JPanel中绘制一个圆圈,但我不想为JPanel创建一个自己的类(然后我可以覆盖paintComponent)。我的想法是这样的:
public class KugelClient extends JFrame {
public KugelClient() {
super("KugelClient");
JPanel panel = new JPanel();
panel.paintComponent(Graphics g) {
//overriding method here
g.fillOval(...);
}
}
Java中是否有任何可以做这样的事情(例如使用lambda?)或者我是否为面板创建了自己的类?
答案 0 :(得分:4)
您可以使用覆盖JPanel
方法创建paintComponent()
的匿名子类。像这样:
JPanel panel = new JPanel() {
//overriding method here
public void paintComponent(Graphics g) {
g.fillOval(...);
}
};