为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA按钮重载如何实现椭圆按钮

JAVA按钮重载如何实现椭圆按钮

泡面大减价 2017-02-16 11:53:13
以下是我的代码,但是点击椭圆外到本来的按钮方形区域依然会触发事件,怎么解决。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)); } }
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 1871 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信