java - 如何更改 Java 小程序的背景颜色?

标签 java swing applet colors

问候,

到目前为止,我的代码已编译,但它从白色变为黑色,然后不想更改。 假设它应该从红色->橙色->绿色->粉色->蓝色->黑色改变..

public void init() {
    c=new Color[] {Color.red, Color.orange, Color.green, 
                   Color.pink, Color.blue, Color.black };
    btnNext = new Button("Next Color");
    btnNext.addActionListener(this);
    setLayout(new BorderLayout());
    add(btnNext, BorderLayout.SOUTH);
}

public void paint(Graphics g) { }

public void actionPerformed(ActionEvent e) {
    if(e.getSource() == btnNext) {
        for(int n=0;n<6;n++) {
            setBackground(c[n]);
        }
    repaint();
    }
}

感谢您的帮助。

最佳答案

您需要做的是保留数组中当前位置的 int 成员变量。然后每次单击按钮时都会增加该位置。

// New int keeping track of background pos
private int arrPos;

public void init() {
    c=new Color[] {Color.red, Color.orange, Color.green, 
                   Color.pink, Color.blue, Color.black };
    // initialize the int
    arrPos = 0;
    btnNext = new Button("Next Color");
    btnNext.addActionListener(this);
    setLayout(new BorderLayout());
    add(btnNext, BorderLayout.SOUTH);
}

public void paint(Graphics g) { }

public void actionPerformed(ActionEvent e) {
    if(e.getSource() == btnNext) {
        // increment the background
        arrPos++;
        if (arrPos >= c.length) arrPos = 0;
        setBackground(c[arrPos]);
        repaint();
    }
}

关于java - 如何更改 Java 小程序的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154003/

相关文章:

java - 如何在Spring java中设置存储库?

java - Android 对话框 wrap_content 不工作

java - 如何调整 JTextField 的大小?

java - 无法在分配了 ToolTipText 的选项卡之间切换 (JTabbedPane)

java - 如何防止 AppletClassLoader 在查找类/其他资源时命中服务器?

java - Java中构造函数的调用

用于从数据库中选择记录并用作双变量的 Java SQL 语句

java - 在 Java Swing 中创建 "Tips on StartUp"

java - JApplet 和 JDialog

java - 2 个 Web 应用程序中的两个小程序访问相同的 DLL