⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webplayer.java

📁 显示图片的java applet源码,可以解决用applet图片的现实问题.-showed pictures of java applet can solve web Photo reality.
💻 JAVA
字号:
package webPlayer;


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;


public class WebPlayer extends JApplet implements Runnable 
{
    private static final long  serialVersionUID = 345678L;

    private javax.swing.JPanel jContentPanel    = null;
    private javax.swing.JPanel jPanelNorth      = null;
    private javax.swing.JPanel jPanelSouth      = null;
    private javax.swing.JPanel jPanelEast       = null;
    private javax.swing.JPanel jPanelWest       = null;
    private javax.swing.JPanel jPanelCenter     = null;
    private javax.swing.JPanel jPanelPlay       = null;
    private javax.swing.JLabel labelNorth       = null;
    private javax.swing.JLabel labelSouth       = null;
    private javax.swing.JLabel labelEast        = null;
    private javax.swing.JLabel labelWest        = null;
    // private javax.swing.JLabel labelCenter = null ;
    private MyJButton          playButton       = null;
    private boolean            Selected         = true;
    private boolean            runPlay         = true;
    static  Thread            startPlay ;
    // int i = 1;
    int                        index            = 0;

    public void init()
    {
        this.setContentPane(getJContentPanel());
        this.setSize(166, 230);

    }


    private javax.swing.JPanel getJContentPanel()
    {

        Color playColor = new Color(100, 100, 100);
        Font playFont = new Font("default", Font.BOLD, 10);

        if (jContentPanel == null)
        {
            jContentPanel = new javax.swing.JPanel();

            jContentPanel.setLayout(new BorderLayout());

            jContentPanel.setBackground(java.awt.Color.WHITE);

            // 将applet的总范围设置为broderlayout,构成播放器的大体结构

            if (jPanelNorth == null)
            {

                javax.swing.JPanel jPanelNorth = new javax.swing.JPanel(new GridLayout(1, 0, 0, 0));

                ImageIcon imgNorth = new ImageIcon("north.jpg");

                if (labelNorth == null)
                {
                    JLabel labelNorth = new JLabel(imgNorth, JLabel.CENTER); // 在label里面加入图片

                    jPanelNorth.add(labelNorth, null);// 将有图片的label放进上部分的jpanel

                }
                jContentPanel.add(jPanelNorth, BorderLayout.NORTH); // 上部分的jpanel放入整个borderlayout布局中

            }

            if (jPanelSouth == null)
            {
                javax.swing.JPanel jPanelSouth = new javax.swing.JPanel(new GridLayout(2, 0, 0, 0));
                // 将加入borderlayout.south的jpanel分成两列
                Icon imgSouth = new ImageIcon("south.jpg");
                if (labelSouth == null)
                {
                    JLabel labelSouth = new JLabel(imgSouth, JLabel.CENTER);
                    jPanelSouth.add(labelSouth, null);// 将带标签的图像放入第一列

                    if (jPanelPlay == null)
                    {
                        javax.swing.JPanel jPanelPlay = new javax.swing.JPanel(new GridLayout(1, 1, 0, 0));
                        // 将放入jpanelsouth第二列的jpanelplay分成两格,这里用
                        // gridlayout也很重要,避免了第一列的图像与其它模块产生缝隙

                        // jPanelPlay.setLayout(null);

                        jPanelPlay.add(playButton = new MyJButton("PLAY", playColor, playFont), null);
                        jPanelPlay.add(playButton = new MyJButton("STOP", playColor, playFont), null);
                        jPanelSouth.add(jPanelPlay, null);
                    }

                    // jPanelSouth.add(playButton = new
                    // MyJButton("play",playColor,playFont ),null);

                }
                jContentPanel.add(jPanelSouth, BorderLayout.SOUTH);

            }

            if (jPanelWest == null)
            {
                javax.swing.JPanel jPanelWest = new javax.swing.JPanel(new GridLayout(1, 0, 0, 0));

                Icon imgWest = new ImageIcon("west.jpg");
                if (labelWest == null)
                {
                    JLabel labelWest = new JLabel(imgWest, JLabel.LEFT);
                    jPanelWest.add(labelWest, null);
                }
                jContentPanel.add(jPanelWest, BorderLayout.WEST);

            }

            if (jPanelEast == null)
            {
                javax.swing.JPanel jPanelEast = new javax.swing.JPanel( new GridLayout(1, 0, 0, 0));
                Icon imgEast = new ImageIcon("east.jpg");
                if (labelEast == null)
                {
                    JLabel labelEast = new JLabel(imgEast, JLabel.RIGHT);
                    jPanelEast.add(labelEast, BorderLayout.NORTH);

                }
                jContentPanel.add(jPanelEast, BorderLayout.EAST);

            }

            /*
             * if(jPanelCenter == null ) {
             * 
             * String image =new String(); switch (i) { case 1: image = "1.jpg";
             * break; case 2: image = "2.jpg"; break; case 3: image = "3.jpg";
             * break; case 4: image = "4.jpg"; break; case 5: image = "5.jpg";
             * break; default: break; }
             * 
             * 
             * 
             * javax.swing.JPanel jPanelCenter = new javax.swing.JPanel(); Icon
             * imgCenter=new ImageIcon(image); if (labelCenter == null) { JLabel
             * labelCenter=new JLabel(imgCenter,JLabel.CENTER);
             * jPanelCenter.add(labelCenter,BorderLayout.CENTER);
             * 
             * 
             * 
             *  } jContentPanel.add(jPanelCenter, BorderLayout.CENTER);
             * 
             *  }
             */

            if (jPanelCenter == null)
            {
                jPanelCenter = new JCenterPanel();// 这个体现了调用方法的作用,先实例化一个对应类的变量
                jContentPanel.add(jPanelCenter, BorderLayout.CENTER);// 调用drawimage的主动画界面
            }

        }
        return jContentPanel;

    }
    
    
   //add new thread 
    public  void startPlay ()
    {
    runPlay = true ;
    Thread	thread = new Thread(this);
     thread.start();
    }
    
    
    
    

