JToggleButton自定义图标

JToggleButton 自定义图标


废话不多说,直接上代码

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JToggleButton;
import javax.swing.WindowConstants;
import java.util.Objects;

public class JToggleButtonDemo {

	public static void main(String[] args) {
		JFrame jFrame = new JFrame("Test");
		jFrame.setSize(250, 250);
		jFrame.setLocationRelativeTo(null);
		jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

		JPanel panel = new JPanel();

		// 创建开关按钮
		JToggleButton toggleBtn = new JToggleButton();
		// 取消按钮的边框
		toggleBtn.setBorderPainted(false);
		toggleBtn.setFocusPainted(false);
		//toggleBtn.setBorder(null); 一句话顶上面两句话
		// 关键, 设置该属性后图标才会填充整个按钮。
		toggleBtn.setContentAreaFilled(false);

		// 设置 选中(开) 的图片
		toggleBtn.setSelectedIcon(new ImageIcon(Objects.requireNonNull(JToggleButtonDemo.class.getResource("/switchOff.png"))));
		// 设置鼠标点击时的图片,效果较差
		toggleBtn.setPressedIcon(new ImageIcon(Objects.requireNonNull(JToggleButtonDemo.class.getResource("/switchPressed.png"))));
		//设置 未选中(关) 时显示的
		toggleBtn.setIcon(new ImageIcon(Objects.requireNonNull(JToggleButtonDemo.class.getResource("/switchOn.png"))));
		// 添加 toggleBtn 的监听
		toggleBtn.addActionListener(e -> {
			// 获取事件源(即开关按钮本身)
			JToggleButton a = (JToggleButton) e.getSource();
			System.out.println("是否选中: " + a.isSelected());
		});

		panel.add(toggleBtn);
		jFrame.setContentPane(panel);
		jFrame.setVisible(true);
	}
}

效果图如下
在这里插入图片描述
在这里插入图片描述
图标资源移步这里

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值