如何制作换色窗口?

时间:2013-04-14 02:12:15

标签: java swing

好的,所以我在完成家庭作业时遇到了麻烦。我正在尝试创建一个显示所选颜色的窗口,然后在它下面有一个组合框,里面有各种颜色。但我不知道从哪里开始。 我不能在这里发布它的图像,因为我的代表点太低了。所以我会在这里画一个小图片。

-----------------
 --------------
||             ||
||             ||
||             ||
 --------------
-----------------
      [GREEN]^

任何人都可以帮助我吗?

好的尝试从我所阅读的内容开始研究并提出这个问题,但它并没有达到我想要的目的。我得到了组合框,但颜色没有像我想的那样显示。任何人都可以帮忙吗?

import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;

    class Colors extends JFrame implements ItemListener

    {
    Choice chooseColor = new Choice();
    Label lblQts = new Label("Choose color you like : ");

    public Colors(String title)
    {
    super(title);
    setLayout(new FlowLayout());
    chooseColor.addItem("red");
    chooseColor.addItem("green");
    chooseColor.addItem("blue");

    add(lblQts);
    add(chooseColor);

    chooseColor.addItemListener(this);
    }   

    public void itemStateChanged(ItemEvent e)
    {   
    String c;
    Color color;
    c = chooseColor.getSelectedItem();
    color=Color.getColor(c);


    setBackground(color);
    }


    }

public static void main(String[] args)
    {


        Colors objColor = new Colors("Color Chooser");
        objColor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        objColor.setSize(400,400);
        objColor.setVisible(true);


    }

1 个答案:

答案 0 :(得分:2)

首先阅读How to Use Combo Boxes上的Swing教程中的部分。您可以将Color对象添加到组合框,然后创建自定义渲染器以显示颜色。

然后您可以将ActionListener添加到组合框中。本教程还有一个关于"How to Write an Action Listener"的部分。当侦听器触发时,您可以使用所选颜色更改组件的背景。