    //addIndex methond
    public void run()
    {  
      while (runPlay)
      {	
//          index++;
//        System.out.println(index);
        jPanelCenter.repaint();
        try {Thread.sleep(100);}
        catch (InterruptedException e) {
			// TODO: handle exception
        	}
      } 
    }
    
    
    //
    public void cleanIndex()
    {
    	runPlay = false ;
        index = 0;
        jPanelCenter.repaint();
    }


//主要的面板布局实现
public class JCenterPanel extends JPanel
{

    Image[] img = new Image[10];

    public JCenterPanel()
    {

        try
        {
            for (int i = 0; i < 10; i++)
            {
                img[i] = getImage(getCodeBase(), (i+1)  + ".jpg");
            }

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        // if (img[index] == null ) return;

        index = (index+1) % 10;
        g.drawImage(img[index], 0, 0, this);

    }

    public void playClick()
    {

       startPlay();

    }

    public void stopClick()
    {
        cleanIndex();

    }
}

// 实现中间的动画转换

public class MyJButton extends JButton
{

    Timer mouseTimer = null;

    public MyJButton(String pTitle, Color pBk, java.awt.Font pFont)
    {

        this.setText(pTitle);
        this.setBackground(pBk);
        this.setFont(pFont);
        this.addMouseListener(new MouseAdapter()
        {
            public void mouseClicked(MouseEvent e)
            {
                if (e.getClickCount() == 1)
                {
                    mouseTimer = new javax.swing.Timer(350,
                            new ActionListener()
                            {
                                public void actionPerformed(ActionEvent evt)
                                {
                                    if (!Selected)
                                        return;
                                    if (getText().equals("PLAY"))
                                    {
                                        JCenterPanel jCenterPanel = new JCenterPanel();
                                        jCenterPanel.playClick();// 接口的调用
                                        setBackground(java.awt.Color.GREEN);

                                        mouseTimer.stop();
                                    }
                                    else if (getText().equals("STOP"))
                                    {
                                        JCenterPanel jCenterPanel = new JCenterPanel();
                                        jCenterPanel.stopClick();
                                        setBackground(java.awt.Color.RED);

                                        mouseTimer.stop();

                                    }

                                }
                            });
                    mouseTimer.start();
                }
                else if (e.getClickCount() == 2 && mouseTimer.isRunning())
                {
                    mouseTimer.stop();
                    setBackground(java.awt.Color.blue);
                }

            }
        });

    }
}
}

⌨️ 快捷键说明

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