栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

图片播放器、背景音乐!

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图片播放器、背景音乐!

登录界面类

package picturePlayback;

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


public class dengLu  {
    //创建窗口
    JFrame jFrame= new JFrame();
    JFrame jFrame1= new JFrame();

    //创建面板
    JPanel p1 = new JPanel();
    JPanel p2 = new JPanel();
    JPanel p3 = new JPanel();
    JPanel p4 = new JPanel();

    //创建文本框
    JTextField f1 = new JTextField(12);
    JTextField f2 = new JTextField(12);

    //创建登录按钮
    JButton b1 = new JButton("登录");

    //账号密码
    String a="123456";
    String b="123456";


    public void err(){
        //设置窗口
        jFrame1.setTitle("错误!");
        jFrame1.setBounds(750,400,80,10);
        //登录错误提示界面
        Font font = new Font("宋体", Font.BOLD, 40);//设置字形,字体和字号
        JLabel labName = new JLabel("账号或密码错误!  ");// 用标签来表示文本或图片
        labName.setFont(font);

        //布局
        FlowLayout flowLayout = new FlowLayout();
        flowLayout.setAlignment(FlowLayout.CENTER);
        jFrame1.setLayout(flowLayout);
        jFrame1.add(labName);
        jFrame1.pack();
        jFrame1.setVisible(true);


    }
    public void init(){
        //设置窗口
        jFrame.setBounds(800,350,120,60);
        jFrame.setTitle("登录");
        //创建标题
        JLabel jLabel = new JLabel("图片浏览器");
        Font font1 = new Font("宋体", Font.BOLD, 50);//设置字形,字体和字号
        Font font2 = new Font("宋体", Font.BOLD, 20);//设置字形,字体和字号
        jLabel.setFont(font1);
        p1.setBounds(260, 20, 300, 80);
        p1.add(jLabel);



        //账号
        JLabel labName = new JLabel("账号  ");// 用标签来表示文本或图片
        labName.setFont(font2);// 设置标签字体的大小
//        JTextField f1 = new JTextField(12);
        p2.add(labName);
        p2.add(f1);

        //密码
        JLabel labPass = new JLabel("密码  ");// 用标签来表示文本或图片
        labPass.setFont(font2);// 设置标签字体的大小
//        JTextField f2 = new JTextField(12);
        p3.add(labPass);
        p3.add(f2);
        p4.add(b1);

        //组装
        Box vbox= Box.createVerticalBox();
        vbox.add(p2);
        vbox.add(p3);

        //布局
        jFrame.add(p1,BorderLayout.NORTH);
        jFrame.add(vbox);
        jFrame.add(p4,BorderLayout.SOUTH);
        jFrame.pack();
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);//关闭窗体时结束程序

        //监听器
        b1.addActionListener(actionListener);
    }
    //事件监听器
    ActionListener actionListener = new ActionListener(){
    public void actionPerformed(ActionEvent e) {


        String s=f1.getText();
        String s1=f2.getText();
        if (s.equals(a)&&s1.equals(b)) {
            jFrame.setVisible(false);

            picturePlayback p =new picturePlayback();
            p.init();



        }
        else {
            //弹出错误界面
            new dengLu().err();

            //账号密码框清空
            f1.setText("");
            f2.setText("");
        }


    }
    };


}

图片播放类

package picturePlayback;


import javax.swing.*;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;


public class picturePlayback  {

    JFrame jFrame = new JFrame("图片浏览器");

    int c=1;

    JPanel p1 = new JPanel();
    JPanel p2 = new JPanel();
    JPanel p3 = new JPanel();


    //创建按钮
    JButton b1 = new JButton("第一张");
    JButton b2 = new JButton("最后一张");
    JButton b3 = new JButton("下一张");
    JButton b4 = new JButton("上一张");

    CardLayout cardLayout = new CardLayout();

