首页 > Linux操作系统 > Linux操作系统 > swing之Button属性设置
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/ ,如需转载,请注明出处,否则将追究法律责任。