随着JComboBox选择的更改而导致的图像更改并导出为.JAR

时间:2014-03-18 03:00:47

标签: java swing jcombobox getresource

随着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只是一个带有图像描述的数组。

0 个答案:

没有答案