java 在 JMenuItem ActionListener 中启用了 8 个 lambda 表达式集
java 8 lambda expressions set enabled in JMenuItem ActionListener
我有一个用于 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.green));
color.add(new JMenuItem("Blue")).addActionListener(evt -> panel.setSelectColor(Color.BLUE));
如何使用 lambda 函数将其设置为启用或禁用。我知道我可以做到
color.setEnabled(true);
或 color.setEnabled(false);
将 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)));
}
});
我有一个用于 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.green));
color.add(new JMenuItem("Blue")).addActionListener(evt -> panel.setSelectColor(Color.BLUE));
如何使用 lambda 函数将其设置为启用或禁用。我知道我可以做到
color.setEnabled(true);
或 color.setEnabled(false);
将 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)));
}
});