Массив из JPanel - Java
Формулировка задачи:
Скажите могу ли я заполнить массив таким образом и как мне его затем можно вставить в JFrame?
Листинг программы
- import javax.swing.*;
- import java.awt.*;
- public class Activity {
- public static void main(String[] args) throws Exception{
- final int a=300, b=500;
- JPanel[] panels=new JPanel[9];
- for(int i=0;i<=9;i++){
- panels[i]=new JPanel();
- }
- JFrame fr=new JFrame();
- fr.setTitle("Dots");
- fr.setVisible(true);
- fr.setSize(a,b);
- fr.pack();
- JPanel mainPanel=new JPanel();
- mainPanel.setBackground(Color.yellow);
- mainPanel.setLayout(new GridLayout(3,3));
- for(int q=0;q<=panels.length;q++){
- mainPanel.add(panels[q]);
- }
- JButton button= new JButton(">>>");
- fr.add(mainPanel);
- mainPanel.setLayout(new BorderLayout());
- mainPanel.add(button,BorderLayout.SOUTH);
- }}
Решение задачи: «Массив из JPanel»
textual
Листинг программы
- package ru.alexp.tools;
- import javax.swing.*;
- import java.awt.*;
- import static javax.swing.JFrame.EXIT_ON_CLOSE;
- public class Activity {
- public static void main(String[] args) throws Exception{
- final int a=300, b=500;
- JPanel[] panels = new JPanel[9];
- for(int i = 0; i < 9; i++){
- final JPanel dot = new JPanel();
- dot.add(new JLabel("(dotPanel)"));
- panels[i] = dot;
- }
- JFrame fr=new JFrame();
- fr.setTitle("Dots");
- fr.setVisible(true);
- fr.setSize(a,b);
- fr.setLocationRelativeTo(null);
- fr.setDefaultCloseOperation(EXIT_ON_CLOSE);
- //fr.pack(); // он тут не нужен
- JPanel mainPanel=new JPanel();
- mainPanel.setBackground(Color.yellow);
- mainPanel.setLayout(new GridLayout(3, 3, 5, 5)); // 2 последних значения -- отступы
- for(int q = 0; q < panels.length; q++) {
- mainPanel.add(panels[q]);
- }
- JButton button = new JButton(">>>");
- fr.getContentPane().setLayout(new BorderLayout());
- fr.getContentPane().add(button, BorderLayout.SOUTH);
- fr.getContentPane().add(mainPanel, BorderLayout.CENTER);
- }}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д