setSize из JOptionPane - PullRequest
       2

setSize из JOptionPane

0 голосов
/ 04 января 2012

Попытка установить размер JOptionPane, но он придерживается того же размера. Я пробовал setPreferredSize и setSize, но по какой-то причине JOptionPane придерживается той же ширины и высоты. В основном у меня есть куча текста, и он «обрезается» из-за размера окна.

Я на самом деле использую порт библиотеки Swing на другом языке, так что это может быть ошибкой в ​​их библиотеке - но в соответствии с документацией это должно отражать вызовы Java Swing.

Я что-то упустил?

  • edit - хотел добавить, что я создаю joptionpane с JOptionPane.showInputDialog

  • отредактируйте снова - я использую ASwing (порт Actionscript Java Swing - следовательно, могут быть различия API, хотя он должен быть порт ...)

Ответы [ 4 ]

5 голосов
/ 04 января 2012

Рекомендуется создать JPanel с предпочтительным размером или JTextArea с полосами прокрутки JScrollPane и добавить его в optionpan.

Это легко сделать, и не только устанавливает размер диалога, но и обеспечивает большую гибкость контента.

JTextArea mytext = new JTextArea();
mytext.setText("mytextline1\nmytextline2\nmytextline3\nmytextline4\nmytextline5\nmytextline6");
mytext.setRows(5);
mytext.setColumns(10);
mytext.setEditable(true);
JScrollPane mypane = new JScrollPane(mytext);

Object[] objarr = {
    new JLabel("Enter some text:"),
    mypane,
};

JOptionPane Optpane = new JOptionPane(objarr, JOptionPane.PLAIN_MESSAGE); 

см. подробности

3 голосов
/ 04 января 2012

Проверьте менеджер компоновки контейнера

1 голос
/ 04 января 2012

Собственно, нашел исправление. Портированная библиотека создала JOptionPane, я думаю, немного отличается от версии Java.

optionpane.getFrame().setSize()

(используя ASwing - порт Actionscript Java Swing)

0 голосов
/ 28 июня 2013

Вы также можете переопределить setSize, расширив наш Componemt:

public class Headerfield extends JLabel
{
    public Headerfield(String text)
    {
        super(text);
    }

    public void setSize(int width, int height)
    {
        super.setSize(100, 20);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...