JavaSwing开发的电子相册,可以播放音乐,切换照片

import javazoom.jl.player.Player;import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.net.URL;/*** @author 专治八阿哥的孟老师* 谨以此程序,献给所有奋斗的人们*/
public class TeachAlbum {public static void main(String[] args) {playMusic("C:\\Users\\Music\\风雨人生.mp3");JFrame jfm = new JFrame();// 创建窗体大小jfm.setSize(1250, 753);// 创建面板并添加到面板上MyPanel panel = new MyPanel();jfm.add(panel);jfm.setLocationRelativeTo(null);// 设置关闭窗体时关闭程序jfm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体可见jfm.setVisible(true);}public static void playMusic(String path) {//播放背景音乐new Thread(new Runnable() {@Overridepublic void run() {File file = new File(path);try {FileInputStream fis = new FileInputStream(file);BufferedInputStream stream = new BufferedInputStream(fis);Player player = new Player(stream);player.play();} catch (Exception e) {e.printStackTrace();}}}).start();}
}class MyPanel extends JPanel {JLabel pictureLabel = null;public MyPanel() {super.setLayout(null);//清除默认样式//因为先添加的层级在最前面Image logo = new ImageIcon(this.getClass().getResource("logo.png")).getImage().getScaledInstance(364, 360, Image.SCALE_DEFAULT);pictureLabel = new JLabel(new ImageIcon(logo));pictureLabel.setBounds(586, 84, 364, 364);// 设置位置this.add(pictureLabel);//相框Image border = new ImageIcon(this.getClass().getResource("border.jpg")).getImage().getScaledInstance(641, 464, Image.SCALE_DEFAULT);JLabel imgLabel = new JLabel(new ImageIcon(border));imgLabel.setBounds(440, 33, 641, 464);// 设置位置this.add(imgLabel);playPictures();//播放照片}@Overridepublic void paintComponent(Graphics g) {try {//初始化背景BufferedImage bg = ImageIO.read(this.getClass().getResource("bg.jpg"));Graphics2D g2 = (Graphics2D) g;g2.drawImage(bg.getScaledInstance(1250, 753, Image.SCALE_DEFAULT), 0, 0,1250, 753, null);} catch (Exception e) {e.printStackTrace();}}void playPictures() {//播放相片new Thread(new Runnable() {@Overridepublic void run() {try {Thread.sleep(5000);pictureLabel.setBounds(454, 82, 614, 366);// 设置位置URL url = MyPanel.class.getResource("imgs");File dir = new File(url.getFile());File[] pics = dir.listFiles();for (File pic : pics) {Image image = new ImageIcon(pic.getAbsolutePath()).getImage().getScaledInstance(612, 366,Image.SCALE_DEFAULT);pictureLabel.setIcon(new ImageIcon(image));Thread.sleep(5000);}} catch (InterruptedException e) {e.printStackTrace();}}}).start();}
}

Swing is a development toolkit for developing user interfaces for Java applications.

Based on the Abstract Window Toolkit (AWT), cross platform applications can use any pluggable appearance style. Swing developers can leverage Swing's rich and flexible functionality and modular components to create elegant user interfaces with minimal code. All packages in the toolkit are named with swing, such as javax. swing, javax. swing. event.

(1) Import Swing Package

(2) Choose an interface style

(3) Set top-level container

(4) Set buttons and labels

(5) Place the component on the container

(6) Add borders to components

(7) Handling Events

(8) Auxiliary technical support

java制作电子相册相关推荐

  1. JAVA实现电子相册

    /*** @date 2022/3/27 - 22:54*/import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; ...

  2. java课程设计电子相册_java课程设计基于Java的电子相册系统设计与实现.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava java课程设计基于Java的电子相册系统设计与实现. ...

  3. java课程设计电子相册_java课程设计 基于java的电子相册系统设计与实现.pdf

    java课程设计 基于java的电子相册系统设计与实现.pdf 还剩 2页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 基于Java的电子相册系统设计 ...

  4. Java制作VCARD

    转载自   Java制作VCARD 简介: vCard是电子名片的文件格式标准.它一般附加在电子邮件之后,但也可以用于其它场合(如在互联网上相互交换).vCard可包含的信息有:姓名.地址资讯.电话号 ...

  5. 如何做相册_手机里的照片太多,不得已只能删除?那就试试制作电子相册吧

    许多人都喜欢使用手机拍照,这也就导致自己手机相册中保存的照片越来越多,到后面想要再拍照片的话,就不得不删除之前的照片,如何解决这个办法呢?那就试试用[迅捷视频转换器]将其制作成电子相册吧. 制作电子相 ...

  6. python 动态相册_Python编程:制作电子相册

    Python编程:制作电子相册 环境: 主机:WIN10 python版本:3.5 开发环境:pyCharm 5.0.2 说明: 家里有不用的windows平板me400c,用python编写一个脚本 ...

  7. 用JAVA制作小游戏——飞机大战(三)

    本篇博客是对飞机大战游戏项目完整代码的展示 详细代码讲解: 用JAVA制作小游戏--飞机大战(一) 用JAVA制作小游戏--飞机大战(二) 最下方附整个程序的文件下载链接 代码展示 主界面 impor ...

  8. 用JAVA制作小游戏——飞机大战(二)

    本篇博客是对飞机大战游戏使用代码的展示 重难点: 首先需要鼠标能够控制战机,使鼠标在窗口内时始终能够使战机的位置与鼠标相同,实现鼠标控制战斗机移动. 其次需要能够以一定的速度产生子弹和敌机,并且以一定 ...

  9. 用JAVA制作小游戏——推箱子(三)

    本篇博客主要是对推箱子地图编辑器功能的代码讲解. 首先给出这段代码的部分运行截图: 重难点: 地图编辑器主要有三个重难点: 需要有一个绘制地图的界面 能够实现地图绘制的功能 地图绘制完成后需要将地图内 ...

最新文章

  1. linux编程下signal()函数
  2. 机器人整机主要产品规格参数
  3. Python的enumerater
  4. data的值 如何初始化vue_vue 创建一个基础实例【02】
  5. mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据
  6. 模型稳定后放在服务器上,把工程放在服务器上
  7. Codeforces Round #530 (Div. 2)
  8. 阿里乌镇大动作:平头哥开源 MCU 设计平台!
  9. python能做什么excel-python处理excel的优势是什么
  10. 模电里的时变信号直流信号交流信号字母大小写的规定
  11. 如何判断行业和公司的「钱途」
  12. idea 阿里巴巴代码规范插件使用
  13. 华为交换机eth口作用_华为交换机 eth-trunk
  14. python ocr 识别发票_在Python中使用Tesseract进行OCR识别
  15. 吴恩达机器学习打卡day6
  16. 开发手机游戏的步骤是怎样的?
  17. 《魔兽世界》衰败之因:掉进“大数据陷阱”
  18. 东梓关富春江畔有感  文/江湖一劍客
  19. Pyqt设计界面时无法显示图片问题
  20. android九宫格隐藏,android九宫格锁屏控件

热门文章

  1. ubuntu 18.04 使用c++ opencv读取摄像头或视频
  2. 惠普mini机箱小欧290安装固态硬盘(SSD)过程
  3. echarts图例默认只显示某几个,其余图例手动控制显示
  4. 有办法的人,做有想法的事
  5. EasyDL部署到Jetson nano
  6. RJM8L151额温枪方案应用超低功耗8位高性能8051内核系列单片机
  7. 【JavaWeb - 网页编程】五 XML 介绍
  8. 一些有用的CSDN文章
  9. C/C++ 1e-6
  10. Docker的架构与自制镜像的发布