我自己做了一个窗体,想让鼠标移到按钮上时改变按钮的背景色,但是不知道为甚不行,我贴出部分代码请大家帮忙看看public class Login extends JFrame implements ActionListener,MouseListener{ .......//省略
//添加注册按钮
jbtnRegister=new JButton("注册账号");
jbtnRegister.setBorder(null);//去掉按钮边框
jbtnRegister.setContentAreaFilled(false);//设置内容区域不填充
jbtnRegister.setBounds(235, 78, 110, 25);
jbtnRegister.addActionListener(this);
jbtnRegister.addMouseListener(this); .......//省略
public void actionPerformed(ActionEvent e){
if(e.getSource()==jbtnSet){
}else if(e.getSource()==jbtnLogin){
}else if(e.getSource()==jbtnRegister){
Register register=new Register();
register.init();
}else{
}
}
public void mouseClicked(MouseEvent e){
}
public void mousePressed(MouseEvent e){
}
public void mouseReleased(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
if(e.getSource()==jbtnRegister){
jbtnRegister.setBackground(Color.PINK); //鼠标移到jbtnRegister上时没有变色
}
} public void mouseExited(MouseEvent e){
}}
//添加注册按钮
jbtnRegister=new JButton("注册账号");
jbtnRegister.setBorder(null);//去掉按钮边框
jbtnRegister.setContentAreaFilled(false);//设置内容区域不填充
jbtnRegister.setBounds(235, 78, 110, 25);
jbtnRegister.addActionListener(this);
jbtnRegister.addMouseListener(this); .......//省略
public void actionPerformed(ActionEvent e){
if(e.getSource()==jbtnSet){
}else if(e.getSource()==jbtnLogin){
}else if(e.getSource()==jbtnRegister){
Register register=new Register();
register.init();
}else{
}
}
public void mouseClicked(MouseEvent e){
}
public void mousePressed(MouseEvent e){
}
public void mouseReleased(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
if(e.getSource()==jbtnRegister){
jbtnRegister.setBackground(Color.PINK); //鼠标移到jbtnRegister上时没有变色
}
} public void mouseExited(MouseEvent e){
}}
jbtnRegister.setContentAreaFilled(false);//设置内容区域不填充但是看起来不好看了,我要得是让按钮上只有字(效果可以参看QQ登录时的右边有个“找回密码”),如果去掉上面这句就会有一个按钮的轮廓(中间是凸起的),改怎么才能满足我要得效果呢?
public void mouseEntered(MouseEvent e){
if(e.getSource()==jbtnRegister){
setFont(jbtnRegister,new Font("宋体",Font.PLAIN,12),new Color(255,0,0));
}else if(e.getSource()==jbtnGetPwd)
{
//JOptionPane.showMessageDialog(null, "Closed Test "); //弹出对话框
setFont(jbtnGetPwd,new Font("宋体",Font.PLAIN,12),new Color(255,0,0));
}
}