Java:按需覆盖方法

时间:2015-06-27 12:38:46

标签: java override anonymous-class

我可以按需覆盖方法吗?我有一个扩展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?)或者我是否为面板创建了自己的类?

1 个答案:

答案 0 :(得分:4)

您可以使用覆盖JPanel方法创建paintComponent()匿名子类。像这样:

JPanel panel = new JPanel() {
    //overriding method here
    public void paintComponent(Graphics g) {
        g.fillOval(...);
    }
};