• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

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

以下是我的代码,但是点击椭圆外到本来的按钮方形区域依然会触发事件,怎么解决。
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));        }}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!