Java利用Swing包创建一个窗口,窗口位置为(220,160)、大小为320×240,并在窗口(20,80)、(120,80)、(220,80)处各设置一个按钮,分别命名为红色、绿色、蓝色且按钮背景为对应颜色,按钮大小为80×40。点击左按钮将窗口背景的红色分量增加10,点击中间按钮将窗口背景的绿色分量增加10,点击右按钮将窗口背景的蓝色分量增加10,上述三种分量大于255时变成0,下面面板的颜色同步改变,点击窗口关闭按钮时退出程序运行。
时间: 2024-03-27 11:38:29 浏览: 56
好的,我来为您提供Java Swing代码实现窗口和按钮的创建及颜色的控制:
``` java
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MyFrame extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel panel;
private JButton redButton, greenButton, blueButton;
private int red, green, blue;
public MyFrame() {
setTitle("颜色控制器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPreferredSize(new Dimension(320, 240));
setLocation(220, 160);
panel = new JPanel();
panel.setBackground(new Color(red, green, blue));
getContentPane().add(panel);
redButton = new JButton("红色");
redButton.addActionListener(this);
greenButton = new JButton("绿色");
greenButton.addActionListener(this);
blueButton = new JButton("蓝色");
blueButton.addActionListener(this);
panel.add(redButton);
panel.add(greenButton);
panel.add(blueButton);
pack();
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == redButton) {
red = (red + 10) % 256;
} else if (e.getSource() == greenButton) {
green = (green + 10) % 256;
} else if (e.getSource() == blueButton) {
blue = (blue + 10) % 256;
}
panel.setBackground(new Color(red, green, blue));
}
public static void main(String[] args) {
new MyFrame();
}
}
```
在上述代码中,我们继承了JFrame类,并实现了ActionListener接口,用于处理按钮的点击事件。我们使用JPanel作为窗口的内容面板,并在面板上添加了三个按钮。点击按钮时,我们根据按钮的不同分别对红、绿、蓝三色分量进行增加10的操作,并用Color类创建新的颜色对象并设置为面板的背景色,从而实现了颜色的控制。
阅读全文