简单的GUI程序

时间:2016-05-24 18:44:25

标签: java swing actionlistener

我刚刚制作了这个程序,我在面板上添加了一个按钮,但是我无法继续使用actionListener来使按钮工作。它们应该是面板上显示的图片,当点击按钮时,图片应该变为另一张图片。请帮帮我,谢谢!这是我的代码。

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

public class DrawPanelThree extends JPanel
{
    private JButton button;

    public DrawPanelThree()
    {
        button = new JButton();
        setLayout(new BorderLayout());
        add(button, BorderLayout.SOUTH);
        button.setText("Start");
    }

    protected void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        g.drawRect(90, 40, 100, 50);
        g.setColor(Color.RED);
        g.fillRect(10, 10, 10, 10);
        g.fillRect(260, 10, 10, 10);
        g.fillRect(10, 120, 10, 10);
        g.fillRect(260, 120, 10, 10);
        g.setColor(new Color(255, 215, 0));
        g.fillOval(120, 45, 40, 40);
    }

    public static void main(String[] args)
    {
        JFrame frame = new JFrame();
        frame.setTitle("Rectangle");
        frame.setSize(new Dimension(300, 200));
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        DrawPanelThree panel = new DrawPanelThree();
        frame.add(panel);
        panel.setBackground(Color.CYAN);

        frame.setVisible(true);
    }

    private class ButtonListener implements ActionListener
    {
        public void actionPerformed(ActionEvent event)
        {

        }
    }
}

1 个答案:

答案 0 :(得分:2)

您必须将ActionListener添加到按钮,如下所示:

button.addActionListener(new MyCoolActionListener());

您可以在声明时定义ActionListener,但这是一般的想法。您希望在构造函数中声明JButton后立即添加ActionListener。

希望这有帮助!