Кнопки в JPanel не маштабируются под размер JFrame - Java
Формулировка задачи:
Доброго времени суток, в теории вроде как кнопочки должны заполнить весь экран, но не заполняют, и можно как то обойтись без setSize в классе panel_button
package Meny; import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; public class Class_Meny { public Class_Meny() { JFrame window = new JFrame("Welcom"); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setSize(640, 480); window.add(new panel_button()); window.setVisible(true); } public class panel_button extends JPanel { public panel_button() { JPanel meny_button = new JPanel(); meny_button.setLayout(new GridLayout(3, 3)); JButton button1 = new JButton("1"); JButton button2 = new JButton("2"); JButton button3 = new JButton("3"); JButton button4 = new JButton("4"); JButton button5 = new JButton("5"); JButton button6 = new JButton("6"); JButton button7 = new JButton("7"); JButton button8 = new JButton("8"); JButton button9 = new JButton("9"); meny_button.add(button1); meny_button.add(button2); meny_button.add(button3); meny_button.add(button4); meny_button.add(button5); meny_button.add(button6); meny_button.add(button7); meny_button.add(button8); meny_button.add(button9); setSize(640, 480); add(meny_button); } } public static void main(String[] args) { new Class_Meny(); } }
Решение задачи: «Кнопки в JPanel не маштабируются под размер JFrame»
textual
Листинг программы
package Meny; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; public class Class_Meny { public String button_name[] = {"1","2","3","4","5","6","7","8","9"}; public Class_Meny() { JFrame window = new JFrame("Welcom"); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.add(new panel_button(), BorderLayout.SOUTH); window.setSize(640, 480); window.setVisible(true); } public class panel_button extends JPanel { public JPanel meny_panel = new JPanel(); public panel_button() { meny_panel.setPreferredSize(new Dimension(420, 260)); meny_panel.setLayout(new GridLayout(3, 3, 10, 10)); for (int i = 0; i < button_name.length; i++) { JButton button = new JButton(button_name[i]); button.setFocusable(false); meny_panel.add(button); ActionListener actionListener = new ButtonPushActionListener(); button.addActionListener(actionListener); } add(meny_panel); } private class ButtonPushActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("SOURCE " + this.toString()); } } } public static void main(String[] args) { new Class_Meny(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д