《猜猜看》第一次發佈

承認,這次純屬敷衍。被虐了一晚上,我還是什麼都沒弄出來,離斷網時間越來越近,便找了一篇過來發了個博文。明兒加油,起碼有個小目標了。唉……
import java.awt.BorderLayout;  
import java.awt.Component;  
import java.awt.EventQueue;  
import java.awt.FlowLayout;  
import java.awt.Image;  
import javax.imageio.ImageIO;  
import javax.swing.AbstractButton;  
import javax.swing.ImageIcon;  
import javax.swing.JFrame;  
import javax.swing.JOptionPane;  
import javax.swing.JPanel;  
import javax.swing.SwingConstants;  
import javax.swing.border.EmptyBorder;  
import javax.swing.JButton;  
import javax.swing.JLabel;  
import java.awt.Color;  
import java.awt.event.ActionListener;  
import java.awt.event.ActionEvent;  
import java.io.File;  
import java.io.IOException;  
  
public class TableDatabase extends JFrame {  
    private static final Component JButton = null;  
    private JPanel contentPane;  
    private int idImg = 1;  
    /** 
     * Launch the application. 
     */  
    public static void main(String[] args) {  
        EventQueue.invokeLater(new Runnable() {  
            public void run() {  
                try {  
                    TableDatabase frame = new TableDatabase();  
                    frame.setVisible(true);  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
        });  
    }  
    /** 
     * Create the frame. 
     */  
    public TableDatabase() {  
        setTitle("圖片顯示");  
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        setBounds(100, 100, 450, 500);  
        contentPane = new JPanel();  
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  
        setContentPane(contentPane);  
        contentPane.setLayout(null);  
        getContentPane().setLayout(new FlowLayout());  
  
        final JLabel lblNewLabel = new JLabel("New label");  
        lblNewLabel.setBackground(Color.YELLOW);  
        lblNewLabel.setForeground(Color. LIGHT_GRAY);  
        lblNewLabel.setBounds(60, 90, 400, 400);  
        contentPane.add(lblNewLabel);  
        /*@1 
         *  
         */  
        JButton button_1 = new JButton("上一張");  
        button_1.setVerticalAlignment(SwingConstants.TOP);  
        button_1.setBounds(145, 10, 69, 23);  
        getContentPane().add(button_1);  
        button_1.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                ImageIcon icon;  
                try {  
                    String strImgFile = "E:/demoPhoto"; // 獲取圖片的路徑  
                    strImgFile = strImgFile + String.valueOf(idImg) + ".jpg";// 得到圖片的完整路徑  
                    icon = new ImageIcon(ImageIO.read(new File(strImgFile)));// 讀取圖片  
                    //第一種  
                    Image image = icon.getImage(); // 從圖表中獲取到圖片  
                    Image smallImage = image.getScaledInstance(300,300,Image.SCALE_FAST);// 縮放圖像  
                    icon = new ImageIcon(smallImage);   //把Image文件轉化爲ImageIcon  
  
                    /* 第二種方法 
                   Image srcImg  = ImageIO.read(new FileInputStream(strImgFile) );//取源圖 
                   int  width  =  200; //假設要縮小到600點像素 
                   int  height =  srcImg.getHeight(null)*200/srcImg.getWidth(null);//按比例,將高度縮減 
                   Image smallImg =srcImg.getScaledInstance(width, height, Image.SCALE_FAST);//縮小 
                   icon = new ImageIcon(smallImg); 
                     */  
  
                    lblNewLabel.setIcon(icon);  
                    // 爲下一張圖片做準備,一共9張圖片,顯示完第9張後,重新顯示第一張  
                    int idImg=1;  
                    idImg--;  
                    if(idImg==10)  
                        idImg = 1;  
                    else  
                        //System.out.println("沒有可顯示的了");  
                        JOptionPane.showMessageDialog(null, "沒有可顯示的了");//  
                } catch (IOException e1) {  
                    // TODO Auto-generated catch block  
                    e1.printStackTrace();  
                }  
            }  
        });  
        button_1.setBounds(200, 50, 153, 30);  
        contentPane.add(button_1);  
        /*@2 
         *  
         */  
        JButton button = new JButton("下一張");  
        button.setVerticalAlignment(SwingConstants.TOP);  
        button.setBounds(219, 10, 69, 23);  
        getContentPane().add(button);  
  
        button.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                ImageIcon icon;  
                try {  
                    String strImgFile = "E:/demoPhoto/"; // 獲取圖片的路徑  
                    strImgFile = strImgFile + String.valueOf(idImg) + ".jpg";// 得到圖片的完整路徑  
                    icon = new ImageIcon(ImageIO.read(new File(strImgFile)));// 讀取圖片  
                    //第一種  
                    Image image = icon.getImage(); // 從圖表中獲取到圖片  
                    Image smallImage = image.getScaledInstance(300,300,Image.SCALE_FAST);// 縮放圖像  
                    icon = new ImageIcon(smallImage);   //把Image文件轉化爲ImageIcon  
  
                    /* 第二種方法 
                   Image srcImg  = ImageIO.read(new FileInputStream(strImgFile) );//取源圖 
                   int  width  =  200; //假設要縮小到600點像素 
                   int  height =  srcImg.getHeight(null)*200/srcImg.getWidth(null);//按比例,將高度縮減 
                   Image smallImg =srcImg.getScaledInstance(width, height, Image.SCALE_FAST);//縮小 
                   icon = new ImageIcon(smallImg); 
                     */  
  
                   // 設置Jlabel標籤的icon(圖標)  
                    lblNewLabel.setIcon(icon);  
                    // 爲下一張圖片做準備,一共9張圖片,顯示完第9張後,重新顯示第一張  
                    idImg = idImg+1;  
                    if(idImg==10)  
                        idImg = 1;  
                } catch (IOException e1) {  
                    // TODO Auto-generated catch block  
                    e1.printStackTrace();  
                }  
            }  
        });  
        button.setBounds(200, 37, 153, 28);  
        contentPane.add(button);  
    }  
}  

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