Frame frm = new Frame("Window Title");//建立視窗物件,附上標題
frm.setSize(100,200);
frm.setBackground(Color.blue);
frm.setLocation(200,300);//視窗的位置
frm.setVisible(true);//讓視窗印在螢幕上
或者是
class XXX extnds Frame{
XXX frm = new XXX();
frm.setTitle("");
frm.setSize(100,200);
frm.setLocation(200,300);
frm.setVisible(true);
}
import java.awt.*;
public class UITest {
static Frame frm= new Frame("label class");
static Label lab = new Label();
//label亂碼問題
//file→project property→endocing選x-windows-950或x-MS950-SCS
//這是netBean解決方法
static Button btn = new Button("click me");
static Checkbox ckb1= new Checkbox("電腦",true);
static Checkbox ckb2= new Checkbox("人腦");
static Checkbox ckb3= new Checkbox("豬腦",true);
static Checkbox ckb4= new Checkbox("劉邦");
static Checkbox ckb5 = new Checkbox("蕭何");
public static void main(String[] args) {
frm.setLayout(null);//加上這行就可以看到原來視窗底色
frm.setSize(400, 300);
frm.setBackground(Color.pink);
lab.setText("初出茅廬");
lab.setBackground(Color.gray);
//執行結果只會看到灰色占滿版面,因為awt預設版面配置
//將物件放大到與視窗同樣大小
lab.setAlignment(Label.CENTER);
// lab.setForeground(Color.red);
lab.setForeground(new Color(0xE12A94)); //自己建立color物件 設定顏色
lab.setLocation(50, 60);//設定label大小 位置
lab.setSize(100,50);//上面的frm.setLayout(null);再加上這兩行才會正確顯示label位置大小
Font fnt = new Font("新細明體",Font.ITALIC+Font.BOLD,22);//自型、style、size
lab.setFont(fnt);
frm.add(lab);
// lab.setVisible(true);
btn.setBounds(100, 120, 70, 50);
btn.setForeground(Color.red);
btn.setBackground(Color.green);
frm.add(btn);
//==============複選的checkbox作法 ,個別建立checkbox物件=====//
// ckb1.setSize(100, 50);
// ckb2.setSize(100,50);
// ckb3.setSize(100, 50);
// ckb1.setLocation(200, 160);
// ckb2.setLocation(200,200);
// ckb3.setLocation(200, 230);
ckb1.setBounds(200, 160, 100, 50);
ckb2.setBounds(200, 200, 100, 50);
ckb3.setBounds(200, 230, 100, 50);
frm.add(ckb1);
frm.add(ckb2);
frm.add(ckb3);
//=========單選的checkbox作法,建立checkbox群組物件,設定checkbox屬於群組物件
CheckboxGroup grp = new CheckboxGroup();
ckb4.setBounds(300, 200, 100, 50);
ckb5.setBounds(300, 230, 100, 50);
ckb4.setCheckboxGroup(grp);//將ckb4設定為grp的群組物件
ckb5.setCheckboxGroup(grp);
ckb4.setState(true);//預設選取
frm.add(ckb4);
frm.add(ckb5);
frm.setVisible(true);
}
}
Panel物件:面板。屬於containner子類別。可以做版面配置。
可以放進Frame物件。一個Frame可容納多個Panel
Panel可放button edittext checkbox等componemt
import java.awt.*;
public class PanelTest {
static Frame frm=new Frame("Panel class");
static Panel pnl = new Panel(new GridLayout(3,3));
//宣告Panel物件,並帶入layout物件。3x3格的]GridLayout
static Label lab= new Label("Hello",Label.RIGHT);//標籤文字靠右對齊
public static void main(String[] args) {
frm.setLayout(null);//取消Frame版面配置,否則無法正確設定frame內部元件的大小
// frm.setSize(600, 500);
frm.setBounds(300,50, 600, 500);
frm.setBackground(new Color(0x00ff99));
frm.setResizable(false);//視窗設為固定大小
lab.setBounds(20, 40, 60, 40);
lab.setBackground(Color.red);
pnl.setBounds(20, 80, 300, 220);
pnl.setBackground(Color.GRAY);
for(int i=1;i<=9;i++){
pnl.add(new Button(Integer.toString(i)));
}
frm.add(lab);
frm.add(pnl);
frm.setVisible(true);
}
}
沒有留言:
張貼留言