如何在java中更改JScrollPane的大小

时间:2014-03-28 21:21:46

标签: java swing jscrollpane jlist joptionpane

我之前从未使用过其中一种。我只使用了普通的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);

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

3 个答案:

答案 0 :(得分:2)

  

"如何让它一次显示更多"

您可以覆盖getPreferredSize

JScrollPane
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);
            }
        });
    }
}

  

&#34;也可以摆脱这些笔记以及导致它们的原因&#34;

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

答案 1 :(得分:0)

也许您应该在外面创建滚动窗格,调整尺寸,然后添加它。

JScrollPane scroll = ...
scroll.setMinimumSize( ... );

JOptionPane.showMessageDialog( null, scroll, ... );

希望,这有助于: - )

答案 2 :(得分:0)

JScrollPane jspane = new JScrollPane(new JList(uniqueWords.toArray()));
Jspane. SetMinimumSize(200);
JOptionPane.showMessageDialog(null,jspane,"Unique Words",1);

这是你所期望的吗?