当前位置: 首页 > 知识库问答 >
问题:

类不是抽象的,并且不重写ActionListener中的抽象方法actionPerformed(ActionEvent

严峰
2023-03-14

请帮帮忙。我对编码不是新手,但对Java是新手。我不知道我做错了什么。我正在用一本书学习java,下面的代码是我此刻正在研究的。我去了books网站,下载了这个程序的源代码,它给了我同样的错误信息。谁来帮帮我。我知道有人问我这个问题,但我被困住了,真的需要一些帮助。

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();
    }
}

共有1个答案

商飞龙
2023-03-14

你的课对我有用。尝试此导入

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;
 类似资料: