javaSE项目一:简易电子相册

来源:互联网 发布:python遗传算法库 编辑:程序博客网 时间:2024/04/29 16:17

javaSE项目一:简易电子相册

【非原创代码,改装升级而来】

一.     整个项目图:

编程软件:Myeclipse2014

技术:javaSE中Swing

时间:2017年10月31日-2017年10月31日

二.     结果预览图:

 


三.       源代码:

package photo;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.Image;

import java.awt.event.*;

import java.awt.image.BufferedImage;

 

import javax.imageio.ImageIO;

import javax.swing.*;

 

/**

 *

 * 步骤: 1、创建窗体 JFrame 2、自定义继承 JPanel(画板) 3、添加组建 4、添加监听器

 */

public class albumDemo {

       // 程序的入口方法 

       public static voidmain(String[] args) {

              // 在内存中创建窗体对象

              JFrame jfm = newJFrame();

              // 创建窗体大小

              jfm.setSize(640,400);

              // 创建面板并添加到面板上

              Panel panel = newPanel();

              jfm.add(panel);

              // 去窗口边框修饰

               jfm.setUndecorated(true);

              // 设置窗体居中

              jfm.setLocationRelativeTo(null);

              // 设置关闭窗体时关闭程序

              jfm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

              // 设置窗体可见

              jfm.setVisible(true);

       }

}

 

// 定义面板

class Panel extends JPanel {

       /*** 序列化标识 */

       private static final longserialVersionUID = -111L;

       JLabel imgLabel;

       String imgName;

       BufferedImage bg;

       Image image;

 

       public voidpaintComponent(Graphics g) {

              Graphics2D g2 =(Graphics2D) g;

              g2.drawImage(bg.getScaledInstance(680,400, Image.SCALE_DEFAULT), 0, 0,

                            680,400, null);

       }

 

       public Panel() {

 

              setLayout(null);

              try {

                     bg =ImageIO.read(Panel.class.getResource("bg.jpg"));

              } catch (Exceptione) {

                     throw newRuntimeException("图片加载失败");

              }

 

              imgName ="0.gif";

              // 添加Jlabel

              image = newImageIcon(this.getClass().getResource(imgName)).getImage()

                            .getScaledInstance(430,100,Image.SCALE_DEFAULT);

              imgLabel = newJLabel(new ImageIcon(image));

              // 设置位置

              imgLabel.setBounds(32,33, 430, 300);

              this.add(imgLabel);

              // 添加下一张按钮

              addNextButtom();

              // 添加退出按钮

              addExitButtom();

       }

 

       private voidaddExitButtom() {

              JButton ExitBtn =new JButton("退出");

              ExitBtn.setBounds(510,120, 75, 25);

              this.add(ExitBtn);

              ExitBtn.addMouseListener(newMouseAdapter() {

                     @Override

                     public voidmousePressed(MouseEvent e) {

                            int r= JOptionPane.showConfirmDialog(null, "确定要退出?", "退出",

                                          JOptionPane.YES_NO_CANCEL_OPTION);

                            if (r== 0)

                                   System.exit(0);

                     }

              });

       }

 

       int index = 1;

 

       private voidaddNextButtom() {

              JButton nextBtn =new JButton("下一张");

              nextBtn.setBounds(510,80, 75, 25);

              this.add(nextBtn);

              // 添加监听事件

              nextBtn.addMouseListener(newMouseAdapter() {

                     @Override

                     public voidmousePressed(MouseEvent e) {

                            imgName= ++index + ".jpg";

                            if(index == 5)

                                   index= 0;

                            image= new ImageIcon(this.getClass().getResource(imgName))

                                          .getImage().getScaledInstance(430,300,

                                                        Image.SCALE_DEFAULT);

                            imgLabel.setIcon(newImageIcon(image));

                     }

              });

       }

}

-------------------------------------------------------------

大笑大笑本内容由安康学院"雨季"原创!

原创粉丝点击