วันศุกร์ที่ 15 มีนาคม พ.ศ. 2556

MediaPlayerDemo(LAB9-1)-Headlines(LAB9-2)


MediaPlayerDemo(LAB9-1)




import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.media.*;

public class MediaPlayerDemo extends JFrame{
    private Player player;
    private File file;

    public MediaPlayerDemo ()
    {
        super("Demonstring the Java Media Player");

        JButton openFile=new JButton("Open file to play");
        openFile.addActionListener(
            new ActionListener (){
            public void actionPerformed(ActionEvent e)
                {
                openFile();
                createPlayer();
                }
            }
        );
        getContentPane().add(openFile,BorderLayout.NORTH);

        setSize(300,300);
        show();
}
private void openFile()

{
        JFileChooser fileChooser=new JFileChooser();

        fileChooser.setFileSelectionMode(
            JFileChooser.FILES_ONLY);

        int result=fileChooser.showOpenDialog(this);

       
        if(result==JFileChooser.CANCEL_OPTION)
            file=null;
        else
            file=fileChooser.getSelectedFile();
    }

    private void createPlayer()
        {
        if(file==null)
            return;

        removePreviousPlayer();

        try{

            player=Manager.createPlayer(file.toURL());
            player.addControllerListener(new EventHandler());
            player.start();
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(this,
                "Invalid file or location","Error loading file",
                JOptionPane.ERROR_MESSAGE);
            }
    }

    private void removePreviousPlayer()
    {
        if(player==null)
            return;

        player.close();

        Component visual=player.getVisualComponent();
        Component control=player.getControlPanelComponent();

        Container c=getContentPane();

        if(visual !=null)
            c.remove(visual);

        if(control !=null)
            c.remove(control);
    }

    public static void main (String[]args){

        MediaPlayerDemo app=new MediaPlayerDemo();

        app.addWindowListener(
            new WindowAdapter(){
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
        }
    );
}
   
    private class EventHandler implements ControllerListener{
        public void controllerUpdate(ControllerEvent e){
            if (e instanceof RealizeCompleteEvent){

                Container c=getContentPane();
                Component visualComponent=
                    player.getVisualComponent();
                if(visualComponent !=null)

                    c.add(visualComponent,BorderLayout.CENTER);
                Component controlsComponent=
                    player.getControlPanelComponent();
                if(controlsComponent !=null)

                    c.add(controlsComponent,BorderLayout.SOUTH);
                c.doLayout();
            }
        }
    }
}








Headlines(LAB9-2) 


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class Headlines extends JFrame{
    HeadlInePanel news=new HeadlInePanel();

    public Headlines(){
        super("Headlines");
        setSize(800,100);
        JPanel pane=new JPanel();
        pane.setLayout(new GridLayout(1,1,15,15));
        pane.add(news);
        setContentPane(pane);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        show();
        news.scroll();
    }
    public static void main(String[]args){
        Headlines head=new Headlines();
    }
}


class HeadlInePanel extends JPanel{
    String[]headlInes={
        "นางนวลเจ้าเอย ทะเลกว้างใหญ่ เห็นเพียงแต่ขอบฟ้าไกล",
        "ตัวเจ้าก็คงยังบินมุ่งไปอาจจะเหนื่อยแต่ความหวังยังมี",
        "นางเอยเจ้าเอย เจ้าบินเรื่อยไป เหมือนดังว่าใจรู้ดี",
        "จุดหมายในใจเจ้าคงต้องมี ห่างจากตรงนี้ไปอีกไกล"
    };
    int y=76;

    void scroll(){
        while(true){
            y=y-1;
            if(y<-75)
                y=76;
            repaint();
            try{
                Thread.sleep(200);
            }catch(InterruptedException e){}
        }
    }
    public void paintComponent(Graphics comp){
        Graphics2D comp2D=(Graphics2D)comp;
        Font type=new Font("monospaces",Font.BOLD,14);
        comp2D.setFont(type);
        comp2D.setColor(getBackground());
        comp2D.fillRect(0,0,getSize().width,getSize().height);
        comp2D.setColor(Color.black);
        for(int i=0; i < headlInes.length;i++)
            comp2D.drawString(headlInes[i],5,y+(20*i));
    }
}








ไม่มีความคิดเห็น:

แสดงความคิดเห็น