首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

JAVA实例 十九) 多媒体与图像处理

2012-10-10 
JAVA范例 十九) 多媒体与图像处理a多媒体 实例349 测试音频播放器 实例350 测试视频播放器 实例352 实现一

JAVA范例 十九) 多媒体与图像处理
a多媒体

实例349 测试音频播放器



实例350 测试视频播放器


实例352 实现一个录音机


实例353 建立一个调色板

import java.awt.BorderLayout;import java.awt.Canvas;import java.awt.Color;import java.awt.Dimension;import java.awt.GridLayout;import javax.swing.BorderFactory;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JSlider;import javax.swing.SwingConstants;import javax.swing.border.TitledBorder;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;public class CPalette extends JFrame implements ChangeListener {    private JPanel contendtPane;    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();// 调节Alpha值    private TitledBorder titledBorder1;    private TitledBorder titledBorder2;    private TitledBorder titledBorder3;    private TitledBorder titledBorder4;    private JLabel jLabel = new JLabel();    ColorCanvas canvas = new ColorCanvas();// 创建ColorCanvas的实例    private BorderLayout borderLayout2 = new BorderLayout();    public void initial() throws Exception {        contendtPane = (JPanel) this.getContentPane();        // 各个JSlider对象的标题边界        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");        contendtPane.setLayout(borderLayout1);        this.setSize(new Dimension(401, 317));        this.setTitle("JColorDemo");        // jPanel2的布局结构设置        jPanel2.setLayout(gridLayout1);        gridLayout1.setColumns(2);        gridLayout1.setHgap(5);        gridLayout1.setRows(2);        gridLayout1.setVgap(5);        // 设置各个JSlider对象的基本属性        redSlider.setMaximum(255);// 最大色彩值        redSlider.setPaintLabels(true);// 绘制标签        redSlider.setPaintTicks(true);// 绘制移动块        redSlider.setBorder(titledBorder1);// 设置边界        greenSlider.setMaximum(255);        greenSlider.setPaintLabels(true);        greenSlider.setPaintTicks(true);        greenSlider.setBorder(titledBorder2);        blueSlider.setMaximum(255);        blueSlider.setPaintLabels(true);        blueSlider.setPaintTicks(true);        blueSlider.setBorder(titledBorder3);        alphaSlider.setMaximum(255);        alphaSlider.setPaintLabels(true);        alphaSlider.setPaintTicks(true);        alphaSlider.setBorder(titledBorder4);        jLabel.setHorizontalAlignment(SwingConstants.CENTER);        jLabel.setText("调色板程序演示");        jPanel1.setLayout(borderLayout2);        contendtPane.add(jPanel1, BorderLayout.CENTER);        contendtPane.add(jPanel2, BorderLayout.SOUTH);        jPanel2.add(redSlider, null);        jPanel2.add(greenSlider, null);        jPanel2.add(blueSlider, null);        jPanel2.add(alphaSlider, null);        contendtPane.add(jLabel, BorderLayout.NORTH);        // 添加各个JSlider对象的事件监听器        this.redSlider.addChangeListener(this);        this.greenSlider.addChangeListener(this);        this.blueSlider.addChangeListener(this);        this.alphaSlider.addChangeListener(this);        // jPanel1上添加canvas对象,用来显示当前的颜色        this.jPanel1.add(this.canvas);        this.setVisible(true);    }    public void stateChanged(ChangeEvent e) {        JSlider slider = (JSlider) e.getSource();        // 根据JSlider对象的改变后的值,改变canvas对象的各色彩值,并重新设置canvas的背景色        if (slider == this.redSlider) {            this.canvas.redValue = slider.getValue();            this.canvas.setBackgroudnColor();        } else if (slider == this.greenSlider) {            this.canvas.greenValue = slider.getValue();            this.canvas.setBackgroudnColor();        } else if (slider == this.blueSlider) {            this.canvas.blueValue = slider.getValue();            this.canvas.setBackgroudnColor();        } else if (slider == this.alphaSlider) {            this.canvas.alphaValue = slider.getValue();            this.canvas.setBackgroudnColor();        }        // 更新canvas对象的背景色,显示颜色值改变后的颜色        this.canvas.repaint();    }    public static void main(String args[]) throws Exception {        new CPalette().initial();    }}class ColorCanvas extends Canvas {    Color color;// 各颜色值形成的颜色    int redValue, greenValue, blueValue;// 各颜色值    int alphaValue = 255;    public ColorCanvas() {        this.color = new Color(0, 0, 0);// 初始颜色        this.setBackgroudnColor();// 设置初始的背景色    }    // 该方法根据各颜色值,来设置canvas对象的背景色    public void setBackgroudnColor() {        this.color = new Color(this.redValue, this.greenValue, this.blueValue,                this.alphaValue);        this.setBackground(this.color);    }} 

热点排行