Кнопки в 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д