JMenuItem ActionListener中启用的java 8 lambda表达式集
我对swing菜单有一个lambda表达式JMenuItem ActionListener中启用的java 8 lambda表达式集,java,swing,lambda,actionlistener,jmenuitem,Java,Swing,Lambda,Actionlistener,Jmenuitem,我对swing菜单有一个lambda表达式 JMenu color = new JMenu("Color"); color.add(new JMenuItem("Red")).addActionListener(evt -> panel.setSelectColor(Color.RED)); color.add(new JMenuItem("Green")).addActionListener(evt -> panel.setSelectColor(Color
JMenu color = new JMenu("Color");
color.add(new JMenuItem("Red")).addActionListener(evt -> panel.setSelectColor(Color.RED));
color.add(new JMenuItem("Green")).addActionListener(evt -> panel.setSelectColor(Color.green));
color.add(new JMenuItem("Blue")).addActionListener(evt -> panel.setSelectColor(Color.BLUE));
如何使用lambda函数将其设置为启用或禁用。我知道我可以和你一起做
color.setEnabled(true)代码>或color.setEnabled(假)代码>将lambda表达式更改为块并循环菜单中的所有项:
color.add(new JMenuItem("Red")).addActionListener(evt -> {
panel.setSelectColor(Color.RED);
for(int i = 0 ; i < color.getItemCount(); i++){
color.getItem(i).setEnabled(!evt.getSource().equals(color.getItem(i)));
}
});
color.add(新JMenuItem(“红色”)).addActionListener(evt->{
面板颜色(颜色:红色);
for(int i=0;i
您要启用/禁用哪一个?激活的一个。例如,我点击“红色”。对于活动菜单项,“绿色”和“蓝色”保持启用状态,“红色”处于禁用状态