不抽象,不覆盖抽象

时间:2014-10-06 06:30:36

标签: java override

我继续让这个问题不是抽象的,不会覆盖抽象 还有如何应用JOptionPane

import javax.swing.*;
import java.awt.*;
import java.awt.Color;
import java.awt.event.*;

public class Mycase extends JFrame implements ActionListener {
    JLabel text=new JLabel("Enter Name: ");
    JLabel text2=new JLabel();
    JTextField name=new JTextField(12);
    JButton press=new JButton("OK");
    JButton cancel=new JButton("CANCEL");

    public Mycase(){
        super("Name");
        setVisible(true);
        setSize(150,100);
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        add(text);
        add(press);
        add(cancel);
        add(text2);
        press.addActionListener(new press());
        cancel.addActionListener(new cancel());
    }

    class press implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            text2.setText("");
            name.setText("");
        }
    }

    class cancel implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            System.exit(0);
        }
    }
    public static void main(String[]args)
    {
        Mycase frame=new Mycase();
    }   
}

1 个答案:

答案 0 :(得分:1)

您已声明Mycase实施ActionListener但未定义具有正确签名的方法。 (您的两个内部类presscancel可以,但这不能解决Mycase的问题。)您不是要尝试将Mycase的实例注册为一个ActionListener,所以只需更改此行:

public class Mycase extends JFrame implements ActionListener {

到此:

public class Mycase extends JFrame {