Следующее дает мне много ошибок в консоли, которые не отображаются, если screen S
инициализирован new screen(10)
(вы должны уменьшить размер массива заранее), почему это?Почему этот кусок кода Java дает мне столько ошибок?
import java.awt.*;
import javax.swing.*;
public class screen{
JFrame window=new JFrame();
JPanel scr=new JPanel();
JPanel[][] pixels=new JPanel[240][360];
screen(int scale){
scr.setLayout(new GridLayout(240,360));
int x=0;
for(JPanel Fx[]:pixels){
for(JPanel Fy:Fx){
Fy=new JPanel();
if(x%3==0){Fy.setBackground(Color.red);}
if(x%3==1){Fy.setBackground(Color.green);}
if(x%3==2){Fy.setBackground(Color.blue);}
x++;
Fy.setPreferredSize(new Dimension(scale,scale));
scr.add(Fy);}}
window.add(scr);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.pack();
window.setResizable(false);
window.setVisible(true);
}
public static void main (String[] args){
screen S=new screen(1);
}
}
Edit (так как я не могу ответить из-за недостатка кармы):
@Makoto:
Это ошибки я получаю,
@Hovercraft Full Eels:
Я изменил для него петли но он дает мне те же ошибки.
@PradeepSimha: Посмотрите еще раз. Есть методы. Код находится в методах. Это просто не сразу видно. – Makoto
В коде нет ничего синтаксически неправильного. У вас есть сообщение об ошибке, которое вы получаете? Трудно понять, о чем вы говорите. – Makoto
@Makoto: логическая ошибка в создании нового JPanel и присвоении его переменной for-each. –