JPanel的颜色背景来自不同的类?

时间:2016-09-23 14:37:11

标签: java swing jframe jpanel

尝试使用变量从不同的类更改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);

    }

}

我的主要课程是这样做的:

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在那里做什么,但这是我所困惑的,因为我已经宣布它是一种颜色......

1 个答案:

答案 0 :(得分:4)

您可以从构造函数中引用变量get。

只需将jpanel.setBackground(Color.col);更改为:

即可
jpanel.setBackground(col);