-1

好的,所以我的家庭作业有问题。我正在尝试创建一个显示所选颜色的窗口,然后在其下方有一个组合框,其中包含各种颜色。但我不知道从哪里开始。我不能在这里发布它的图像,因为我的代表点太低了。所以我会在这里画一个小图。

-----------------
 --------------
||             ||
||             ||
||             ||
 --------------
-----------------
      [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);


    }
4

1 回答 1

2

首先阅读 Swing 教程中关于如何使用组合框的部分。您可以将 Color 对象添加到组合框,然后创建自定义渲染器来显示颜色。

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

于 2013-04-14T02:23:27.047 回答