用Java编写小程序(包含组合框下拉和文本框)变换背景颜色

如何用Java语言编写一个左边为组合框(有红绿蓝黄4种颜色),右边是一个文本框,当在组合框内下拉选中其中的颜色就会变换成右边文本框的背景颜色的小程序(求源码,急,拜托各路大神)

代码如下:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.HashMap;
import java.util.Map;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class App extends JFrame {

private JComboBox<String> cbxColors;

private JTextField txtName;

private Map<String, Color> colorMap;

public App() {

this.setSize(300, 100);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());

colorMap = new HashMap<>();
colorMap.put("红", Color.RED);
colorMap.put("绿", Color.GREEN);
colorMap.put("蓝", Color.BLUE);
colorMap.put("黄", Color.YELLOW);


cbxColors = new JComboBox(colorMap.keySet().toArray());
cbxColors.setPreferredSize(new Dimension(50, 23));
cbxColors.addItemListener(e -> {
Color color = colorMap.get(e.getItem());
txtName.setBackground(color);
});
this.add(cbxColors);

txtName = new JTextField();
txtName.setPreferredSize(new Dimension(100, 23));
txtName.setBackground(Color.RED);
this.add(txtName);
}

public static void main(String[] args) {
new App().setVisible(true);
}
}

运行结果:

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答