返回列表 發帖

ImageIcon 類別 (一)

本帖最後由 周政輝 於 2018-1-27 11:37 編輯

試利用 javax.swing 套件下的 ImageIcon 類別, 在視窗中置入圖片.

[設計導引]
1. 視窗的 左、右、下方 的邊框佔 3 像素 ; 上方的標題列佔 25 像素
     ( setResizable() 方法的參數設為 false 所展現的數據 )
2. 圖片大小 399x300 ; 標籤大小 399x300 ; 視窗大小 405x328

  1. package kuas.mis;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;

  10. public class Main extends JFrame {

  11.         private JPanel contentPane;
  12.         private ImageIcon icon;
  13.         /**
  14.          * Launch the application.
  15.          */
  16.         public static void main(String[] args) {
  17.                 EventQueue.invokeLater(new Runnable() {
  18.                         public void run() {
  19.                                 try {
  20.                                         Main frame = new Main();
  21.                                         frame.setVisible(true);
  22.                                 } catch (Exception e) {
  23.                                         e.printStackTrace();
  24.                                 }
  25.                         }
  26.                 });
  27.         }

  28.         /**
  29.          * Create the frame.
  30.          */
  31.         public Main() {
  32.                 icon = new ImageIcon(Main.class.getResource("Koala.jpg"));
  33.        
  34.                 Image img = icon.getImage().getScaledInstance(399, 300,  java.awt.Image.SCALE_FAST );
  35.                 ImageIcon newIcon = new ImageIcon(img);
  36.                
  37.                
  38.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  39.                 setBounds(100, 100, 477, 393);
  40.                 contentPane = new JPanel();
  41.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  42.                 contentPane.setLayout(new BorderLayout(0, 0));
  43.                 setContentPane(contentPane);
  44.                
  45.                 JLabel lblNewLabel = new JLabel(newIcon);
  46.                 lblNewLabel.setBounds(0, 0, 300, 300);
  47.                 contentPane.add(lblNewLabel, BorderLayout.NORTH);
  48.         }

  49. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;

  10. public class Main extends JFrame {

  11.         private JPanel contentPane;
  12.     private ImageIcon icon;
  13.         /**
  14.          * Launch the application.
  15.          */
  16.         public static void main(String[] args) {
  17.                 EventQueue.invokeLater(new Runnable() {
  18.                         public void run() {
  19.                                 try {
  20.                                         Main frame = new Main();
  21.                                         frame.setVisible(true);
  22.                                 } catch (Exception e) {
  23.                                         e.printStackTrace();
  24.                                 }
  25.                         }
  26.                 });
  27.         }

  28.         /**
  29.          * Create the frame.
  30.          */
  31.         public Main() {
  32.                 icon = new ImageIcon(Main.class.getResource("Hydrangeas.jpg"));
  33.                 Image img =icon.getImage().getScaledInstance(399, 300, Image.SCALE_FAST);
  34.                 ImageIcon newicon = new ImageIcon(img);
  35.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36.                 setBounds(100, 100, 450, 300);
  37.                 contentPane = new JPanel();
  38.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  39.                 contentPane.setLayout(new BorderLayout(0, 0));
  40.                 setContentPane(contentPane);
  41.                
  42.                 JLabel lblNewLabel = new JLabel(newicon);
  43.                 lblNewLabel.setBounds(0,0,300,399);
  44.                 contentPane.add(lblNewLabel, BorderLayout.CENTER);
  45.                
  46.         }

  47. }
複製代碼

TOP

  1. package bbs.istak.org.tw;


  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;

  10.     public class Main extends JFrame {

  11.     private JPanel contentPane;
  12.     private ImageIcon icon;

  13.     public static void main(String[] args) {
  14.             EventQueue.invokeLater(new Runnable() {
  15.                     public void run() {
  16.                             try {
  17.                                     Main frame = new Main();
  18.                                     frame.setVisible(true);
  19.                             } catch (Exception e) {
  20.                                     e.printStackTrace();
  21.                             }
  22.                     }
  23.             });
  24.     }

  25.        public Main() {
  26.                 icon = new ImageIcon(Main.class.getResource("Koala.jpg"));
  27.         
  28.                 Image img = icon.getImage().getScaledInstance(399, 300,  java.awt.Image.SCALE_FAST );
  29.                 ImageIcon newIcon = new ImageIcon(img);
  30.                
  31.                
  32.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  33.                 setBounds(100, 100, 477, 393);
  34.                 contentPane = new JPanel();
  35.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  36.                 contentPane.setLayout(new BorderLayout(0, 0));
  37.                 setContentPane(contentPane);
  38.                
  39.                 JLabel lblNewLabel = new JLabel(newIcon);
  40.                 lblNewLabel.setBounds(0, 0, 300, 300);
  41.                 contentPane.add(lblNewLabel, BorderLayout.NORTH);
  42.         }

  43. }
複製代碼

TOP

  1. package asdf;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;

  10. public class asdf extends JFrame {

  11.         private JPanel contentPane;
  12.         private ImageIcon icon;
  13.         /**
  14.          * Launch the application.
  15.          */
  16.         public static void main(String[] args) {
  17.                 EventQueue.invokeLater(new Runnable() {
  18.                         public void run() {
  19.                                 try {
  20.                                         asdf frame = new asdf();
  21.                                         frame.setVisible(true);
  22.                                 } catch (Exception e) {
  23.                                         e.printStackTrace();
  24.                                 }
  25.                         }
  26.                 });
  27.         }

  28.         /**
  29.          * Create the frame.
  30.          */
  31.         public asdf() {
  32.                 icon = new ImageIcon(asdf.class.getResource("Koala.jpg"));
  33.         
  34.                 Image img = icon.getImage().getScaledInstance(399, 300,  java.awt.Image.SCALE_FAST );
  35.                 ImageIcon newIcon = new ImageIcon(img);
  36.                
  37.                
  38.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  39.                 setBounds(100, 100, 477, 393);
  40.                 contentPane = new JPanel();
  41.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  42.                 contentPane.setLayout(new BorderLayout(0, 0));
  43.                 setContentPane(contentPane);
  44.                
  45.                 JLabel lblNewLabel = new JLabel(newIcon);
  46.                 lblNewLabel.setBounds(0, 0, 300, 300);
  47.                 contentPane.add(lblNewLabel, BorderLayout.NORTH);
  48.         }

  49. }
複製代碼
我是眾神之王XXX  I love you
0000000000

TOP

返回列表