圖片瀏覽器

寫一個簡單的圖片瀏覽器:

package day14;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ImageBorwer extends JFrame{
    /** 圖片瀏覽中的卡片佈局 **/
    private CardLayout lyCard;
    /** 裝有7個標籤的面板 **/
    private JPanel pnShow;
    public ImageBorwer(){
        JPanel pnBasic = new JPanel();
        pnBasic.setLayout(new BorderLayout());
        // 定義用於顯示圖片的小面板
        pnShow = new JPanel();
        lyCard = new CardLayout();
        pnShow.setLayout(lyCard);
        JLabel[] lbArrShow = new JLabel[7];
        for(int i=0;i<lbArrShow.length;i++){
            // 初始化標籤
            lbArrShow[i] = new JLabel();
            // 給標籤添加圖片
            // 圖片路徑從工程開始。
            ImageIcon icon = new ImageIcon("fff/role1/"+(i+1)+".png");
            lbArrShow[i].setIcon(icon);
            pnShow.add(i+"",lbArrShow[i]);
        }
              
        pnBasic.add(pnShow,BorderLayout.CENTER);
              
        // 定義操作區按鈕的小面板
        JPanel pnOpr = new JPanel();
        // 指定該面板佈局爲1行3列
        pnOpr.setLayout(new GridLayout(1,3));
        String[] strArr = {"上一個","首頁","下一個"};
        JButton[] btnArr = new JButton[strArr.length];
        for(int i=0;i<strArr.length;i++){
            btnArr[i] = new JButton(strArr[i]);
            // 給每一個按鈕添加監聽
            btnArr[i].addActionListener(new ButtonMonitor());
            pnOpr.add(btnArr[i]);
        }
        pnBasic.add(pnOpr,BorderLayout.SOUTH);
              
        // 綁定
        setContentPane(pnBasic);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("圖片瀏覽");
        // setSize  setLocation
        ImageIcon icon = new ImageIcon("fff/icon24.png");
        Image p_w_picpath = icon.getImage();
        setIconImage(p_w_picpath);
        setBounds(200,200,400,300);
        pack();
        // 窗體可見
        setVisible(true);
    }
          
    private class ButtonMonitor implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            JButton btnClick = (JButton) e.getSource();
            String strBtnTxt = btnClick.getText();
            if("上一個".equals(strBtnTxt)){
                // Iterator next()-->ListIterator next() privious();
                lyCard.previous(pnShow);
            } else if("下一個".equals(strBtnTxt)){
                // Iterator next()-->ListIterator next() privious();
                lyCard.next(pnShow);
            }else if("首頁".equals(strBtnTxt)){
                // Iterator next()-->ListIterator next() privious();
//              lyCard.first(pnShow);
                // 取出指定名字的標籤
                lyCard.show(pnShow, 3+"");
            }
        }
    }
          
    public static void main(String[] args) {
        new ImageBorwer();
    }
}

效果顯示:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章