gpt4 book ai didi

java - 在 NetBeans 中动态更改小部件的图标

转载 作者:行者123 更新时间:2023-11-30 10:29:10 26 4
gpt4 key购买 nike

我目前正在为 NetBeans 开发一个插件(简而言之,目标是将我公司的工具集成到 NetBeans 中),我认为最好在小部件栏上有一个小部件来告诉我的工具是否启用或不是。

我看到了Geertjan blog post 关于小部件按钮,但他所做的是启用/禁用按钮,我想做的是更改图标以通知用户工具状态,当他单击它时打开/关闭工具。

在 NetBeans 上可行吗?

我试图改变layer.xml iconbase属性到一个动态改变它的方法,但它似乎不起作用,至少在我尝试时(<attr name="iconBase" stringvalue="TWIconWidget.CTCIcon.getIconPath"/>)

我也试过 ImageWidget施于 actionPerformed()一个小部件,但我找不到在小部件工具栏中查看它的方法。

关于如何做到这一点,您有什么建议吗?

提前致谢

编辑:如果不可能,您能否提供一些替代方案,例如 slide button或者可以满足需求并在小部件栏上可见的内容

最佳答案

这篇文章展示了一种方法(致谢作者 Hermien Pellissier):http://www.pellissier.co.za/hermien/?p=646

基本上,您使用 Netbeans 向导创建一个 Action 并修改它以从 AbstractAction 扩展并实现 Presenter.Toolbar

然后您可以覆盖 getToolbarPresenter() 以返回您想要在工具栏中显示的任何 Component,例如 JButton 或自定义组件。

使用 Component 方法你可以改变它的外观,例如:

public final class SomeAction extends AbstractAction implements Presenter.Toolbar {

private JButton button;

@Override
public void actionPerformed(ActionEvent e) {
// change the button image
ImageIcon icon = new ImageIcon("another_image.png");
button.setIcon(icon);
}

@Override
public Component getToolbarPresenter() {
ImageIcon icon = new ImageIcon("image.png");

// create the button to show
button = new JButton(icon);
button.addActionListener(this);

return button;
}
}

关于java - 在 NetBeans 中动态更改小部件的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com