随着JComboBox选择的更改,我的JLabel更改了。我最初使用过:
ImageIcon icon2 = new ImageIcon(ClassLoader.getSystemResource("images/image.png"));
和一个与编译器一起工作的动作事件。当我尝试将其导出为.jar时,文件将无法加载或切换。所以我做了一些研究并转而使用这种方法来获取我的照片:
ImageIcon icon2 = new ImageIcon(getClass().getClassLoader().getResource("/images/image.png"));
现在,当我尝试切换JComboBox选择时,图像不会改变或出现。我将我的图像放在一个数组中,如下所示。
final String[] images = {"birch_river.png", "elm_american.png", "maple_bigtooth.png", "oak_bur.png", "white_pine.png", "oak_willow.png"};
以下是行动:
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
JComboBox treeSelectBox = (JComboBox) e.getSource();
int index = treeSelectBox.getSelectedIndex();
//display.setIcon(new ImageIcon(ClassLoader.getSystemResource(images[index])));
display.setIcon(new ImageIcon(tabbedTreeSafe.class.getResource(images[index])));
descript.setText(treeDescription[index]);
}
}
display是显示图像的JLabel,而descript只是一个带有图像描述的数组。