Ответ 1
Вы вызываете pack()
, который меняет размер фрейма, чтобы он просто соответствовал компонентам внутри. Вот почему я думаю, что он сжимается. Удалите строку pack()
, и она должна работать.
Я создал java-интерфейс с помощью myEclipse Matisse. когда мое разрешение экрана 1024x768 работает нормально, но когда я меняю разрешение, мой графический интерфейс не работает нормально. Я хочу, чтобы окно моего графического интерфейса было изменено в соответствии с разрешением экрана Я расширяю JFrame для создания главного окна.
public class MyClass extends JFrame {
//I am putting some controls here.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
setVisible(true);
pack()
}
это не работает, что я делаю, устанавливая размер жестко закодированным или используя ToolKit, размер кадра остается таким же.
Вы вызываете pack()
, который меняет размер фрейма, чтобы он просто соответствовал компонентам внутри. Вот почему я думаю, что он сжимается. Удалите строку pack()
, и она должна работать.
Вы можете попробовать использовать это, чтобы максимизировать кадр:
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
Вызов pack()
имеет жизненно важное значение для корректно функционирующего графического интерфейса. Вызовите его после того, как все компоненты были добавлены, чтобы он проверил контейнер и установил для него естественный размер.
Затем вызовите setSize()
и связанные с ним методы, например setBounds()
.
Другой способ сделать это:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
pack();
setSize(screenSize.width,screenSize.height);
Попробуйте это... Выберите все компоненты JFrame, щелкните правой кнопкой мыши, выберите "Автоматическое изменение размера", проверьте как горизонтальные, так и вертикальные, закрыть.
Calling pack() обычно приводит к изменению размера окна в соответствии с предпочтительным размером содержимого. Попробуйте удалить вызов pack() и посмотреть, что произойдет.
Сначала установите флажки для фрейма, затем удалите метод pack().