繁体   English   中英

如何在Java中更改JScrollPane的大小

[英]How do I change the size of a JScrollPane in java

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

但它仍显示相同的对话框

“如何使它一次显示更多”

您可以重写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重新编译,它会向您显示警告的详细信息

也许您应该在外部创建滚动窗格,调整其大小,然后添加它。

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

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

希望这可以帮助 :-)

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

这是您所期望的吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM