JAVA大學實用教程實驗指導10.2.1答案

P122                   佈局                      代碼補完

 

 

 

LayoutExample.java

 

 

  1. import javax.swing.*;
  2. import java.awt.*;
  3. import javax.swing.border.*;
  4. class MyWin extends JFrame
  5. {
  6.     JTabbedPane tabbedPane;
  7.     JPanel flowLayoutPanel,
  8.             gridLayoutPanel,
  9.             borderLayoutPanel,
  10.             nullLayoutPanel;
  11.     Box boxLayoutPanel;
  12.     JSplitPane splitPaneOne,splitPaneTwo;
  13.     JLayeredPane layeredPane;
  14.     public MyWin()
  15.     {
  16.         JButton b[]=new JButton[35];
  17.         for(int i=0;i<b.length;i++)
  18.         {
  19.             b[i]=new JButton("***");
  20.         }
  21.         JTextArea text=new JTextArea("大家好");
  22.         setBounds(100,100,500,300);
  23.         setVisible(true);
  24.         tabbedPane=new JTabbedPane(JTabbedPane.LEFT);
  25.         FlowLayout flow=new FlowLayout();
  26.         flowLayoutPanel=new JPanel();
  27.         flow.setAlignment(FlowLayout.LEFT);
  28.         flow.setVgap(4);
  29.         flow.setHgap(10);
  30.         flowLayoutPanel.setLayout(flow);
  31.         for(int z=1;z<6;z++)
  32.         {
  33.             flowLayoutPanel.add(b[z]);
  34.         }
  35.         tabbedPane.add("觀看FlowLayout佈局",flowLayoutPanel);
  36.         gridLayoutPanel=new JPanel();
  37.         GridLayout grid=new GridLayout(2,3);
  38.         grid.setVgap(6);
  39.         grid.setHgap(8);
  40.         gridLayoutPanel.setLayout(grid);
  41.         for(int y=6;y<12;y++)
  42.         {
  43.             gridLayoutPanel.add(b[y]);
  44.         }
  45.         tabbedPane.add("觀看GriderLayout佈局",gridLayoutPanel);
  46.         borderLayoutPanel=new JPanel();
  47.         BorderLayout border=new BorderLayout();
  48.         border.setVgap(5);
  49.         border.setHgap(7);
  50.         borderLayoutPanel.setLayout(border);
  51.         borderLayoutPanel.add(b[12],BorderLayout.SOUTH);
  52.         borderLayoutPanel.add(b[13],BorderLayout.NORTH);
  53.         borderLayoutPanel.add(text,BorderLayout.CENTER);
  54.         borderLayoutPanel.add(b[14],BorderLayout.EAST);
  55.         borderLayoutPanel.add(b[15],BorderLayout.WEST);
  56.         tabbedPane.add("觀看BorderLayout佈局",borderLayoutPanel);
  57.         boxLayoutPanel=Box.createVerticalBox();
  58.         for (int x=16;x<22;x++)
  59.         {
  60.             boxLayoutPanel.add(b[x]);
  61.         }
  62.         tabbedPane.add("觀看BoxLayout佈局",boxLayoutPanel);
  63.         nullLayoutPanel=new JPanel();
  64.         nullLayoutPanel.setLayout(null);
  65.         for(int w=22;w<27;w++)
  66.         {
  67.             nullLayoutPanel.add(b[w]);
  68.         }
  69.         b[22].setBounds(100,100,60,30);
  70.         b[23].setBounds(130,120,60,30);
  71.         b[24].setBounds(160,140,60,30);
  72.         b[25].setBounds(190,160,60,30);
  73.         b[26].setBounds(210,180,60,30);
  74.         tabbedPane.add("觀看null佈局",nullLayoutPanel);
  75.         splitPaneOne=new JSplitPane(JSplitPane.VERTICAL_SPLIT,b[27],b[28]);
  76.         splitPaneTwo=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,splitPaneOne,b[29]);
  77.         tabbedPane.add("觀看JSplit",splitPaneTwo);
  78.         layeredPane=new JLayeredPane();
  79.         layeredPane.setLayout(null);
  80.         layeredPane.add(b[30],JLayeredPane.DEFAULT_LAYER);
  81.         layeredPane.add(b[31],JLayeredPane.PALETTE_LAYER);
  82.         layeredPane.add(b[32],JLayeredPane.MODAL_LAYER);
  83.         layeredPane.add(b[33],JLayeredPane.POPUP_LAYER);
  84.         layeredPane.add(b[34],JLayeredPane.DRAG_LAYER);
  85.         b[30].setBounds(100,100,60,30);
  86.         b[31].setBounds(130,120,60,30);
  87.         b[32].setBounds(160,140,60,30);
  88.         b[33].setBounds(190,160,60,30);
  89.         b[34].setBounds(210,180,60,30);
  90.         tabbedPane.add("觀看JLayeredPane",layeredPane);
  91.         tabbedPane.validate();
  92.         Container con=getContentPane();
  93.         con.add(tabbedPane,BorderLayout.CENTER);
  94.         con.validate();
  95.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  96.     }
  97. }
  98. public class LayoutExample
  99. {
  100.     public static void main(String args[])
  101.     {
  102.         new MyWin();
  103.     }
  104. }

 

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