本帖最後由 蔡季樺 於 2018-5-6 13:33 編輯
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.JSlider;
- import javax.swing.JLabel;
- import javax.swing.event.ChangeListener;
- import javax.swing.event.ChangeEvent;
- import java.awt.Color;
- public class Main extends JFrame {
- private JPanel blue;
-
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- Main frame = new Main();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public Main() {
-
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 450, 300);
- blue = new JPanel();
- blue.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(blue);
- blue.setLayout(null);
-
- JSlider b = new JSlider();
- b.setValue(0);
-
- b.setMaximum(255);
- b.setBounds(10, 197, 200, 23);
- blue.add(b);
-
- JLabel green = new JLabel("0");
- green.setForeground(Color.BLUE);
- green.setBounds(307, 205, 46, 15);
- blue.add(green);
-
- JSlider g = new JSlider();
- g.setValue(0);
-
- g.setMaximum(255);
- g.setBounds(10, 142, 200, 23);
- blue.add(g);
-
- JLabel label2 = new JLabel("0");
- label2.setForeground(Color.GREEN);
- label2.setBounds(307, 150, 46, 15);
- blue.add(label2);
-
- JSlider r = new JSlider();
- r.setValue(0);
-
- r.setMaximum(255);
- r.setBounds(10, 95, 200, 23);
- blue.add(r);
-
- JLabel red = new JLabel("0");
- red.setForeground(Color.RED);
- red.setBounds(307, 95, 46, 15);
- blue.add(red);
-
- JPanel panel = new JPanel();
- panel.setBounds(183, 10, 67, 63);
- blue.add(panel);
- b.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent arg0) {
- green.setText(String.valueOf(b.getValue()));
- Color color = new Color(r.getValue(),g.getValue(),b.getValue());
- panel.setBackground(color);
- }
- });
- g.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent arg0) {
- label2.setText(String .valueOf(g.getValue()));
- Color color = new Color(r.getValue(),g.getValue(),b.getValue());
- panel.setBackground(color);
- }
- });
- r.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent arg0) {
- red.setText(String .valueOf(r.getValue()));
- Color color = new Color(r.getValue(),g.getValue(),b.getValue());
- panel.setBackground(color);
- }
- });
- }
- }
複製代碼 提醒大家
Jlabel & Jframe
無法設定背景
(需用Jpanel) |