Как изменить размер JScrollPane в Java

1

Я никогда не использовал один из них раньше. Я использовал только обычные блоки 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.

EDIT: я изменил код на этот

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

но он по-прежнему отображает одно и то же диалоговое окно

Теги:
swing
joptionpane
jscrollpane
jlist

3 ответа

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

"Также можно избавиться от этих заметок и что их вызывает",

Вы должны сделать то, что он говорит, и перекомпилировать с -XLint, и он покажет вам подробности предупреждений

  • 0
    Это сработало, спасибо
0

Возможно, вам нужно создать прокрутку на внешней стороне, размер ее, а затем добавить.

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

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

Надеюсь это поможет :-)

  • 0
    Я пытаюсь сделать это, но я просто создаю ошибки, вероятно, потому что я делаю это неправильно. Кто-то может показать мне пример того, что я должен делать здесь
0
JScrollPane jspane = new JScrollPane(new JList(uniqueWords.toArray()));
Jspane. SetMinimumSize(200);
JOptionPane.showMessageDialog(null,jspane,"Unique Words",1);

Это то, чего вы ожидали?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню