JAVA电子相册系统的设计.docx
- 文档编号:5534874
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:11
- 大小:17.16KB
JAVA电子相册系统的设计.docx
《JAVA电子相册系统的设计.docx》由会员分享,可在线阅读,更多相关《JAVA电子相册系统的设计.docx(11页珍藏版)》请在冰豆网上搜索。
JAVA电子相册系统的设计
JAVA课程设计
一.设计背景
电子相册是现在时下很流行的一种网络元素,它可以应用于很多的领域。
其以静态照片为素材,配合动感的背景、字幕等视频处理的特殊效果,配上音乐就可制作成电子相册。
制作好的电子相册可以在电脑上,各类影碟机上,以及手机和MP4里都能观看。
当然,如果考虑到长期保存的话,也可以保存在硬盘上,也便于随时调阅、欣赏,永久保存。
.需求分析
1.采用的形式为:
javaapplication
2.需要实现的主要功能是:
(1)不同用户的登录模块
(2)附加背景音乐。
三.概要设计
3.1功能说明该程序可以实现用户登录、放大、缩小、上一、下一、播放照片
等功能。
3.3主要的工具包
该程序中用到如下几个工具包,为:
importjava.awt.Dimension;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
importjava.awt.*;
importjavax.swing.*;
importjava.io.*;
importjava.awt.event.*;
importjava.applet.AudioClip;
importjava.applet.Applet;
importjava.awt.Frame;
import.MalformedURLException;
import.URI;
import.URL;。
四.系统功能模块结构
该电子相册程序分为登录相关模块、背景音乐播放模块、相册
相关模块这3个模块
五.系统实现
importjava.awt.Dimension;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
importjava.awt.*;
importjavax.swing.*;
importjava.io.*;
importjava.awt.event.*;
importjava.applet.AudioClip;
importjava.applet.Applet;
importjava.awt.Frame;
import.MalformedURLException;
import.URI;
import.URL;
import..content.audio.wav;
publicclassPictureExplorerextendsJFrameimplementsActionListener{privateJLabelimagelabel;
privateJPanelpanel;
privateinti=0;Stringfilename;
Filefile;
privateImageIconimage;
privateJButtonstartbutton,stopbutton,previousbutton,nextbutton;
privateJMenuBarmenubar;
privateJMenumenu;
privateJMenuItemmenuitemopen,menuitemexit;
privateJFileChooserchooser;
Filef;
URIuri;
URLurl;
publicPictureExplorer(){
try{
f=newFile("/Users/kiminatosaku/Downloads/1.wav");
uri=f.toURI();
url=uri.toURL();
//解析地址
AudioClipaau;
aau=Applet.newAudioClip(url);
aau.loop();//循环播放
}catch(Exceptione)
{
e.printStackTrace();
}
imagelabel=newJLabel();
panel=newJPanel();
image=newImageIcon();startbutton=newJButton("放大");stopbutton=newJButton("缩小");previousbutton=newJButton("上一");nextbutton=newJButton("下一");menubar=newJMenuBar();
menu=newJMenu("文件");menuitemopen=newJMenuItem("打开文件");menuitemexit=newJMenuItem("退出");chooser=newJFileChooser();
}
publicvoidlaunchPictureExplorerTest(){
Containerc=getContentPane();startbutton.addActionListener(this);
stopbutton.addActionListener(this);
previousbutton.addActionListener(this);
nextbutton.addActionListener(this);
menuitemopen.addActionListener(this);
menuitemexit.addActionListener(this);
menubar.add(menu);
menu.add(menuitemopen);
menu.add(menuitemexit);
imagelabel.setIcon(image);
imagelabel.setHorizontalAlignment(SwingConstants.CENTER);
c.add(imagelabel,"Center");
panel.add(previousbutton);
panel.add(nextbutton);
panel.add(startbutton);
panel.add(stopbutton);
前目录
c.add(panel,"South");chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);chooser.setCurrentDirectory(newFile("."));//设置文件选择器当
可接受的文件类型
chooser.setFileFilter(newjavax.swing.filechooser.FileFilter()
publicbooleanaccept(Filefile){//
获取文件名
Stringname=file.getName().toLowerCase();//returnname.endsWith(".gif")
||name.endsWith(".jpg")
||name.endsWith(".jpeg")
||file.isDirectory();
}
publicStringgetDescription(){
return"图像文件";
}
});
setJMenuBar(menubar);
setSize(800,600);
setLocation(100,100);
setTitle(filename);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
Objectsource=e.getSource();
if(source==menuitemopen){
intresult=chooser.showOpenDialog(this);//
显示文件选择对
话框
if(result==JFileChooser.APPROVE_OPTION){
Stringfilename=
chooser.getSelectedFile().getAbsolutePath();
image=newImageIcon(filename);
ImageIconicon=newImageIcon();
icon=image;
double
widthratio=image.getIconWidth()*1.0/imagelabel.getWidth();
double
heightratio=image.getIconHeight()*1.0/imagelabel.getWidth();
if(widthratio<=1&&heightratio<=1){imagelabel.setIcon(image);
}
intwidth=-1,height=-1;
if(heightratio>=widthratio){
height=imagelabel.getHeight();
}
else
width=imagelabel.getWidth();
image=new
ImageIcon(icon.getImage().getScaledInstance(width,height,Image.SCALE_
SMOOTH));
imagelabel.setIcon(image);
}
}
elseif(source==menuitemexit)
{
System.exit
(1);
}
elseif(source==previousbutton){
File[]files;
file=chooser.getSelectedFile().getParentFile();
files=file.listFiles();
if(i>0&&i i--; //i Stringfilename=files[i].getAbsolutePath(); image=newImageIcon(filename); ImageIconicon=newImageIcon();icon=image; doublewidthratio=image.getIconWidth()*1.0/imagelabel.getWidth(); doubleheightratio=image.getIconHeight()*1.0/imagelabel.getWidth(); if(widthratio<=1&&heightratio<=1){imagelabel.setIcon(image); } intwidth=-1,height=-1; if(heightratio>=widthratio){height=imagelabel.getHeight(); } else{ width=imagelabel.getWidth(); }image=new ImageIcon(icon.getImage().getScaledInstance(width,height,Image.SCALE_ SMOOTH)); imagelabel.setIcon(image); elseif(source==nextbutton){ File[]files; file=chooser.getSelectedFile().getParentFile(); files=file.listFiles(); if(i>=0&&i i++; Stringfilename=files[i].getAbsolutePath(); image=newImageIcon(filename); ImageIconicon=newImageIcon(); icon=image; doublewidthratio=image.getIconWidth()*1.0/imagelabel.getWidth(); doubleheightratio=image.getIconHeight()*1.0/imagelabel.getWidth(); if(widthratio<=1&&heightratio<=1){imagelabel.setIcon(image); } intwidth=-1,height=-1; if(heightratio>=widthratio){ height=imagelabel.getHeight(); } else{ width=imagelabel.getWidth(); } image=new ImageIcon(icon.getImage().getScaledInstance(width,height,Image.SCALE_ SMOOTH)); imagelabel.setIcon(image); } elseif(source==startbutton){ File[]files; file=chooser.getSelectedFile().getParentFile(); files=file.listFiles(); Stringfilename=files[i].getAbsolutePath(); image=newImageIcon(filename); ImageIconicon=newImageIcon(); icon=image; doublewidthratio=image.getIconWidth()*1.0/imagelabel.getWidth(); doubleheightratio=image.getIconHeight()*1.0/imagelabel.getWidth(); if(widthratio<=1&&heightratio<=1){imagelabel.setIcon(image); } intwidth=-1,height=-1; if(heightratio>=widthratio){height=imagelabel.getHeight()*2; } else{ width=imagelabel.getWidth()*2; } image=new ImageIcon(icon.getImage().getScaledInstance(width,height,Image.SCALE_SMOOTH)); imagelabel.setIcon(image); } elseif(source==stopbutton){ File[]files; file=chooser.getSelectedFile().getParentFile(); files=file.listFiles(); Stringfilename=files[i].getAbsolutePath(); image=newImageIcon(filename); ImageIconicon=newImageIcon();icon=image; double widthratio=image.getIconWidth()*1.0/imagelabel.getWidth(); double heightratio=image.getIconHeight()*1.0/imagelabel.getWidth(); if(widthratio<=1&&heightratio<=1){imagelabel.setIcon(image); } doublewidth=-1,height=-1; if(heightratio>=widthratio){height=imagelabel.getHeight()*0.5; } else{ width=imagelabel.getWidth()*0.5; } image=new ImageIcon(icon.getImage().getScaledInstance((int)width,(int)height,Im age.SCALE_SMOOTH)); imagelabel.setIcon(image); } publicstaticvoidmain(String[]arges){ finalStringuserName="abc"; finalStringpasswrod="123"; JFramejFrame=newJFrame("登陆界面"); Dimensiondimension= Toolkit.getDefaultToolkit().getScreenSize(); jFrame.setBounds(((int)dimension.getWidth()-200)/2,((int)dimension.getHeight()-300)/2,200,150); jFrame.setResizable(false); jFrame.setLayout(null); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabellabel1=newJLabel(""); label1.setBounds(10,10,100,30); jFrame.add(label1); JLabellabel2=newJLabel("密码"); label2.setBounds(10,40,100,30); jFrame.add(label2); finalJTextFieldtext1=newJTextField(); text1.setBounds(50,15,130,20); jFrame.add(text1); finalJPasswordFieldtext2=newJPasswordField(); text2.setBounds(50,45,130,20); jFrame.add(text2); JButtonbutton=newJButton("Login"); button.setBounds(10,75,170,40); button.addActionListener(newActionListener(){ Override publicvoidactionPerformed(ActionEvente){ if(userName.equals(text1.getText())&& passwrod.equals(text2.getText())){ JOptionPane.showMessageDialog(null,"登陆成功","提示",JOptionPane.INFORMATION_MESSAGE); }else{ JOptionPane.showMessageDialog(null,"错误","提示", JOptionPane.ERROR_MESSAGE) text1.setText(""); text2.setText(""); } } }); jFrame.add(button); jFrame.setVisible(true); PictureExplorerpe=newPictureExplorer(); pe.launchPictureExplorerTest(); newPictureExplorer(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 电子相册 系统 设计