来自不同 class 的 JPanel 的彩色背景?
Colour background of JPanel from different class?
尝试使用变量从不同的 class 更改我的 JPanel 的背景颜色。为什么这给我一个错误? (真的是 java 的新手,抱歉...)
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);
}
}
我的主要 class 这样做:
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 cannot be resolved to a field'。我知道这意味着它不明白 col 在那里做什么,但这正是我感到困惑的地方,因为我已经将它声明为一种颜色...
您引用了从构造函数中获取的变量。
只需将 jpanel.setBackground(Color.col);
更改为:
jpanel.setBackground(col);
尝试使用变量从不同的 class 更改我的 JPanel 的背景颜色。为什么这给我一个错误? (真的是 java 的新手,抱歉...)
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);
}
}
我的主要 class 这样做:
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 cannot be resolved to a field'。我知道这意味着它不明白 col 在那里做什么,但这正是我感到困惑的地方,因为我已经将它声明为一种颜色...
您引用了从构造函数中获取的变量。
只需将 jpanel.setBackground(Color.col);
更改为:
jpanel.setBackground(col);