JAVA 按钮上设置图片的问题
在一个JButton上加了一个图标,但是没有填充满,有没有办法让这个按钮就变成这个图标的形状?...
在一个JButton上加了一个图标,但是没有填充满,有没有办法让这个按钮就变成这个图标的形状?
展开
2个回答
展开全部
按钮只能是个矩形,按你是意思,应该是不显示按钮的边框,只显示图标是吧。
你可以设置按钮背景为透明,设置边框为null
but.setBackground(new Color(255,255,255)); //but是按钮名称
but.setBorder(null); //but是按钮名称
我刚写的一个点击按钮交替变换图标的程序,代码如下:
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
//变换按钮图标
public class Button_Icon extends JFrame implements ActionListener{
private Container con;
private JButton but;
private Icon ic;
public Button_Icon() {
this.setTitle("欢迎");
this.setBounds(200, 200, 200, 234); //标题栏高34
con=this.getContentPane();
con.setLayout(null);
Cursor cs=new Cursor(Cursor.HAND_CURSOR);
ic=new ImageIcon("j:\\Screenshot.png");
but=new JButton(ic);
but.setBounds(60, 70, 80, 60);
but.addActionListener(this);
but.setCursor(cs);
but.setBackground(new Color(255,255,255));
but.setBorder(null);
con.add(but);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
Icon ic2=but.getIcon();
if(ic2==null){but.setIcon(ic);}
else {but.setIcon(null);}
}
public static void main(String[] args) {
new Button_Icon();
}
}
你可以看下效果,看是不是你想要的。
你可以设置按钮背景为透明,设置边框为null
but.setBackground(new Color(255,255,255)); //but是按钮名称
but.setBorder(null); //but是按钮名称
我刚写的一个点击按钮交替变换图标的程序,代码如下:
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
//变换按钮图标
public class Button_Icon extends JFrame implements ActionListener{
private Container con;
private JButton but;
private Icon ic;
public Button_Icon() {
this.setTitle("欢迎");
this.setBounds(200, 200, 200, 234); //标题栏高34
con=this.getContentPane();
con.setLayout(null);
Cursor cs=new Cursor(Cursor.HAND_CURSOR);
ic=new ImageIcon("j:\\Screenshot.png");
but=new JButton(ic);
but.setBounds(60, 70, 80, 60);
but.addActionListener(this);
but.setCursor(cs);
but.setBackground(new Color(255,255,255));
but.setBorder(null);
con.add(but);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
Icon ic2=but.getIcon();
if(ic2==null){but.setIcon(ic);}
else {but.setIcon(null);}
}
public static void main(String[] args) {
new Button_Icon();
}
}
你可以看下效果,看是不是你想要的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询