类不是抽象的,并且不会覆盖ActionListener

时间:2017-08-21 04:06:42

标签: java actionlistener

请帮忙。我不是新编码,但我是java新手。我不知道我做错了什么。我正在使用一本书来学习java,以下代码是我正在研究的内容。我去了图书网站并下载了该程序的源代码,它给了我相同的错误消息。有人请帮忙。我知道这已经被问到了,但我被困住了,可以真正使用一些帮助。

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

public class TitleBar extends JFrame implements ActionListener {
    JButton b1;
    JButton b2;

    public TitleBar() {
        super("Title Bar");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLookAndFeel();
        b1 = new JButton("Rosencrantz");
        b2 = new JButton("Guildenstern");
        b1.addActionListener(this);
        b2.addActionListener(this);
        FlowLayout flow = new FlowLayout();
        setLayout(flow);
        add(b1);
        add(b2);
        pack();
        setVisible(true);
    }

    public void actionPerformed(ActionEvent evt) {
        Object source = evt.getSource();
        if (source == b1) {
            setTitle("Rosencrantz");
        } else if (source == b2) {
            setTitle("Guildenstern");
        }
        repaint();
    }

    private void setLookAndFeel() {
        try {
            UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"
            );
            SwingUtilities.updateComponentTreeUI(this);
        } catch (Exception exc) {
            System.err.println("Couldn't use the system "
                + "look and feel: " + exc);
        }
    }

    public static void main(String[] arguments) {
        TitleBar frame = new TitleBar();
    }
}

2 个答案:

答案 0 :(得分:0)

你的课适合我。试试这个导入

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

答案 1 :(得分:0)

我将代码复制到我的其他电脑上,你知道吗,它工作正常。谢谢你的帮助