我正在研究具有一堆单选按钮的 Swing 代码,这些单选按钮与它们的十六进制值的哈希图相关联。然后它将显示(在显示区域中)颜色(在背景中)以及该颜色的十六进制值的一些文本。
我希望它通过引用存储在我的 hashMap 中的值并相应地填充这些字段来做到这一点,但不知道该怎么做。我可以对单个 ActionListeners(总共 20 个)进行硬编码,但如果你必须以艰难的方式完成所有工作,那么编码的意义何在?
下面是我的 ActionListener 和我的 hashMap 中的几个条目。提前致谢!
//---- Action Listener
jrbRed.addActionListener(new ActionListener() {//<---Reference whichever button is selected instead of just 'jrbRed'
@Override
public void actionPerformed(ActionEvent e) {
jlblMessage.setForeground(Color.decode("#000000"));
jlblMessage.setText("FF0000");//<---Reference hashmap value
getContentPane().setBackground(Color.red);//<---Reference hashmap value
}
});
// ...my color map of hex values for referencing...
hashMap.put("Blue", "#0000FF");
hashMap.put("Purplish", "#DF01D7");
hashMap.put("Red", "#FF0000");
// ...etc...