    //创建事件监听器
    ActionListener actionListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            musicPlay m = new musicPlay();
            String s =e.getActionCommand();
            switch (s){
                case "第一张":
                    cardLayout.first(p1);
                    cardLayout.first(p3);
                    break;
                case "最后一张":
                    cardLayout.last(p1);
                    cardLayout.last(p3);
                    break;
                case "上一张":
                    cardLayout.previous(p1);
                    cardLayout.previous(p3);
                    break;
                case "下一张":
                    cardLayout.next(p1);
                    cardLayout.next(p3);
                    break;
            }
        }
    };

    public void init(){


        //设置窗口
        jFrame.setBounds(350,150,1200,800);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);//关闭窗体时结束程序

        //设置card布局
        p1.setLayout(cardLayout);
        p3.setLayout(cardLayout);
        //加载图片到面板中
        for (int i =1;i<=7;i++){
            ImageIcon img = new ImageIcon("D:\myIDEA\picturePlayback\src\picture\bg"+i+".jpg");
            JLabel labe1 = new JLabel(img,JLabel.CENTER);
            p1.add(labe1);
        }
        //读取简介
        for(int i =1;i<=7;i++){
                try {
                    String fileName = "D:\myIDEA\picturePlayback\src\txt\bg"+i+".txt";
                    File file = new File(fileName);
                    FileReader fr = new FileReader(file);
                    BufferedReader br = new BufferedReader(fr);
                    JTextArea j1 = new JTextArea(br.readLine());
                    p3.add(j1);
                }
                catch (Exception e){

            }

        }
        //添加到一个Jpanel上
        p2.add(b1);
        p2.add(b2);
        p2.add(b3);
        p2.add(b4);

        //布局
        BorderLayout borderLayout = new BorderLayout();
        jFrame.add(p1,BorderLayout.CENTER);
        jFrame.add(p2,BorderLayout.SOUTH);
        jFrame.add(p3,BorderLayout.NORTH);
        jFrame.setVisible(true);

        //监听
        b1.addActionListener(actionListener);
        b2.addActionListener(actionListener);
        b3.addActionListener(actionListener);
        b4.addActionListener(actionListener);
    }

}

背景音乐类

package picturePlayback;

import java.io.File;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.SourceDataLine;



public class musicPlay {
    public void musicplay() {
            try {
                //1 获取你要播放的音乐文件
                File file = new File("E:\music\music2.wav");
                //2、定义一个AudioInputStream用于接收输入的音频数据
                AudioInputStream am;
                //3、使用AudioSystem来获取音频的音频输入流(处理(抛出)异常)
                am = AudioSystem.getAudioInputStream(file);
                //4、使用AudioFormat来获取AudioInputStream的格式
                AudioFormat af = am.getFormat();
                //5、一个源数据行
                SourceDataLine sd;
                //6、获取受数据行支持的音频格式DataLine.info
                //DataLine.Info dl = new DataLine.Info(SourceDataLine.class, af);
                //7、获取与上面类型相匹配的行 写到源数据行里 二选一
                sd = AudioSystem.getSourceDataLine(af);//便捷写法
                //sd = (SourceDataLine) AudioSystem.getLine(dl);
                //8、打开具有指定格式的行,这样可以使行获得资源并进行操作
                sd.open();
                //9、允许某个数据行执行数据i/o
                sd.start();
                //10、写数据
                int sumByteRead = 0; //读取的总字节数
                byte[] b = new byte[320];//设置字节数组大小
                //11、从音频流读取指定的最大数量的数据字节,并将其放入给定的字节数组中。
                while (sumByteRead != -1) {//-1代表没有 不等于-1时就无限读取
                    sumByteRead = am.read(b, 0, b.length);//12、读取哪个数组
                    if (sumByteRead >= 0) {//13、读取了之后将数据写入混频器,开始播放
                        sd.write(b, 0, b.length);
                    }
                }
                //关闭
                sd.drain();
                sd.close();
            } catch (Exception e) {

            }

        }



}


图片文件夹

 

简介文件

 把文件图片简介统一命名,进行循环加载。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/981603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号