【问题标题】:How can I get selected JScrollPane element?如何获取选定的 JScrollPane 元素?
【发布时间】:2012-01-01 19:35:25
【问题描述】:

我要做的就是当用户在JScrollPane 上选择一个元素并单击按钮时,我想抓住它所持有的JList 的这个对象/元素。我该怎么做?

【问题讨论】:

  • 一个元素是什么? JScrollPane 中有什么内容?
  • 你是否在一个 JScrollPane 中有很多 JList 对象,或者你想从 JList 中抓取对象,将其包含在 JScrollPane 中?
  • 谢谢安德鲁。是的,我显然是找错地方了。这整个摇摆的东西对我来说是全新的,正如我现在所看到的,我正在查看 JScrollPane 类的 JList。对不起,我的错。
  • “我正在查看 JList 中的 JScrollPane 类。” 我听到了,但我花了大约 2 分钟浏览JList 的文档。如果我也考虑过JButtonJScrollPaneJPanel,那么大约需要 8 分钟才能找到有用的方法的名称。 JavaDocs 是你和我的朋友。这些文档没有在我的浏览器中添加书签 - 我打开了一个指向 Java 7 class list 的选项卡。不是一个非常漂亮的文档,但提供了对最新文档的非常快速的访问。对于 J2SE 的类。
  • 我明白了,以后不会这样了。感谢您的链接。

标签: java swing jscrollpane jlist


【解决方案1】:

【讨论】:

【解决方案2】:

你可以看下面的示例代码:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JOptionPane;

public class TestJList {

public static void main(String[] args) {
    String[] items = new String[]
        {
                "One", "Two", "Three", "Four"
        };
    final JList list = new JList(items);
    final JFrame frame = new JFrame();
    frame.setLayout(new BorderLayout());
    frame.add(list, BorderLayout.CENTER);

    JButton btn = new JButton("Get selected");
    btn.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            JOptionPane.showConfirmDialog(frame, "You Selected : " + list.getSelectedValue(), "Display",
                    JOptionPane.PLAIN_MESSAGE);

        }
    });

    frame.add(btn, BorderLayout.SOUTH);
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}
}

【讨论】:

  • “只显示被选中的元素”showMessageDialog(...)也是如此,但后者并没有要求用户确认或取消明显被选中的项目(无论用户行不行)。 OTOH,如果您的窗格标题从 "Display" 更改为 "Delete this item" 之类的名称,它会突然变得很有意义。 :) 代码示例 +1。
  • 我的错...使用确认而不是消息:)
  • 这就是编辑答案的好处。你可以一直假装你的意思是showMessageDialog。 ;)
  • 如何从 JScrollPane 访问 JList?上面的示例没有将 JList 放在 JScrollPane 中
猜你喜欢
  • 1970-01-01
  • 2020-04-21
  • 2017-08-16
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
  • 2016-06-04
  • 2011-06-11
  • 2012-10-27
相关资源
最近更新 更多