Попытка изменить цвет фона моего JPanel из другого класса с использованием переменной. Почему это дает мне ошибку? (На самом деле новый для Явы, извините ...)Цвет фона JPanel от другого класса?
import java.awt.Color;
import javax.swing.*;
public class window {
public window(int x, int y, boolean isVisible, boolean isResizable, Color col){
JFrame jframe = new JFrame();
int xSize = x;
int ySize = y;
jframe.setSize(xSize, ySize);
jframe.setVisible(isVisible);
jframe.setResizable(isResizable);
JPanel jpanel = new JPanel();
jframe.add(jpanel);
jpanel.setSize(xSize - 100, ySize - 100);
jpanel.setOpaque(true);
jpanel.setBackground(Color.col);
jpanel.setVisible(true);
}
}
Мой главный класс делает это:
import java.awt.Color;
public class design {
public static void main(String[] args) {
window window1 = new window(400, 200, true, true, Color.green);
window window2 = new window(1000, 720, true, true, Color.red);
}
}
Ошибка это дает мне это «Col не может быть решен в поле». Что я знаю, это означает, что он не понимает, что делает col, но это то, что меня смущает, потому что я объявил его как цвет ...
Спасибо, это сработало, я понимаю, как хорошо. Я приму ответ, когда таймер закончится, вы были слишком быстры;). Просто из любопытства, что вы думаете о моем коде? Я правильно и эффективно использую классы? – Cutter
Сначала в соответствии с соглашениями Java вы должны назвать класс с большой буквы ('Window'). Тогда класс 'Window' должен« расширять JFrame »или, по крайней мере, иметь его как частное поле, доступное с помощью геттеров/сеттеров. Нет общего способа написания кода, поэтому вы должны попробовать его сами и получить опыт работы с практикой :) –
Хорошо, да, мои проблемы с капиталами, потому что я знал это ... Почему класс окна расширяется JFrame ? Разве это уже не часть его, потому что она импортирована? – Cutter