playerpane.java

来自「JMF制作的截取音频文件代码 运行SecFrame.java」· Java 代码 · 共 67 行

JAVA
67
字号
package ui;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import javax.media.Player;
import javax.media.Processor;
import javax.swing.JPanel;

public class PlayerPane extends JPanel {

    public static final long serialVersionUID = 1L;
    private Player player = null;
    private Dimension size = new Dimension(0, 0);

    public PlayerPane(Player p) {
        player = p;
        initComponent();
    }

    public PlayerPane(Processor p) {
//		DataSource source = p.getDataOutput();
//
//		System.out.println(source.getContentType().toString());
//		try {
//			player = Manager.createRealizedPlayer(source);
//		} catch (NoPlayerException e) {
//			e.printStackTrace();
//		} catch (CannotRealizeException e) {
//			e.printStackTrace();
//		} catch (IOException e) {
//			e.printStackTrace();
//		}

        player = (Player) p;
        initComponent();
    }

    private void initComponent() {
        this.setLayout(new BorderLayout());
        // this.setOpaque(true);


        if (player != null) {
            Component comp = null;
            if ((comp = player.getVisualComponent()) != null) {
                this.add(comp, BorderLayout.CENTER);


                size.height += comp.getHeight();
                size.width += comp.getWidth();
            }
            if ((comp = player.getControlPanelComponent()) != null) {
                this.add(comp, BorderLayout.PAGE_END);


                // Dimension d = comp.getSize();
                size.height += comp.getHeight();
            }
        }
    }

    public Dimension getPrefrredSize() {
        return size;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?