gpt4 book ai didi

java - 将 ActionPerformed 数组添加到字符串数组

转载 作者:行者123 更新时间:2023-12-02 08:33:20 25 4
gpt4 key购买 nike

在你们问之前,是的,我已经在网上搜索了答案,但我发现的所有内容都让人感到困惑,而且没有什么是最近的,所以在这些论坛中提问并没有真正的帮助。

我的问题是这样的:

我有一个数组来保存我的菜单名称。

String[] fontColor = new String[] {"Red", "Blue", "Green"};

for (int i = 0; i < fontColors.length; i++) {
JMenuItem fontC = new JMenuItem(fontColors[i]);
fontC.addActionListener(new fontColorAction());
changeFontColor.add(fontC);
}

然后我有一个数组,在名为 fontColorAction 的类中保存颜色变化

在该类中,我有另一个数组,它与我的字符串数组执行相同的操作,除了语句中的所有内容都是 textarea.setForeground(colorArr[i]);

这将按顺序设置 setForeground(),但现在我如何成功地将类中的操作监听器连接到我的菜单项?

我的类(class)是这样的

private class fontColorAction implements ActionListener {
Color[] colorArr - new Color[] {"Color.RED","Color.BLUE","Color.GREEN"};
public void actionPerformed(ActionEvent e){
for(i = 0; i < collorArr.length; i++){
textarea.setForeground(colorArr[i]);
}
}
}

最佳答案

您可以向操作添加颜色属性:

private class FontColorAction implements ActionListener {
private Color color;
public FontColorAction (Color color){
this.color = color;
}

public void actionPerformed(ActionEvent e){
textarea.setForeground(color);
}
}

并初始化如下操作:

 String[] fontColor = new String[] {"Red", "Blue", "Green"};
Color[] colorArr - new Color[] {"Color.RED","Color.BLUE","Color.GREEN"};

for (int i = 0; i < fontColors.length; i++) {
JMenuItem fontC = new JMenuItem(fontColors[i]);
fontC.addActionListener(new fontColorAction(colorArr [i));
changeFontColor.add(fontC);
}

另外,按照惯例,java 类的第一个字母是大写的;)

关于java - 将 ActionPerformed 数组添加到字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652557/

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