JTattoo 对于JCombox(下拉框)显示不正常?

JTattoo是java的界面包装工具,美化你的swing界面。但是在用的过程中发现JCombox显示不正常,如图所示

注意要在官网上下载jar,然后引入到你工程中:下载jar


代码如下:

public class JTattooTest {
	public static void main(String[] args) {
		JFrame frame = new JFrame("JTattoo测试");
		frame.setLayout(new FlowLayout());
		JComboBox<String> com = new JComboBox<>();
		com.addItem("选项一");
		com.addItem("选项二");
		frame.add(com);
		frame.setSize(new Dimension(300, 200));
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		try {
			UIManager.setLookAndFeel("com.jtattoo.plaf.graphite.GraphiteLookAndFeel");
		} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
				| UnsupportedLookAndFeelException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
关键一句就是 UIManager.setLookAndFeel("com.jtattoo.plaf.graphite.GraphiteLookAndFeel");
字符串对应是不同风格的类。利用反射创建对象。

其他预设主题参考官网:预设主题   在eclipse下按Ctrl+T 找到对应类的类路径替换上面即可

解决办法就是将这段代码放到最前面即可

代码如下:

public class JTattooTest {
	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel("com.jtattoo.plaf.graphite.GraphiteLookAndFeel");
		} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
				| UnsupportedLookAndFeelException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		JFrame frame = new JFrame("JTattoo测试");
		frame.setLayout(new FlowLayout());
		JComboBox<String> com = new JComboBox<>();
		com.addItem("选项一");
		com.addItem("选项二");
		frame.add(com);
		frame.setSize(new Dimension(300, 200));
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值