返回列表 發帖
本帖最後由 蔡季樺 於 2018-5-6 13:33 編輯
  1. import java.awt.BorderLayout;
  2. import java.awt.EventQueue;

  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.border.EmptyBorder;
  6. import javax.swing.JSlider;
  7. import javax.swing.JLabel;
  8. import javax.swing.event.ChangeListener;
  9. import javax.swing.event.ChangeEvent;
  10. import java.awt.Color;


  11. public class Main extends JFrame {

  12.         private JPanel blue;
  13.         
  14.         /**
  15.          * Launch the application.
  16.          */
  17.         public static void main(String[] args) {
  18.                 EventQueue.invokeLater(new Runnable() {
  19.                         public void run() {
  20.                                 try {
  21.                                         Main frame = new Main();
  22.                                         frame.setVisible(true);
  23.                                 } catch (Exception e) {
  24.                                         e.printStackTrace();
  25.                                 }
  26.                         }
  27.                 });
  28.         }

  29.         /**
  30.          * Create the frame.
  31.          */
  32.         public Main() {
  33.                
  34.                         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  35.                 setBounds(100, 100, 450, 300);
  36.                 blue = new JPanel();
  37.                 blue.setBorder(new EmptyBorder(5, 5, 5, 5));
  38.                 setContentPane(blue);
  39.                 blue.setLayout(null);
  40.                
  41.                 JSlider b = new JSlider();
  42.                 b.setValue(0);
  43.                
  44.                 b.setMaximum(255);
  45.                 b.setBounds(10, 197, 200, 23);
  46.                 blue.add(b);
  47.                
  48.                 JLabel green = new JLabel("0");
  49.                 green.setForeground(Color.BLUE);
  50.                 green.setBounds(307, 205, 46, 15);
  51.                 blue.add(green);
  52.                
  53.                 JSlider g = new JSlider();
  54.                 g.setValue(0);
  55.                
  56.                 g.setMaximum(255);
  57.                 g.setBounds(10, 142, 200, 23);
  58.                 blue.add(g);
  59.                
  60.                 JLabel label2 = new JLabel("0");
  61.                 label2.setForeground(Color.GREEN);
  62.                 label2.setBounds(307, 150, 46, 15);
  63.                 blue.add(label2);
  64.                
  65.                 JSlider r = new JSlider();
  66.                 r.setValue(0);
  67.                
  68.                 r.setMaximum(255);
  69.                 r.setBounds(10, 95, 200, 23);
  70.                 blue.add(r);
  71.                
  72.                 JLabel red = new JLabel("0");
  73.                 red.setForeground(Color.RED);
  74.                 red.setBounds(307, 95, 46, 15);
  75.                 blue.add(red);
  76.                
  77.                 JPanel panel = new JPanel();
  78.                 panel.setBounds(183, 10, 67, 63);
  79.                 blue.add(panel);
  80.                 b.addChangeListener(new ChangeListener() {
  81.                         public void stateChanged(ChangeEvent arg0) {
  82.                                 green.setText(String.valueOf(b.getValue()));
  83.                                 Color color = new Color(r.getValue(),g.getValue(),b.getValue());
  84.                                 panel.setBackground(color);
  85.                         }
  86.                 });
  87.                 g.addChangeListener(new ChangeListener() {
  88.                         public void stateChanged(ChangeEvent arg0) {
  89.                                 label2.setText(String .valueOf(g.getValue()));
  90.                                 Color color = new Color(r.getValue(),g.getValue(),b.getValue());
  91.                                 panel.setBackground(color);
  92.                         }
  93.                 });
  94.                 r.addChangeListener(new ChangeListener() {
  95.                         public void stateChanged(ChangeEvent arg0) {
  96.                                 red.setText(String .valueOf(r.getValue()));
  97.                                 Color color = new Color(r.getValue(),g.getValue(),b.getValue());
  98.                                 panel.setBackground(color);
  99.                         }
  100.                 });
  101.         }
  102. }
複製代碼
提醒大家
Jlabel & Jframe
無法設定背景
(需用Jpanel)

TOP

返回列表