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