java課程設計第一週總結歸納

圖像用戶界面
使用方式:藉助菜單、按鈕等標準界面元素和鼠標操做,幫助用戶方便的發送指令,並將運行結果以圖形的方式展示給用戶
經過抽象窗口工具包(AWT)來建立圖形用戶界面(GUI)
AWT包主要提供了三大類:
容器類
Ui組件類
幫助類
Jdk1.2之後引入新包swing,在AWT的基礎上增長了不少功能
java課程設計第一週總結歸納java

UI組件
Java的圖形用戶界面最基本的組成部分是組件,且組件不能單獨顯示出來,必須放在單獨的容器中才能夠顯示出來
在componen類中定義了AWT組件具備通常功能如:大小,位置控制,外形控制,組件的狀態控制等
AWT支持的組件:按鈕、標籤、文本框、文本去、複選框、單選按鈕、滾動條、表格、菜單等……數組

容器:具備的功能是組件管理和佈局管理,組件管理中通常包含的方法:add(),remove(),getcomponent
Container類能夠直接或間接的派生兩個經常使用的容器---框架frame類,面板panel類框架

幫助類
Graphics類,佈局管理類(爲容器設置此類時可調用容器類中的setlayout()方法),Color類和Font類ide

容器類組件:分爲頂層容器(能夠獨立的窗口,重要的子類是Frame和Dialog)和非頂層容器(必須位於窗口以內,包括Panle和scrollPane等,Panle的重要子類是Applet類)工具

開發GUI
第一步:導包
第二步:建立組建的對象
第三步:初始化
建立窗口:方法一:繼承。佈局

