Как изменить размер JTextField?
import javax.swing.*;
import java.awt.*;
public class Calculator {
// Объявяем переменные для всех компонентов калькулятора.
JPanel windowContent;
JTextField displayField;
JButton button0;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JButton button5;
JButton button6;
JButton button7;
JButton button8;
JButton button9;
JButton buttonPoint;
JButton buttonEqual;
JButton sum;
JButton subtraction;
JButton multiplication;
JButton devision;
JPanel p1;
// В конструкторе создаются все компоненты и добавляются на фрейм с помощью комбинации Borderlayout и Gridlayout
Calculator (){
windowContent = new JPanel();//Создаем панель
BorderLayout bl = new BorderLayout();// Задаём схему для этой панели
windowContent.setLayout(bl);
displayField = new JTextField(30);//Создаем поле для отображения ввода длиной 30
windowContent.add("North", displayField);// Добавляем его в Северную область окна
// Создаём кнопки, используя конструктор класса JButton, который принимает текст кнопки в качестве параметра
button0 = new JButton("0");
button1 = new JButton("1");
button2 = new JButton("2");
button3 = new JButton("3");
button4 = new JButton("4");
button5 = new JButton("5");
button6 = new JButton("6");
button7 = new JButton("7");
button8 = new JButton("8");
button9 = new JButton("9");
buttonPoint = new JButton(".");
buttonEqual = new JButton("=");
sum = new JButton("+");
subtraction = new JButton("-");
devision = new JButton("/");
multiplication = new JButton("*");
// Создаём новую панель GridLayout которая содержит 12 кнопок - 10 кнопок с числами и кнопки с точкой и знаком равно
p1 = new JPanel();
GridLayout gl = new GridLayout(4, 3);
p1.setLayout(gl);
// Добавляем кнопки на панель p1
p1.add(button1);
p1.add(button2);
p1.add(button3);
p1.add(button4);
p1.add(button5);
p1.add(button6);
p1.add(button7);
p1.add(button8);
p1.add(button9);
p1.add(button0);
p1.add(buttonPoint);
p1.add(buttonEqual);
p1.add(sum);
p1.add(subtraction);
p1.add(devision);
p1.add(multiplication);
// Помещаем панель p1 в центральную область окна
windowContent.add("Center", p1);
//Создаём фрейм и задаём его основную панель
JFrame frame = new JFrame("Calculator");
frame.setContentPane(windowContent);
//Размер окна
frame.setSize(400,300);
// Отображаем окно
frame.setVisible(true);
}
public static void main(String[] args) {
Calculator calc = new Calculator();
}
}
Как изменить размер (высоту) поля displayField? пробовал .size, dimensional, bound ничего не помогает. Фиксированный размер
Ответы (1 шт):
Автор решения: Denis Kukharenko
→ Ссылка
При менеджере компонентов BorderLayout (по умолчанию в JFrame) чтобы указанные параметры учитывались нужно использовать setPreferredSize вместо setSize
Метод выше увеличит сам виджет. Если нужно будет подстроить размер шрифта под новые размеры то есть метод setFont