作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这似乎是一个非常微不足道的问题,但我想不出一个简单的解决方案。我确定有一个。
我有一个复选框菜单项(可以选择或不选择的菜单项)。无论何时选择它,我都希望它创建一个新对象并将其添加到某个列表中。取消选择后,我希望将该对象从列表中删除。该对象是即时创建的,因此我没有引用它。
我的问题是:如何在取消选择时删除对象?
final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem("My Item");
menuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
if (menuItem.isSelected()) {
someList.add(new someClass());
}
else {
someList.remove(??);
}
}
});
我想扩展 JCheckBoxMenuItem 类并向其添加一个 someClass 字段,这样我将始终引用新创建的对象。它在技术上应该可行,但似乎不是最优雅的解决方案......
最佳答案
在这种情况下,我建议使用 Map
。您可以将复选框的相应值(例如 checkbox1
)作为键,将新创建的对象作为值。当您取消选中复选框时,您可以获得 checkbox
名称和(在本例中为 checkbox1)并将其从 Map
中删除。
关于Java - 跟踪新列表项以便以后删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489574/
命令 svn status 返回如下内容: ? SomeClient\BUTCHERED.docx M SomeClient\Development notes.txt ?
我是一名优秀的程序员,十分优秀!