Java中如何将一个JList中的元素转移到另一个JList中?

发布于 2024-08-19 00:37:51 字数 128 浏览 2 评论 0原文

我在 swing GUI 上有两个 JList。现在我希望当用户单击按钮(例如 TransferButton)时,将从一个 JList 中选定的元素从第一个 JList 添加到第二个 JList ,并从第一个 JList 中删除这些选定元素。

I have two JList on a swing GUI. Now I want that when a user clicks on a button (say TransferButton) the selected elements from one JList is added from the first JList to the second JList and remove those selected elements from the first JList.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

执手闯天涯 2024-08-26 00:37:51

该模型不知道选择。

JList 提供了多种方法来获取所选项目或所选索引。使用这些方法获取项目并将它们添加到其他列表的模型中。

The model doesn't know about selection.

The JList provides several methods to get the selected item or selected index. Use those methods to get the items and add them to the other list's model.

倾城花音 2024-08-26 00:37:51

您有两个 JList,然后您还有它们各自的 ListModel。根据您实现它们的方式,您可以从一个模型中删除元素并将它们添加到另一个模型中。但请注意,ListModel 接口默认情况下只关心元素访问,因此您可能必须实现 addremove方法自己去那里。

You have two JLists, then you also have their respective ListModels. Depending on how you implemented them you can just remove the elements from one model and add them to the other. Note, though, that the ListModel interface doesn't care for more than element access by default, so you probably have to implement add and remove methods there by yourself.

年华零落成诗 2024-08-26 00:37:51
DefaultListModel leftModel = new DefaultListModel();
leftModel.addElement("Element 1");
leftModel.addElement("Element 2");
leftModel.addElement("Element 3");
leftModel.addElement("Element 5");
leftModel.addElement("Element 6");
leftModel.addElement("Element 7");

JList leftList = new JList(leftModel);

DefaultListModel rightModel = new DefaultListModel();
JList rightList = new JList(rightModel);

假设您有两个 JList 组件,如上面代码中所述(左和右)。您必须编写以下代码以将选定的值从左侧 JList 传输到右侧 JList。

for(Object selectedValue:leftList.getSelectedValuesList()){
    rightModel.addElement(selectedValue);
    leftModel.removeElement(selectedValue);
}
DefaultListModel leftModel = new DefaultListModel();
leftModel.addElement("Element 1");
leftModel.addElement("Element 2");
leftModel.addElement("Element 3");
leftModel.addElement("Element 5");
leftModel.addElement("Element 6");
leftModel.addElement("Element 7");

JList leftList = new JList(leftModel);

DefaultListModel rightModel = new DefaultListModel();
JList rightList = new JList(rightModel);

Let's imagine you have two JList components as described in the code above (left and right). You must write following code to transfer selected values from the left to the right JList.

for(Object selectedValue:leftList.getSelectedValuesList()){
    rightModel.addElement(selectedValue);
    leftModel.removeElement(selectedValue);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文