返回列表 發帖

ImageIcon 類別 (五)

試以陣列方式布置大量元件.




附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  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_1[] = new ImageIcon[6];
  13.     private JLabel lb[] = new JLabel[6];

  14.         public static void main(String[] args) {
  15.                 EventQueue.invokeLater(new Runnable() {
  16.                         public void run() {
  17.                                 try {
  18.                                         Main frame = new Main();
  19.                                         ImageIcon icon = new ImageIcon(Main.class.getResource("icon.png"));
  20.                                         Image img = icon.getImage().getScaledInstance(45, 45, java.awt.Image.SCALE_FAST);
  21.                                         frame.setIconImage(img);
  22.                                         frame.setVisible(true);
  23.                                 } catch (Exception e) {
  24.                                         e.printStackTrace();
  25.                                 }
  26.                         }
  27.                 });
  28.         }


  29.         public Main() {
  30.                 setTitle("\u4EE5\u9663\u5217\u7684\u65B9\u5F0F\u5E03\u7F6E\u5927\u91CF\u5143\u4EF6");
  31.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  32.                 setBounds(100, 100, 487, 346);
  33.                 contentPane = new JPanel();
  34.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  35.                 setContentPane(contentPane);
  36.                 contentPane.setLayout(null);
  37.                
  38.                 for(int i=0; i<6; i++)
  39.                           icon_1[i] = new ImageIcon(Main.class.getResource(String.format("%02d.png", i+1)));
  40.                                  
  41.                 JLabel lblNewLabel = new JLabel();
  42.                 lblNewLabel.setBounds(40, 40, 107, 101);
  43.                 lblNewLabel.setIcon(icon_1[0]);
  44.                 contentPane.add(lblNewLabel);
  45.                
  46.                 JLabel label = new JLabel();
  47.                 label.setBounds(40, 167, 107, 101);
  48.                 label.setIcon(icon_1[1]);
  49.                 contentPane.add(label);
  50.                
  51.                 JLabel label_1 = new JLabel();
  52.                 label_1.setBounds(164, 40, 107, 101);
  53.                 label_1.setIcon(icon_1[2]);
  54.                 contentPane.add(label_1);
  55.                
  56.                 JLabel label_2 = new JLabel();
  57.                 label_2.setBounds(312, 40, 107, 101);
  58.                 label_2.setIcon(icon_1[3]);
  59.                 contentPane.add(label_2);
  60.                
  61.                 JLabel label_3 = new JLabel();
  62.                 label_3.setBounds(164, 167, 107, 101);
  63.                 label_3.setIcon(icon_1[4]);
  64.                 contentPane.add(label_3);
  65.                
  66.                 JLabel label_4 = new JLabel();
  67.                 label_4.setBounds(312, 167, 107, 101);
  68.                 label_4.setIcon(icon_1[5]);
  69.                 contentPane.add(label_4);
  70.         }

  71. }
複製代碼

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 Test extends JFrame {

  11.         private JPanel contentPane;
  12.         private ImageIcon icon,picon;
  13.         private ImageIcon[] pic,newpic;

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

  29.         /**
  30.          * Create the frame.
  31.          */
  32.         public Test() {
  33.                
  34.                 icon = new ImageIcon(Test.class.getResource("icon.png"));
  35.             Image img = icon.getImage().getScaledInstance(376,208,Image.SCALE_FAST);
  36.         setIconImage(img);
  37.                
  38.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  39.                 setBounds(100, 100, 450, 300);
  40.                 contentPane = new JPanel();
  41.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  42.                 setContentPane(contentPane);
  43.                 contentPane.setLayout(null);
  44.                
  45.                 JLabel label_0 = new JLabel("New label");
  46.                 label_0.setBounds(10, 10, 132, 108);
  47.                 contentPane.add(label_0);
  48.                
  49.                 JLabel label_1 = new JLabel("New label");
  50.                 label_1.setBounds(10, 128, 132, 108);
  51.                 contentPane.add(label_1);
  52.                
  53.                 JLabel label_2 = new JLabel("New label");
  54.                 label_2.setBounds(152, 10, 132, 108);
  55.                 contentPane.add(label_2);
  56.                
  57.                 JLabel label_3 = new JLabel("New label");
  58.                 label_3.setBounds(152, 128, 132, 108);
  59.                 contentPane.add(label_3);
  60.                
  61.                 JLabel label_4 = new JLabel("New label");
  62.                 label_4.setBounds(302, 10, 132, 108);
  63.                 contentPane.add(label_4);
  64.                
  65.                 JLabel label_5 = new JLabel("New label");
  66.                 label_5.setBounds(302, 128, 132, 108);
  67.                 contentPane.add(label_5);
  68.                
  69.                 pic = new ImageIcon[6];
  70.                 newpic = new ImageIcon[6];
  71.                 for(int i = 0 ; i < 6 ; i++){
  72.                         pic[i] = new ImageIcon(Test.class.getResource("0"+String.valueOf(i+1)+"png"));
  73.                   
  74.                 
  75.                        
  76.                 }
  77.                 for(int i = 0 ; i < 6 ; i++){
  78.                   Image pimg = pic[i].getImage().getScaledInstance(132,108,Image.SCALE_FAST);
  79.                newpic[i] = new ImageIcon(pimg);
  80.                 
  81.                 }
  82.         }

  83. }
複製代碼

TOP

返回列表