import java.awt.;
import javax.swing.
;
public class Java extends JFrame {
public Java() {
this.setTitle("窗口");
this.setSize(500,500);
this.setLocation(400,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this

}

public class Test {
public static void main(String[] args) {
new Java();
}
}
}
java課程設計第一週總結歸納
方法二:建立子類
public void test() {
JFrame frame=new JFrame();
frame.setTitle("窗口");
frame.setSize(500,500);
frame.setLocation(400,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
lable標籤
label.fontcolor, label.font, label.fontsize,label.foreground,label.sethorizontalAlignment()—對齊方式……設計

按鈕 button
private JButton button;
button=new JButton("按鈕");
button.setEnabled(false);3d

佈局管理器 layout manager
經常使用佈局:Flowlayout(流式佈局):
Flowlayout():生成一個默認的流式佈局
Flowlayout(int alignment):能夠設定每一行組件的對齊方式
java課程設計第一週總結歸納
Flowlayout(int alignment, int horz, int vert): 能夠設定組件間的水平和垂直距離code

多個按鈕:private JButton btn[]=new JButton[10];
for(int i=0;i<btn.length;++i) {
btn[i]=new JButton("按鈕"+i);
for(int i=0;i<btn.length;++i) {
this.add(btn[i]);
java課程設計第一週總結歸納
java課程設計第一週總結歸納
Borderlayout(邊界佈局):
Borderlayout();生成默認的編輯佈局
Borderlayout(int horz, int vert): 能夠設定組件間的水平和垂直距離
setLayout(new BorderLayout());
add(btn[0],BorderLayout.EAST);
add(btn[1],BorderLayout.WEST);
add(btn[2],BorderLayout.NORTH);
add(btn[3],BorderLayout.SOUTH);
add(btn[5],BorderLayout.CENTER);
java課程設計第一週總結歸納
Gridlayout (網格佈局):
Gridlayout()生成一個單列的網格佈局
Gridlayout(int row,int col)生成一個有行數列數的網格佈局
setLayout(new GridLayout(4,4,5,5));

for(int i=0;i<btn.length;++i) {
                this.add(btn[i]);
            }

java課程設計第一週總結歸納
Card Layout(卡片佈局)
Boxlayout(框佈局〉
GridBagLayout(網格包佈局)
空佈局:給容器添加組件的時候,組件沒有大小,沒有位置;須要自行建立大小,而且定位位置(setBounds()--既能夠設置大小也能夠設置位置)
每一個容器( Container對象)都有一個與它相關的缺省的佈局管理器。
Appt的缺省佈局是 Flowlayout, Frame的缺省佈局是 Borderlayout,Panel的缺省佈局是
Flowlayout。
java課程設計第一週總結歸納
文本框 TextField
QQ登陸頁面代碼:
import java.awt.;
import javax.swing.
;
public class Login extends JFrame{
private JLabel lname;
private JLabel lpass;
private JTextField tname;
private JTextField tpass;
private JButton login;

private void init() {
    lname=new JLabel("用戶名");
    lpass=new JLabel("密    碼");
     tname=new JTextField(14);
     tpass=new JTextField(14);
     login=new JButton("登陸");
     this.setLayout(new FlowLayout(FlowLayout.CENTER));
    this.add(lname);
    this.add(tname);
    this.add(lpass);
    this.add(tpass);
    this.add(login);
              this.setResizable(false);
     this.setTitle("QQ登陸");
      this.setSize(250,150);
      this.setLocation(400,300);
      this.setVisible(true);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public Login() {
    init();
}

}
public class Test {
public static void main(String[] args) {
new Login();
}
}

獲取屏幕大小:Dimension dim=getToolkit(),getscreensize();
設置大小:定義兩個整型長高,除以2,再減去添加窗體的長寬的二分之一,而後放入setlocation方法中,

關於 Textfield類的經常使用方法有
public String gettext () 獲取文本框中的輸入文本
public String getselectedtext () 獲取文本框中選中的文本
public boolean iseditable () /返回文本框是否可輸入
public void seteditable (boolean b) /設置文本框的狀態:可輸入或不可輸入
public int getcolumns () /獲取文本框的寬度
public void set Columns (int columns) /設置文本框的寬度
public void settext (String t) /設置文本框中的文本爲t

面板
Panel面板默認的是流式佈局,居中對齊
java課程設計第一週總結歸納
文本域(多行文本框):
java課程設計第一週總結歸納

滾動條
import java.awt.FlowLayout;

import javax.swing.*;
public class Panel extends JFrame {
private JTextArea area;
private JScrollPane pane;
private void init() {
area=new JTextArea("多行文本框",5,10);
pane=new JScrollPane(area);
this.setLayout(new FlowLayout());
this.add(pane);
// this.setResizable(false );
this.setTitle("QQ登陸");
this.setSize(400,400);
this.setLocation(960,540);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public Panel() {
init();
}

java課程設計第一週總結歸納

pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

(滾動條老是可見)

多選按鈕
先建立 private JCheckBox box1,box2 ;
在初始化 box1=new JCheckBox("運動");
box1=new JCheckBox("讀書");
在添加 this.add(box1);
this.add(box2);

判斷選沒選擇上(此方法複選單選都適用):box.isSelected(「t\f」)

單選按鈕
先建立 private JRadioButton r1,r2 ;
private ButtonGroup group;

在初始化 r1=new JRadioButton ("男");
r1=new JRadioButton ("女");
group=new ButtonGroup();
在添加 this.add(r1);
this.add(r2);
group.add(r1);
group.add(r2);
注:單選按鈕必須放到一個按鈕組中

列表框
先建立 private JList list;
初始化 list=new JList<String>(new String[] {"a","b","c"});——建立數組,內容就是列表框的內容
再添加 this.add(list);
java課程設計第一週總結歸納

列表框添加滾動條, pane=new JScrollPane(list);
java課程設計第一週總結歸納
列表框可見幾項,配合滾動條使用 list.setVisibleRowCount(3);
獲取選擇選項: list.getSelectedIndex();
list.getSelectedIndices();
list.getSelectedValues()

下拉框
建立 private JComboBox<String> combobox;

初始化 combobox=new JComboBox<String>(new String[] {"a","b","c","d","e","f","g","h","i"});
添加 this.add(combobox);

臨時添加選項: combobox.addItem("f");
combobox.getSelectedItem();
combobox.getSelectedIndex();

滾動條:
建立 private JProgressBar bar;
初始化 bar=new JProgressBar(0,100); 能夠有一個,兩個,三個參數
bar.setStringPainted(true); 滾動條進度可見
bar.setValue(77); 滾動條進度值
java課程設計第一週總結歸納
java課程設計第一週總結歸納
模擬下載:
for(int i=0;i<=100;++i) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}

bar.setValue(i);
 }

設置是否精確滾動條 bar.setIndeterminate(); false 精確,true不精確

菜單:
建立: private JMenuBar menubar;
private JMenu menu1,menu2;
private JMenuItem item1,item2,item3,item4;
初始化: menubar=new JMenuBar();
添加菜單到菜單工具欄
menu1=new JMenu("文件");
menu2=new JMenu("編輯");
菜單項添加到菜單中
item1=new JMenuItem("新建");
item2=new JMenuItem("關閉");
item3=new JMenuItem("複製");
item4=new JMenuItem("粘貼");
menu1.add(item1);
menu1.add(item2);
menu2.add(item3);
menu2.add(item4);
菜單添加到工具欄中
menubar.add(menu1);
menubar.add(menu2);
菜單欄添加到容器 this.setJMenuBar(menubar);
add.separator方法是添加分割符
Icon icon=new ImageIcon(filename); 此方法是給菜單選項添加圖片,添加方法後再將icon添加到有須要圖片的菜單選項中

java課程設計第一週總結歸納

相關文章
相關標籤/搜索