我在这里为我的游戏制作菜单,可以按“开始”按钮在屏幕上导航.我正在尝试为该类实现一个单独的按钮,但是按照我布置CustomButtons类的方式,它只能以一个具有功能的按钮来工作,为了解决此问题,我决定制作一个单独的“按钮”方法,其中包含按钮的参数.我在绘画组件中调用了此控件,以确保将其显示在屏幕上,但是仅将文本“ START”显示在屏幕上.按钮的背景颜色,边框,字体等不会随调用而改变.
public class CustomButton extends JButton implements MouseListener {
Dimension size = new Dimension(100,50);
boolean hover = false;
boolean click = false;
boolean isMethodCalled = false;
String text = "";
public CustomButton(String text,Button bb) {
setVisible(true);
setFocusable(true);
setContentAreaFilled(false);
setBorderPainted(false);
this.text = text;
addMouseListener(this);
}
public void Button(Graphics g) {
g.setColor(new Color(255,255,hover ? 180 : 102 ));
g.fillRect(0,250,7);
g.fillRect(0,7,150);
g.setColor(Color.ORANGE); // button background color
g.fillRect(14,14,222,122);
g.setColor(Color.WHITE); // text color
g.setFont(Font.decode("arial-BOLD-24"));
FontMetrics metrics = g.getFontMetrics();
int width = metrics.stringWidth(text);
g.drawString(text,17,40);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Button menu = new Button();
}
public void setButtonText(String text) {
this.text = text;
}
public String getButtonText(String text) {
return text;
}
public void mouseEntered(MouseEvent e) {
hover = true;
}
public void mouseExited(MouseEvent e) {
hover = false;
}
public void mousePressed(MouseEvent e) {
click = true;
}
public void mouseReleased(MouseEvent e) {
click = false;
}
public void mouseClicked(MouseEvent e) {
}
}
任何人都知道我该怎么做,以便一旦从“ Buttons”方法中调用该按钮后该按钮便能正常工作,以便在将所有图形设置都设置在paintComponent方法中的情况下,该按钮的显示效果应与原来一样.
这不是当前正在发生的事情.我不希望这种情况发生:
这是我想对按钮进行的操作: