1. 程式人生 > >Java 新建一個簡單的窗體(僅新增一個文字框)

Java 新建一個簡單的窗體(僅新增一個文字框)

public static void main (String[] args) {
    //新建一個JFrame窗體
    JFrame jf = new JFrame();
    //設定窗體的寬為400 高為300
    jf.setSize(400, 300);
    //直接設定視窗開啟後再螢幕上顯示的位置
    //jf.setLocation(200,200);
    //設定視窗居中
    //setLocationRelativeTo: 設定視窗相對座標
    jf.setLocationRelativeTo(null);
    //設定佈局(下面一章有解釋)
    jf.setLayout(null);
    //設定文字內容
    JLabel jl = new JLabel("文字");
    //文字顏色
    jl.setForeground(Color.GRAY);
    jl.setBounds(50,50,280,30);
    jf.add(jl);
    //點叉之後結束程序
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //顯示視窗
    jf.setVisible(true);
}

宣告佈局格式的方式   如: setLayout(new FlowLayout());

1. FlowLayout佈局  FlowLayout佈局是JPanel 的預設佈局,組建按照加入的先後順序從左到右排列,一行排滿之後就轉到下一行繼續從左到右排列 ,每一行都居中排列,水平和垂直的間距都是5個畫素,元件設定大小用  set.PreferredSize(Dimension preferredSize)  

例如:

button.setPreferredSize(new Dimension(20,20));

重新設定佈局方式: setAlignment(int aligin);   aligin 的取值為 FlowLayout.LEFT,FlowLayout.RIGHT,FlowLayout.CENTER   ;  重新設定水平和垂直的間隙  setHgap(int hgap); setVgap(int vgap); 2.BorderLayout佈局 Window型容器的預設佈局(JFrame,JDialog)   容器空間簡單的劃分為東南西北中5個區域,中間的區域最大 ,由BorderLayout 中的靜態變數WEST,EAST,SOUTH,NORTH,CENTER表示區域 .有BorderLayout佈局的容器con  例:

con.add(b,BorderLayout.EAST);

新增到某一個區域的元件佔有整個區域,再新增進來,舊的就會被替換掉 ,只能新增5個元件,5個以上的話使用其他的佈局或者容器巢狀. 3.CardLayout佈局 元件被層疊的放入容器,最先加入的在最上面,同一時刻容器只能從這些元件中選一個來顯示,容器呼叫add(String s,Component b);的方式將元件b加入容器  s為代號和元件沒有必然關係,不同的元件代號不能相同  

呼叫show(Component con,s)的方法顯示代號為s的容器  card.show(con,s);    card.first(con) card.next(con),card.last(con) ,card.previous(con)  分別顯示容器con的第一個,下一個,最後一個,上一個 元件

4.GirdLayout佈局 把容器分成若干行和若干列的網格區域    構造方法  GirdLayout(int m,int n); 建立佈局物件,指定行和列

GridLayout gy =new GridLayout(10,12);

可以新增m*n個元件   用add(Component c)將元件新增進入   ,從第一行第一個開始到最後一行最後一個  (每個網格強制相等) 5.BoxLayout  盒式佈局 Box  建立的容器是盒式容器 預設佈局是盒式佈局並且不允許修改

盒式佈局構造方法 BoxLayout(Container con,int axis);axis 的有效值  BoxLayout.X_AXIS, BoxLayout.Y_AXIS.決定盒式佈局是行型還是列型    行(列)型元件再多也不會延伸到下一行 (列) ,沿著同一水平線或垂直線

Box 類呼叫靜態方法 createHorizontalBox()   獲得一個行型的盒式佈局的盒式容器  

Box類 呼叫靜態方法 createVerticalBox()  獲得一個列型的盒式佈局的盒式容器

Box 呼叫靜態方法 createVerticalStrut(int height)    createHorizontalBox(int width)   得到不可見的Strut物件 設定水平(垂直)的Box之間的間距

6.null 佈局   空佈局可以準確的定位元件在容器中的位置和大小 setBounds(int a,int b,int width,int height)  設定位置和本身大小 , a,b 是元件在容器p中的座標