Java Swing:JToolbar如何改变按钮的外观?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java Swing:JToolbar如何改变按钮的外观?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1181字,纯文字阅读大概需要2分钟。
内容图文
![Java Swing:JToolbar如何改变按钮的外观?](/upload/InfoBanner/zyjiaocheng/799/8ae643c9d8db40ae9cc6d4ecaac097d6.jpg)
当您将JButton添加到JToolbar时,该按钮会采用特定的外观(如果将其添加到Jpanel中则不同).
我创建了一些类似于JToolbar的组件,我想要相同的行为.
问题:我检查了JToolbar类,找到一些特定的代码来改变添加组件的外观(更改组件特定的绘制方法或UI代理等).我没找到任何东西!我不明白JToolbar是如何工作的.
谁能解释一下它是如何工作的?
非常感谢,
Herve Guillaume
解决方法:
这似乎是由MetalButtonUI类的update()方法处理的.以下是JDK5_07的代码:
public void update(Graphics g, JComponent c) {
AbstractButton button = (AbstractButton)c;
if ((c.getBackground() instanceof UIResource) &&
button.isContentAreaFilled() && c.isEnabled()) {
ButtonModel model = button.getModel();
if (!MetalUtils.isToolBarButton(c)) {
if (!model.isArmed() && !model.isPressed() &&
MetalUtils.drawGradient(
c, g, "Button.gradient", 0, 0, c.getWidth(),
c.getHeight(), true)) {
paint(g, c);
return;
}
}
else if (model.isRollover() && MetalUtils.drawGradient(
c, g, "Button.gradient", 0, 0, c.getWidth(),
c.getHeight(), true)) {
paint(g, c);
return;
}
}
super.update(g, c);
}
isToolBarButton()方法只是检查父Container是否是JToolBar,所以我想一个解决方案是始终将JButton添加到JToolBar,然后将工具栏添加到真正的Container.
否则,我想,您需要编写自己的自定义UI并覆盖update()方法.
内容总结
以上是互联网集市为您收集整理的Java Swing:JToolbar如何改变按钮的外观?全部内容,希望文章能够帮你解决Java Swing:JToolbar如何改变按钮的外观?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。