相关疑难解决方法(0)

Java:在封闭范围内定义的局部变量mi必须是最终的或有效的最终

我得到了错误,就像在主题中一样,我恳请你如何修复它... ERROR在menuItem-loop中,我尝试将textArea前景色设置为从menuItem中拾取的颜色:( colors [mi])

    String[] colors = {
            "blue", 
            "yellow",
            "orange",
            "red", 
            "white", 
            "black", 
            "green", 
            };

JMenu mnForeground = new JMenu("Foreground");
            for (int mi=0; mi<colors.length; mi++){
                String pos = Character.toUpperCase(colors[mi].charAt(0)) + colors[mi].substring(1);
                JMenuItem Jmi =new JMenuItem(pos);
                Jmi.setIcon(new IconA(colors[mi]));

                Jmi.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        JMenuItem item = (JMenuItem) e.getSource();
                        IconA icon = (IconA) item.getIcon();
                        Color kolorIkony = getColour(colors[mi]); // ERROR HERE: (colors[mi])
                        textArea.setForeground(kolorIkony);
                    }
                });

                mnForeground.add(Jmi);
            }

public Color getColour(String colour){
  try {
      kolor = Color.decode(colour);
  } …
Run Code Online (Sandbox Code Playgroud)

java

18
推荐指数
3
解决办法
8万
查看次数

标签 统计

java ×1