【问题标题】:How do I change the size of a JScrollPane in java如何在 java 中更改 JScrollPane 的大小
【发布时间】:2014-03-28 21:21:46
【问题描述】:

我以前从未使用过其中之一。我只使用过普通的 JOptionPane 框。这是我目前拥有的:

JOptionPane.showMessageDialog(null,new JScrollPane(new JList(uniqueWords.toArray())),"Unique Words",1);

其中 uniqueWords 是一个数组列表。问题是对话框的长度很小。您一次只能在屏幕上看到一行。我怎样才能让它一次显示更多。 也有可能摆脱这些笔记以及导致它们的原因

Note: Files.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

编辑: 我把我的代码改成了这个

JScrollPane jspane = new JScrollPane(new JList(uniqueWords.toArray()));
    Dimension size = new Dimension(1000,1000);
    jspane.setMinimumSize(size);
    JOptionPane.showMessageDialog(null,jspane,"Unique Words",1);

但它仍然显示相同的对话框

【问题讨论】:

    标签: java swing jscrollpane jlist joptionpane


    【解决方案1】:

    “我怎样才能让它一次显示更多”

    您可以直接覆盖 JScrollPanegetPreferredSize

    import java.awt.Dimension;
    import java.util.*;
    import javax.swing.*;
    
    public class Test3 {
    
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable(){
                public void run() {
                    List<String> list = new ArrayList<>();
                    for (int i = 0; i < 30; i++) {
                        list.add("Hello, World " + i);
                    }
                    JScrollPane pane = new JScrollPane(new JList(list.toArray())) {
                        @Override
                        public Dimension getPreferredSize() {
                            return new Dimension(200, 250);
                        }
                    };
                    JOptionPane.showMessageDialog(null, pane);
                }
            });
        }
    }
    

    “也有可能摆脱这些笔记以及导致它们的原因”

    你应该按照它说的做,然后用 -XLint 重新编译,它会显示警告的详细信息

    【讨论】:

      【解决方案2】:

      也许你应该在外面创建滚动窗格,调整它的大小,然后添加它。

      JScrollPane scroll = ...
      scroll.setMinimumSize( ... );
      
      JOptionPane.showMessageDialog( null, scroll, ... );
      

      希望,这会有所帮助:-)

      【讨论】:

      • 我正在尝试这样做,但我只是在制造错误,可能是因为我做得不对。有人可以给我举个例子,说明我应该在这里做什么
      【解决方案3】:
      JScrollPane jspane = new JScrollPane(new JList(uniqueWords.toArray()));
      Jspane. SetMinimumSize(200);
      JOptionPane.showMessageDialog(null,jspane,"Unique Words",1);
      

      这是你所期望的吗?

      【讨论】:

        猜你喜欢
        • 2014-05-17
        • 1970-01-01
        • 2013-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-14
        • 2011-08-31
        • 1970-01-01
        相关资源
        最近更新 更多