我有一个带有DefaultListModel的JList。如何使JList中的项目响应双击事件? 最佳答案 String[]items={"A","B","C","D"};JListlist=newJList(items);list.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEventevt){JListlist=(JList)evt.getSource();if(evt.getClickCount()==2){//Double-clickdetec
我有一个JList并希望用户能够使用拖放操作对列表中的元素重新排序(使用我自己的ListModel和ListCellRenderer,如果有任何区别的话)。我需要创建哪些对象,如何处理操作? 最佳答案 修改后的JanTaccis回答:publicclassDndTestextendsJFrame{JListmyList;DefaultListModelmyListModel;publicDndTest(){myListModel=createStringListModel();myList=newJList(myListModel)
我在谷歌上搜索从JList组件取回数据的解决方案,但没有找到。那么,Jlist是否有返回其项目的方法?我不想要一个选定的。我想要整个列表。原因是我有这个方法可以根据列表框的选定值更新对话框的所有组件。我想用相同的方法更新该列表框。因此,要做到这一点,该方法在被调用时不应更新列表框。它应该将列表框中的值与我存储在一个类中的最新数据进行比较。(否则进入无限循环)只有当列表框中的数据与类中的数据不匹配时,它才会更新。有没有这种方法可以获取列表框的所有数据? 最佳答案 您必须使用getModel()方法获取模型数据,然后使用ListMode
我使用JList作为向导的一部分来显示所有要执行的步骤(它还允许单击一个步骤转到它)。根据前面步骤中所做的,某些步骤并不总是需要的。我想在列表中禁用这些不适用的步骤。我怎样才能禁用(阻止选择)列表中的某些项目?有没有比子类化JList并覆盖每个与选择相关的方法更好的方法? 最佳答案 你必须实现DefaultListSelectionModel,然后你可以设置FlagifisEnabledornot简单的例子importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;impo
前段时间问过thisquestion.所有解决方案都是变通办法。现在这不可能了。感觉这里不对,但我也分不清是Swing的MVC模型概念上的错误,还是我的思路概念上的错误。问题又来了。我正在使用JList来实现文档页面的缩略图列表。如果用户从列表中选择另一个缩略图,则加载该页面。TodothisIaddedaListSelectionListenertotheJList,whichwhentheselectionchanges,itloadsthatpage.但用户也可以使用另一个控件更改页面。当然,我希望通过在此处选择该页面来将其反射(reflect)在缩略图列表中。所以我setSel
JList中是否可以多列显示???? 最佳答案 当然!您需要调用setLayoutOrientation,它向列表指示在转到新行之前应如何包装其数据。您可以使用JList.HORIZONTAL_WRAP或JList.VERITCAL_WRAP。这告诉数据像往常一样显示(作为列表),然后在到达底部时换行。如果您想将该调用与setVisibleRowCount(-1)结合使用,则可以在可用空间中显示尽可能多的项目。 关于java-JList中的多列显示,我们在StackOverflow上找到
我想知道是否有办法检索已添加到JList的所有元素的列表。例如,我希望JList从自定义单元格渲染器返回一个数组或字符串列表或JLabel。 最佳答案 您可以使用getModel获取ListModel的方法.然后使用getElementAt和getSize方法来构建数组或列表或任何你想要的。 关于java-有没有办法获取JList中的所有元素?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques
有人能告诉我如何将JList的选定项转换为String吗?它是单选JList。 最佳答案 试试这个:Stringselected=jList1.getSelectedValue(); 关于java-JList选中的项目到String,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7309550/
我有下一个代码:listModel=newDefaultListModel();listModel.addElement(dateFormat.format(newDate())+":Msg1");messageList=newJList(listModel);messageList.setLayoutOrientation(JList.VERTICAL);messageScrollList=newJScrollPane(messageList);messageScrollList.setPreferredSize(newDimension(500,200));messageScrol
我已经阅读/尝试过这些帖子,但没有帮助:DisplaymultiplelineswithinaJlistcellHowtogetmultilineforaJlisttext?ProblemdisplayingcomponentsofJList我需要的是一个ListCellRenderer,它返回一个面板,左边是一个图标,右边是一个动态长度的文本(就像在任何论坛中一样:左边是用户头像,正确的帖子文本)。我不知道这些文本,所以我无法设置固定的单元格高度。此外,文本长度因列表单元格而异。所以每个列表单元格都需要有自己的高度,具体取决于文本的长度。实际上是一个非常常见的布局......但不适用