JAVA课程设计Word格式.docx
《JAVA课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
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个模块。
五.系统实现
import.www.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"
.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;
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=newImageIcon(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<
files.length)
i--;
//i<
files.length;
Stringfilename=files[i].getAbsolutePath();
if(heightratio>
else{
elseif(source==nextbutton){
=0&
i++;
elseif(source==startbutton){
height=imagelabel.getHeight()*2;
width=imagelabel.getWidth()*2;
elseif(source==stopbutton){
doublewidth=-1,height=-1;
height=imagelabel.getHeight()*0.5;
width=imagelabel.getWidth()*0.5;
image=newImageIcon(icon.getImage().getScaledInstance((int)width,(int)height,Image.SCALE_SMOOTH));
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.ERROR_MESSAGE);
text1.setText("
"
text2.setText("
}
});
jFrame.add(button);
jFrame.setVisible(true);
PictureExplorerpe=newPictureExplorer();
pe.launchPictureExplorerTest();
newPictureExplorer();
}