java – 创建条目列表并使每个条目可单击
发布时间:2020-12-15 05:20:50 所属栏目:Java 来源:网络整理
导读:我正在尝试创建一个有两个窗格的UI. 在左侧窗格中,我显示文件列表,右窗格显示内容. 现在,我希望左窗格中的文件列表看起来像普通列表.但是,当我单击此列表中的条目时,特定文件的内容应显示在右侧窗格中. 如何使用Swing实现这一目标? 解决方法 在这里,我做了
我正在尝试创建一个有两个窗格的UI.
在左侧窗格中,我显示文件列表,右窗格显示内容. 现在,我希望左窗格中的文件列表看起来像普通列表.但是,当我单击此列表中的条目时,特定文件的内容应显示在右侧窗格中. 如何使用Swing实现这一目标? 解决方法
在这里,我做了一个简短的例子,左边是JList,右边是JTextArea.我使用ListSelectionListener来获取项目列表更改.根据您的方便使用LayoutManager.
import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class JListTest { private JList jList1; private JPanel jPanel1; private JTextArea jTextArea1; public JListTest() { initComponents(); } private void initComponents() { JFrame f = new JFrame(); jPanel1 = new JPanel(); jList1 = new JList(); jTextArea1 = new JTextArea(); jList1.setModel(new AbstractListModel() { String[] strings = {"Item 1","Item 2"}; @Override public int getSize() { return strings.length; } @Override public Object getElementAt(int i) { return strings[i]; } }); jList1.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent evt) { jList1ValueChanged(evt); } }); jTextArea1.setColumns(20); jTextArea1.setRows(5); jPanel1.add(jList1); jPanel1.add(jTextArea1); f.setDefaultCloSEOperation(WindowConstants.EXIT_ON_CLOSE); f.add(jPanel1); f.pack(); f.setVisible(true); } private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) { //set text on right here String s = (String) jList1.getSelectedValue(); if (s.equals("Item 1")) { jTextArea1.setText("You clicked on list 1"); } if (s.equals("Item 2")) { jTextArea1.setText("You clicked on list 2"); } } public static void main(String args[]) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new JListTest(); } }); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 判断任意参数是否为空的工具方法
- java – 如何在Android项目中命名getter / setter
- JDK、CGLIB、Javassist和ASM的动态代理使用对比
- java – Spring Boot命令行属性不覆盖application.properti
- Java并发编程之显式锁机制详解
- 比较Java中的双打给出了奇怪的结果
- java – 为什么我不应该使用equals继承?
- java – 如何更新只是特定的单元格中的表达式dataTable
- java skips catch子句直接跳到apache pdfbox中
- Could not find tools.jar when build gradle project