📄 mainframe.java~7~
字号:
package jcolordemo;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.*;public class MainFrame extends JFrame implements ChangeListener { private JPanel contentPane; private BorderLayout borderLayout1 = new BorderLayout(); private JPanel jPanel1 = new JPanel(); private JPanel jPanel2 = new JPanel(); private GridLayout gridLayout1 = new GridLayout(); private JSlider redSlider = new JSlider(); private JSlider greenSlider = new JSlider(); private JSlider blueSlider = new JSlider(); private JSlider alphaSlider = new JSlider(); private TitledBorder titledBorder1; private TitledBorder titledBorder2; private TitledBorder titledBorder3; private TitledBorder titledBorder4; private JLabel jLabel1 = new JLabel(); ColorCanvas canvas = new ColorCanvas(); //Construct the frame public MainFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(MainFrame.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); titledBorder1 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142)),"Red"); titledBorder2 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142)),"Green"); titledBorder3 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142)),"Blue"); titledBorder4 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142)),"Alpha"); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 300)); this.setTitle("JColorDemo"); jPanel2.setLayout(gridLayout1); gridLayout1.setColumns(2); gridLayout1.setHgap(5); gridLayout1.setRows(2); gridLayout1.setVgap(15); redSlider.setMaximum(255); redSlider.setBorder(titledBorder1); greenSlider.setMaximum(255); greenSlider.setBorder(titledBorder2); blueSlider.setMaximum(255); blueSlider.setBorder(titledBorder3); alphaSlider.setMaximum(255); alphaSlider.setPaintLabels(true); alphaSlider.setPaintTicks(true); alphaSlider.setBorder(titledBorder4); jLabel1.setHorizontalAlignment(SwingConstants.CENTER); jLabel1.setText("调色板程序演示"); contentPane.add(jPanel1, BorderLayout.CENTER); contentPane.add(jPanel2, BorderLayout.SOUTH); jPanel2.add(redSlider, null); jPanel2.add(greenSlider, null); jPanel2.add(blueSlider, null); jPanel2.add(alphaSlider, null); contentPane.add(jLabel1, BorderLayout.NORTH); this.jPanel1.add(this.canvas); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public void stateChanged(ChangeEvent e) { /**@todo Implement this javax.swing.event.ChangeListener method*/ //throw new java.lang.UnsupportedOperationException("Method stateChanged() not yet implemented."); JSlider slider = (JSlider)e.getSource(); if (slider == this.redSlider){ this.canvas.redValue = slider.getValue(); this.canvas.setBackgroundColor(); } } class ColorCanvas extends Canvas{ Color color; int redValue,greenValue,blueValue; int alphaValue=255; public ColorCanvas(){ this.setSize(300,300); this.color = new Color(0,0,0); this.setBackgroundColor(); } public void setBackgroundColor(){ this.color = new Color(this.redValue,this.greenValue,this.blueValue,this.alphaValue); this.setBackground(this.color); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -