涉及的知識點:GUI介面,事件監聽,通過一個簡單一實例學習一下Java這方面的知識
package myTest;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyImg extends JFrame{TestPanel tp=null;JPanel jp=null;JButton jb1,jb2,jb3,jb4;public static void main(String[] args) {MyImg img=new MyImg();}public MyImg(){tp=new TestPanel(6, 1);//設定相夾大小,並預設顯示第一張照片jp=new JPanel();//JPanel預設流式布局jb1=new JButton("首頁");jp.add(jb1);jb2=new JButton("上一頁");jp.add(jb2);jb3=new JButton("下一頁");jp.add(jb3);jb4=new JButton("尾頁");jp.add(jb4);//註冊監聽jb1.addActionListener(tp);jb1.setActionCommand("first");jb2.addActionListener(tp);jb2.setActionCommand("prev");jb3.addActionListener(tp);jb3.setActionCommand("next");jb4.addActionListener(tp);jb4.setActionCommand("last");this.add(tp);//JFrame預設邊框布局this.add(jp,BorderLayout.SOUTH);this.setSize(400,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}}class TestPanel extends JPanel implements ActionListener{int i,size;String imgPath,srcPath="/myTest/";//相片路徑String imgSuffix=".jpg";//圖片尾碼名public TestPanel(int size,int i){this.size=size;this.i=i;imgPath=srcPath+i+imgSuffix;}public void paint(Graphics g){super.paint(g);Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(imgPath));g.drawImage(im, 90, 45, 200, 150,this);}@Overridepublic void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("first")){i=1;this.imgPath=srcPath+i+imgSuffix;}else if(e.getActionCommand().equals("prev")){if(i>1){//判斷是否越界--i;this.imgPath=srcPath+i+imgSuffix;}}else if(e.getActionCommand().equals("next")){if(i<size){//判斷是否越界++i;this.imgPath=srcPath+i+imgSuffix;}}else if(e.getActionCommand().equals("last")){i=size;this.imgPath=srcPath+i+imgSuffix;}//System.out.println(imgPath);this.repaint();//TestPanel重繪}}