Java 如何构建类似netbeans工具栏中的按钮?
我正在开发一个系统,我想把带有侧边选项的按钮做成工具栏,但我不知道怎么做。Java 如何构建类似netbeans工具栏中的按钮?,java,user-interface,netbeans,Java,User Interface,Netbeans,我正在开发一个系统,我想把带有侧边选项的按钮做成工具栏,但我不知道怎么做。 我尝试过组合框,但我还没有弄清楚如何在其中插入图标,我也尝试过按钮 我们的想法是这样做: import javax.swing.*; import javax.swing.plaf.basic.BasicComboBoxEditor; import java.awt.*; public class MyComboBoxEditor extends BasicComboBoxEditor { private J
我尝试过组合框,但我还没有弄清楚如何在其中插入图标,我也尝试过按钮 我们的想法是这样做:
import javax.swing.*;
import javax.swing.plaf.basic.BasicComboBoxEditor;
import java.awt.*;
public class MyComboBoxEditor extends BasicComboBoxEditor {
private JLabel label = new JLabel();
private JPanel panel = new JPanel();
public MyComboBoxEditor() {
label.setIcon(new ImageIcon("image1.png"));
panel.add(label);
}
@Override
public Component getEditorComponent() {
return panel;
}
}
您是否尝试将图像图标添加到jComboBox
jComboBox1.addItem(new ImageIcon("image1.png"));
或者,您可以将ImageIcons数组传递给JComboBox构造函数:
Object[] items =
{
new ImageIcon("image1.png"),
new ImageIcon("image2.png"),
new ImageIcon("image3.png")
};
jComboBox1 = new JComboBox(items);
编辑:我不确定我是否了解您想要实现的目标,但可能就是这样。首先-在创建表单的位置,添加:
comboBox1.setEditable(true);
comboBox1.setEditor(new MyComboBoxEditor());
MyComboxeditor是一个自定义类,应该如下所示:
import javax.swing.*;
import javax.swing.plaf.basic.BasicComboBoxEditor;
import java.awt.*;
public class MyComboBoxEditor extends BasicComboBoxEditor {
private JLabel label = new JLabel();
private JPanel panel = new JPanel();
public MyComboBoxEditor() {
label.setIcon(new ImageIcon("image1.png"));
panel.add(label);
}
@Override
public Component getEditorComponent() {
return panel;
}
}
addItem
方法只接受字符串作为参数。因此,这一行可能会显示一个错误,如不兼容类型:ImageIcon无法转换为字符串<代码>附加项
接受泛型类型作为参数,我对此不确定。但在阅读您的编辑后,您可以接受,即项目
。但我仍然不知道它是否会在这个组合框中显示图标。好吧,你为什么不自己试试看呢?即使jLabel可以显示图像,它也不一定绑定到文本值,但它将创建一个带有图像的项目。我只想在组合框中设置图像,当我展开时,它将只填充我已经添加(或将添加)的项目。