本帖最後由 蔡庭豪 於 2018-5-12 10:25 編輯
- package bbs.istak.org.tw;
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.GroupLayout;
- import javax.swing.GroupLayout.Alignment;
- import javax.swing.JLabel;
- import javax.swing.JSlider;
- import javax.swing.event.ChangeListener;
- import javax.swing.event.ChangeEvent;
- import java.awt.Color;
- public class RGB extends JFrame {
- private JPanel contentPane;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- RGB frame = new RGB();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public RGB() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 450, 300);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
-
- JLabel lblRed = new JLabel("red");
- lblRed.setForeground(Color.RED);
- lblRed.setBounds(10, 192, 21, 15);
- contentPane.add(lblRed);
-
- JLabel lblGreen = new JLabel("green");
- lblGreen.setForeground(Color.GREEN);
- lblGreen.setBounds(10, 215, 36, 15);
- contentPane.add(lblGreen);
-
- JLabel lblBlue = new JLabel("blue");
- lblBlue.setForeground(Color.BLUE);
- lblBlue.setBounds(10, 237, 21, 15);
- contentPane.add(lblBlue);
-
- JLabel gl = new JLabel();
- gl.setText("0");
- gl.setBounds(403, 207, 21, 23);
- contentPane.add(gl);
-
- JLabel bl = new JLabel();
- bl.setText("0");
- bl.setBounds(403, 229, 21, 23);
- contentPane.add(bl);
-
- JLabel rl = new JLabel();
- rl.setText("0");
- rl.setBounds(403, 184, 21, 23);
- contentPane.add(rl);
-
- JSlider sliderred = new JSlider();
-
- sliderred.setValue(0);
- sliderred.setMaximum(255);
- sliderred.setBounds(56, 184, 343, 23);
- contentPane.add(sliderred);
-
- JSlider slidergreen = new JSlider();
-
- slidergreen.setValue(0);
- slidergreen.setMaximum(255);
- slidergreen.setBounds(56, 207, 343, 23);
- contentPane.add(slidergreen);
-
- JSlider sliderblue = new JSlider();
- sliderblue.setValue(0);
- sliderblue.setMaximum(255);
- sliderblue.setBounds(56, 229, 343, 23);
- contentPane.add(sliderblue);
-
- JPanel panel = new JPanel();
- panel.setBounds(10, 10, 414, 172);
- contentPane.add(panel);
-
- sliderblue.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent arg0) {
-
- bl.setText(String.valueOf(sliderblue.getValue()));
- Color color = new Color(sliderred.getValue(), slidergreen.getValue(),sliderblue.getValue());
- panel.setBackground(color);
- }
- });
- slidergreen.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent arg0) {
- gl.setText(String.valueOf(slidergreen.getValue()));
- Color color = new Color(sliderred.getValue(), slidergreen.getValue(),sliderblue.getValue());
- panel.setBackground(color);
- }
- });
- sliderred.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- Color color = new Color(sliderred.getValue(), slidergreen.getValue(),sliderblue.getValue());
- panel.setBackground(color);
- }
- });
- }
- }
複製代碼 |