java applet에서 재생되는 동영상에 동적으로 문자열을 표시하는 방법
java applet에서 재생되는 동영상에 동적으로 문자열을 표시하는 구체적인 방법입니다.
javax.media.Player가 heavy-weight Component 라서 항상 맨 앞면에 표시되기 때문에
light-weight Component로 하면 안됩니다.
JMF 코드 입니다.
1. Panel을 JLayeredPane에 추가합니다.
panel = new Panel();
panel.setLayout( null );
add(panel);
String string = new String("PKTK");
label = new JLabel (string, JLabel.CENTER);
label.setFont (small);
label.setForeground (Color.BLUE);
panel = new JLayeredPane ();
panel.setLayout (null);
panel.setBounds (0, 0, x, y);
2. Player도 이와 같이 변경합니다.
player = Manager.createPlayer(mrl);
3. Manager도 구성해야 합니다.
Manager.createRealizedPlayer에서 Player를 만들어야 재생할 수 있습니다.
Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, new Boolean(true));
Manager.setHint(Manager.PLUGIN_PLAYER, new Boolean(true));
player = Manager.createRealizedPlayer(mrl);
4. Player를 이렇게 JLayeredPane 구성 요소를 추가하여 애플릿 add합니다.
player.addControllerListener(this);
player.getVisualComponent (). setBounds (0, 0, 214, 120);
panel.add(label);
panel.add(player.getVisualComponent());
panel.moveToFront(label);
add(player.getControlPanelComponent(), BorderLayout.NORTH);
add(panel, BorderLayout.CENTER);
setVisible (true);
5. 문자열을 이동하려면 Applet를 선언할 때 implements Runnable을 추가하여 run 메서드를
오버라이딩 합니다.
public void run () {
label.setBounds( x , y , w , h );
repaint();
}