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();
}
'IT_Programming > Java' 카테고리의 다른 글
Handling Uncaught Exeptions (0) | 2010.11.30 |
---|---|
[펌] UncaughtExceptionHandler에 대해서 .. (0) | 2010.11.30 |
JMF 비디오 크기 조정 (0) | 2010.11.29 |
[펌] 리플렉션 API를 사용하여 동적으로 교체 가능한 코드 작성하기 (0) | 2010.11.19 |
파일 복사하는 소스코드 (0) | 2010.11.19 |