gpt4 book ai didi

java - 选择 JcomboBox 项目时显示图像

转载 作者:行者123 更新时间:2023-12-01 12:56:59 26 4
gpt4 key购买 nike

我想要做的是当从组合框中选择指定的项目时显示图像,知道组合框的项目发生变化并且数量不固定。此代码显示了我如何添加取决于我的“for”的项目

for (int j = 1; j <= 6; j++) {
if (condition) {
System.out.println(result);
combo.addItem("component N°" + j);
}
}

我需要的是在选择一个项目时显示特定的图像!我真的不知道该怎么办。我尝试过使用 Action 监听器执行 Action ,但我不知道如何将选择的项目与我的图像关联起来。

我使用此方法将图像显示到 JPanel

public static void display(String path, JPanel panel) {
BufferedImage image = null;
try {
image = ImageIO.read(new File(path));
} catch (IOException e2) {

e2.printStackTrace();
}
Image dimg = image.getScaledInstance(panel.getWidth(), panel.getHeight(),
Image.SCALE_SMOOTH);
panel.add(new JLabel(new ImageIcon(dimg)));

}

最佳答案

For example if I select (component N° 2) from the JcomboBox then the image that I need to display is image2.png (j=2)

只需添加 ActionListener 并从所选项目中检索数字。您可以使用JLabel来显示图像。只需调用 setIcon() 即可更改图标。

示例代码:

//final JLabel label = new JLabel();

final ComboBox<String> jComboBox = new JComboBox<String>();
jComboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String value=(String)jComboBox.getSelectedItem();
int digit =Integer.valueOf(value.replaceAll("component N°","").trim());
String imageName="image"+digit+".png";

// show the image
// label.setIcon(...);
}
});
<小时/>

请看我的另一篇文章。它可能会帮助您形成正确的图像路径。

<小时/>

I just had one image displayed but when I change the combobox item nothing happens

编辑(在添加新图像之前删除已添加的图像)

 public static void display(String path, JPanel panel){
...
panel.removeAll(); // Remove already added image
panel.add(new JLabel(new ImageIcon(dimg))); // Add new image
panel.revalidate();
panel.repaint();
}

关于java - 选择 JcomboBox 项目时显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795033/

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