我正在尝试制作我的第一个正确定制的GUI,但是我很难更改为组件绘制的图像.基本上,对于我的exitButton(一个JMenu),我覆盖了paint方法,然后添加了一个Mouse监听器,但我不确定如何在鼠标输入方法中重新绘制mouseListener接口中的图像,并再次在鼠标退出方法中重新绘制.基本上我正在寻找一种重新绘制图像的方法,但我迷失了我能做什么.任何帮助将不胜感激.
以下是相关的代码段:
exitBtn = new JMenu(){
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon exitBtnImg = new ImageIcon("src/images/userInterface/exitBtn.gif");
g.drawImage(exitBtnImg.getImage(), 0, 5, null);
}
};
exitBtn.setOpaque(false);
exitBtn.setEnabled(false);
exitBtn.setPreferredSize(new Dimension(43, 18));
exitBtn.addMouseListener(new MouseListener() {
@Override
public void mousePressed(MouseEvent me) {
}
@Override
public void mouseClicked(MouseEvent me) {
System.exit(0);
}
@Override
public void mouseEntered(MouseEvent me) {
//ImageIcon exitBtnImg = new ImageIcon("src/images/exitBtn_hover.gif"); //The ImageIcon for the Image I want to use
System.out.println("mouse entered");
}
@Override
public void mouseExited(MouseEvent me) {
// ImageIcon exitBtnImg = …Run Code Online (Sandbox Code Playgroud)