ITPub博客

首页 > Linux操作系统 > Linux操作系统 > swing之Button属性设置

swing之Button属性设置

原创 Linux操作系统 作者:China_4 时间:2008-04-30 14:15:08 0 删除 编辑

import java.awt.*;

import javax.swing.*;


public class RoundButton extends JButton {

    public RoundButton(String label) {
        super(label);  //调用父类构造函数
        setContentAreaFilled(false);   //不自行绘制按钮背景
    }


    //绘制圆和标签
    protected void paintComponent(Graphics g) {
       if (getModel().isArmed()) {  //鼠标点击时
            g.setColor(Color.lightGray);  //颜色为灰色
        } else {
            g.setColor(getBackground());  //置按钮颜色
        }
        g.fillOval(0, 0, getSize().width, getSize().height);  //绘制圆
        super.paintComponent(g);  //调用父类函数,绘制其余部分
    }


    //绘制边框
   protected void paintBorder(Graphics g) {
       g.setColor(getForeground());  //设置边框颜色
       g.drawOval(0, 0, getSize().width-1, getSize().height-1);  //在边界上绘制一个椭圆
   }

}

 

button中插入图片并且将原来按钮隐藏,只显示图片作为按钮

exit.setBounds(new Rectangle(918, 3, 86, 86));
        exit.setIcon(new javax.swing.ImageIcon("the5.png"));
        exit.addActionListener(new Mainwindows_exit_actionAdapter(this));
        exit.setContentAreaFilled(false);

 

 

import javax.swing.*;
 
public class ThanossButton extends JButton {
 
    private Image img;
    private String text;
 
    public ThanossButton(String text, Image img) {
        super( new ImageIcon(img) );
        this.img = img;
        this.text = text;
    }
    
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawString(this.text, this.getX(), this.getY());
    }
    
    public void setImage(Image src) {
        this.img=src;
        repaint();
    }
 
    public Dimension getPreferredSize() {    
        return new Dimension(img.getWidth(this), img.getHeight(this));
    }
    
    public Dimension getMinimumSize() {
        return new Dimension(img.getWidth(this), img.getHeight(this));
    }                     
    
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13683607/viewspace-257140/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: JAVA零星记录
请登录后发表评论 登录
全部评论

注册时间:2008-03-31

  • 博文量
    18
  • 访问量
    29443