Как я могу изменить размер текстового поля Swing? - PullRequest
0 голосов
/ 30 марта 2011

Я написал код ниже:

public class Information extends JFrame{
private JComboBox comboBox1;
private JComboBox comboBox2;
private JTextField textField[];
private JTextField jtextField;
private JLabel label[];

public Information()
{
    setLayout(new flowlayout());
    Box box = Box.createVerticalBox();
    for(int i = 0; i < 20; i++)//textfield
    {
        textField = new JTextField[20];
        box.add(Box.createRigidArea(new Dimension(5,5)));
        textField[i] = new JTextField(2);

        textField[i].setAlignmentX(2f);
        textField[i].setAlignmentY(2f);

        box.add(textField[i]);
    }
    for(int i = 0; i < 22; i++ )//lable
    {

    }
    add(box);
}
}

Я хочу, чтобы текстовое поле отображалось в моем любимом размере, но оно заполняет весь экран.

Я использовал

 textField[i].setAlignmentX(2f);
 textField[i].setAlignmentY(2f);

и setcolum(), но это не изменило размер текстового поля.Как я могу уменьшить размеры моих текстовых полей?

Я использую с

setMaximumSize(new Dimension(80, 70));
setPreferredSize(new Dimension(50, 50));

, они меняют размер текстового поля, но меняют его местоположение, но я не хочу менять их

* 1016.* location. Есть ли способ изменить положение текстового поля?

Я использую из setlocation, но это не сработало !!.

Ответы [ 5 ]

4 голосов
/ 30 марта 2011
0 голосов
/ 17 марта 2018

Я думаю, что вы хотите установить определенный размер для вашего текстового поля.Для этого: во-первых, установите макет как нулевой, используя объект класса Information

information.setLayout(null);

и установите границы JTextField с помощью метода setBounds:

textField.setBounds(0,0,100,100);
0 голосов
/ 30 марта 2011

Попробуйте setPreferredSize () , это (наряду с setMinimum / MaximumSize ()), как правило, используется многими LayoutManagers , включая FlowLayout, для соответствующего размера компонентов контейнера.

Также, как примечание, похоже, что вы воссоздаете свой массив JTextAreas каждую итерацию в цикле for, поэтому будет существовать только textField [19] ...

0 голосов
/ 30 марта 2011

Методы setAlignment изменяют выравнивание компонента в его контейнере, а не фактический размер компонента. Я думаю, что вы ищете JTextField setColumns() метод . Всегда есть унаследованный setSize() метод .

0 голосов
/ 30 марта 2011

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

...