好的,所以我在完成家庭作业时遇到了麻烦。我正在尝试创建一个显示所选颜色的窗口,然后在它下面有一个组合框,里面有各种颜色。但我不知道从哪里开始。 我不能在这里发布它的图像,因为我的代表点太低了。所以我会在这里画一个小图片。
-----------------
--------------
|| ||
|| ||
|| ||
--------------
-----------------
[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);
}
答案 0 :(得分:2)
首先阅读How to Use Combo Boxes上的Swing教程中的部分。您可以将Color对象添加到组合框,然后创建自定义渲染器以显示颜色。
然后您可以将ActionListener添加到组合框中。本教程还有一个关于"How to Write an Action Listener"
的部分。当侦听器触发时,您可以使用所选颜色更改组件的背景。