在java游戏中添加按钮

在java游戏中添加按钮,java,swing,Java,Swing,我怎样才能在代码中添加一个按钮,这样它就可以将显示Play、Highscore和Exit的文本变成实际的按钮,这样当有人点击它时,它就会做他们想做的事情 import java.awt.*; import javax.swing.*; class MainPanel extends JPanel { public void paintComponent(Graphics g) { //EkansBackground g.setColor(Co

我怎样才能在代码中添加一个按钮,这样它就可以将显示Play、Highscore和Exit的文本变成实际的按钮,这样当有人点击它时,它就会做他们想做的事情

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

class MainPanel extends JPanel {

    public void paintComponent(Graphics g)
    {

        //EkansBackground
        g.setColor(Color.BLACK);
        g.fillRect(50, 50, 600, 400);

        //EkansLogo
        g.setColor(Color.WHITE);
        int fontSize = 50;
        Font f = new Font("Marker felt", Font.BOLD, fontSize);
        g.setFont(f);
        g.drawString("---] EKANS [---", 180, 200);

        //Play button
        g.setColor(Color.GREEN);
        int fontSize1 = 40;
        Font f1 = new Font("comic sans ms", Font.ITALIC, fontSize1);
        g.setFont(f1);
        g.drawString("> PLAY <", 270, 280);

        //Play button
        g.setColor(Color.RED);
        g.drawString("> EXIT <", 270, 380);

        //High Score button
        g.setColor(Color.BLUE);
        g.drawString("> High Scores <", 215, 330);


    }
}
import java.awt.*;
导入javax.swing.*;
类主面板扩展了JPanel{
公共组件(图形g)
{
//EkansBackground
g、 设置颜色(颜色为黑色);
g、 fillRect(50,50600400);
//EkansLogo
g、 setColor(Color.WHITE);
int fontSize=50;
Font f=新字体(“标记毛毡”,Font.BOLD,fontSize);
g、 setFont(f);
g、 抽绳(“--]EKANS[--”,180,200);
//播放按钮
g、 setColor(Color.GREEN);
int fontSize1=40;
Font f1=新字体(“comic sans ms”,Font.ITALIC,fontSize1);
g、 setFont(f1);

g、 抽绳(“>在你的类中播放退出高分):

JButton playButton = new JButton("Play");
add(playButton);
如果你想,你可以把它放在别的地方,但它通常在类构造函数中


我建议您了解。

如果您希望您的游戏不使用AWT或Swing组件,您可以创建自己的
按钮
-类。 如果你这样做,你就不会有任何问题,在后台渲染其他东西,使用主动渲染,你可以完全定义一个按钮的行为

但是,如前所述,您可以使用AWT的
按钮
或Swing的
JButton
。 如果这样做,只需将它们添加到
JPanel
。 但是要确保你真的画了它们(如果我没记错的话,这里有方法
paintComponents(Graphics)

您还应该在
paintComponent
-方法的开头调用
super.paintComponent();

您可以使用Swing包中的类

JButton play = new JButton("> PLAY < ");
JButton exit = new JButton("> EXIT <");
JButton highscore = new JButton("> High Scores <");
this.add(play);
this.add(exit);
this.add(highscore);

查看
框架
面板
按钮
类。。。
JLabel playLabel = new JLabel(new ImageIcon("./play.png"));

playLabel.addMouseListener(new MouseAdapter(){
      public void mouseClicked(MouseEvent evt) {
           playLabel.setIcon(new ImageIcon("./play_clicked.png");
           //Some action
      }
}