import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Main extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
ImageIcon icon=new ImageIcon("a1.png");
JButton button = new JButton("我是按钮",icon);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 点击后变为红色
button.setForeground(Color.red);
}
});
button.setBounds(152, 116, 200, 50);
// 以下是隐藏按钮各属性的设置,根据实际需求自己取舍
button.setMargin(new Insets(0,0,0,0));//将边框外的上下左右空间设置为0
button.setIconTextGap(0);//将标签中显示的文本和图标之间的间隔量设置为0
button.setBorderPainted(false);//不打印边框
button.setBorder(null);//除去边框
// button.setText(null);//除去按钮的默认名称
button.setFocusPainted(false);//除去焦点的框
button.setContentAreaFilled(false);//除去默认的背景填充
contentPane.add(button);
}
}
效果对比: