以下是我的代碼,但是點(diǎn)擊橢圓外到本來(lái)的按鈕方形區(qū)域依然會(huì)觸發(fā)事件,怎么解決。import?java.awt.Color;
import?java.awt.Font;
import?java.awt.Graphics;
import?java.awt.Graphics2D;
import?java.awt.RenderingHints;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?javax.swing.JButton;
//
public?class?StartJButton?extends?JButton?implements?MouseListener{
private?static?final?long?serialVersionUID?=?1L;
public?StartJButton(){
this.setBackground(new?Color(65,?201,?252,?50));
this.addMouseListener(this);
}
public?StartJButton(String?text){
super(text);
this.setBackground(new?Color(65,?201,?252,?50));
this.addMouseListener(this);
}
public?void?paintComponent(Graphics?g){
Graphics2D?g2?=?(Graphics2D)?g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,?RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(super.getBackground());
g2.fillOval(0,?0,?super.getWidth(),?super.getHeight());
super.setContentAreaFilled(false);
g2.setColor(Color.white);
Font?myFont?=?new?Font("MV?Boli",Font.BOLD,40);
this.setFont(myFont);
this.setForeground(Color.WHITE);
this.setFocusPainted(false);
super.paintComponent(g);
}
public?void?paintBorder(Graphics?g){
// super.paintBorder(g);
Graphics2D?g2?=?(Graphics2D)?g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,?RenderingHints.VALUE_ANTIALIAS_ON);
g.setColor(Color.gray);
g.drawOval(0,?0,?super.getWidth()?,?super.getHeight());
}
@Override
public?void?mouseClicked(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub
// this.setBackground(Color.white);
}
@Override
public?void?mousePressed(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub
this.setBackground(new?Color(65,?201,?252,?200));
}
@Override
public?void?mouseReleased(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub
this.setBackground(new?Color(65,?201,?252,?50));
}
@Override
public?void?mouseEntered(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub
this.setBackground(new?Color(65,?201,?252,?150));
}
@Override
public?void?mouseExited(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub
this.setBackground(new?Color(65,?201,?252,?50));
}
}
JAVA按鈕重載如何實(shí)現(xiàn)橢圓按鈕
泡面大減價(jià)
2017-02-16 11:53:13