Я студент информатики. Я должен написать java-программу. Две кнопки в окне и щелчок по одному из них делают шрифт кнопки больше +1, поэтому кнопки/кнопки становятся больше, и они должны вставляться в окно (видимы целые две кнопки), поэтому окно может увеличиться, НО ТОЛЬКО КАК МНОГО КАК НЕОБХОДИМО. Это довольно легко с пакетом(), но метод call pack() не разрешен. Любые подсказки?Изменение размера JFrame без пакета() заставляет мой разум взорваться. Непонятно
ответ
Простым решением является, как только вы обновили шрифт кнопок, находится в revalidate
контейнере, спросите контейнер для него: preferredSize
. После того как вы это, вам нужно добавить в insets
окна к этому значению, которое даст вам минимальный размер, что окно нужно будет ...
// Update button fonts...
container.revalidate(); // Force the container with the buttons to update
Dimension size = container.getPreferredSize();
Insets insets = frame.getInsets(); // Returns the frame's border requirements
size.width += insets.left + insets.right;
size.height += insets.top + insets.bottom;
frame.setSize(size);
Теперь вам нужно будет сделать определения того, хотите ли вы уменьшить размер окна, а также увеличить его ...
Я понял, что вы. Я могу рассчитать разницу до и после изменения размера, а затем добавить его к размеру Jframe. Может быть интересно, что изменение ширины на 5 или 6 и высота на 1 или 2, когда размер шрифта изменяется на 1. Это не является постоянной причиной non-fracture характер Integer. Ваше решение выглядит более зрелым и профессиональным, поэтому я узнаю его :) Спасибо за быстрый и точный ответ. Первое сообщение здесь и приятный сюрприз. Я помогу другим, когда я получу экзамен. – Baldur
Рад, что это помогло ... – MadProgrammer
- 1. Изменение размера JButton заставляет его исчезать
- 2. Java JFrame Изменение размера
- 3. массив дует мой разум
- 4. Что заставляет Jframe мерцать при изменении размера?
- 5. Изменение размера JPanel в JFrame
- 6. ява - Изменение размера упакована JFrame
- 7. Изменение размера Jpanel при изменении размера JFrame
- 8. Тестирование столбца, потерявшего мой разум
- 9. Автоматическое изменение размера JFrame с помощью пакета() без сбивания его jPanels
- 10. Изменение размера JFrame добавляет много памяти
- 11. Как остановить изменение размера JPanel в JFrame
- 12. Изменение размера пакета по умолчанию
- 13. Изменение размера окна OpenGL заставляет его разваливаться
- 14. Изменение размера JFrame на JPanels внутри JLayeredPane
- 15. Изменение размера jFrame при нажатии кнопки
- 16. JPanel/JFrame Автоматическое изменение размера. JAVA
- 17. Изменение размера JPanel при максимальном использовании JFrame
- 18. Изменение размера JFrame в одном измерении
- 19. Java Thread.sleep() заставляет JFrame мерцать при изменении размера
- 20. Изменение размера JFrame непреднамеренно во время выполнения
- 21. Изменение размера JFrame и сохранение пропорций?
- 22. Изменение размера западной стороны JFrame java
- 23. Изменение размера JFrame для соответствия JPanel
- 24. JFrame: Как отключить изменение размера окна?
- 25. Изменение размера JFrame и всего содержимого внутри
- 26. Размещение и изменение размера JPanel в JFrame
- 27. Изменение размера JFrame при сжатии scrollpane соответственно
- 28. Java JFrame горизонтальное изменение размера JTextField, JComboBox
- 29. Динамический JFrame - Изменение содержимого JFrame
- 30. Perl simple regex ошеломляет мой разум
Никто не собирается делать домашнее задание для вас. – worldofjr
Я этого не ожидаю. Я потратил много времени, пытаясь решить проблему самостоятельно, и все, что я ожидаю, - это своего рода ключ, помогающий мне писать программу самостоятельно. – Baldur
Вам необходимо определить область видимости, то есть область с границами рамки. Затем вам нужно определить границу рамки и добавить ее в расчет ширины/высоты. Вы можете определить объем пространства, который может понравиться кнопке, вызвав метод getPreferredSize – MadProgrammer