?? java入門(9) java與gui.htm
字號:
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> 2)按鈕類中還提供了一個方法,可以修改按鈕標簽。以下就是一個應用實例:
<BR><BR><BR>button1.setText(“OK”);
<BR><BR><BR><BR> 其中button1是按鈕名,setText是方法名,set就是設置,Text就是文本,也就是設置按鈕上的文本色。參數(shù)是”O(jiān)K”。這樣就會將button1的標簽改為”O(jiān)K”。
<BR><BR> 請使用這個方法修改程序useButton,使得按鈕上顯示按過的次數(shù),如果沒有按下,則仍顯示“Beep!”。只需寫出修改的部分。
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> 練習答案 <BR><BR> 1) 以下就是一個實現(xiàn)實例: <BR><BR> 源程序:lianxi901.java
<BR><BR><BR>import javax.swing.*; <BR>import java.awt.*; <BR>import
java.awt.event.*; <BR>public class lianxi901 extends JApplet <BR>{
<BR>JButton buttonRed; <BR>JButton buttonGreen; <BR>JButton buttonBlue;
<BR>public void init() <BR>{ <BR>JPanel panel1=(JPanel)getContentPane();
<BR>panel1.setLayout(new FlowLayout()); <BR>buttonRed=new JButton(“set
red”); <BR>buttonGreen=new JButton(“set green”); <BR>buttonBlue=new
JButton(“set blue”); <BR>panel1.add(buttonRed);
<BR>panel1.add(buttonGreen); <BR>panel1.add(buttonBlue);
<BR>buttonRed.addActionListener(new ActionListener() <BR>{ <BR>public void
actionPerformed(ActionEvent evt) <BR>{
<BR>buttonRed.setForeground(Color.red);
<BR>buttonGreen.setForeground(Color.red);
<BR>buttonBlue.setForeground(Color.red); <BR>} <BR>});
<BR>buttonGreen.addActionListener(new ActionListener() <BR>{ <BR>public
void actionPerformed(ActionEvent evt) <BR>{
<BR>buttonRed.setForeground(Color.green);
<BR>buttonGreen.setForeground(Color.green);
<BR>buttonBlue.setForeground(Color.green); <BR>} <BR>});
<BR>buttonBlue.addActionListener(new ActionListener() <BR>{ <BR>public
void actionPerformed(ActionEvent evt) <BR>{
<BR>buttonRed.setForeground(Color.blue);
<BR>buttonGreen.setForeground(Color.blue);
<BR>buttonBlue.setForeground(Color.blue); <BR>} <BR>}); <BR>} <BR>}
<BR><BR><BR><BR> 通過構(gòu)建一個HTML文件,使其包含這個Applet后,以下就是一個運行效果之一:
<BR><BR><BR> 圖9-2 練習的輸出 <BR><BR> 2) 要實現(xiàn)這個功能很簡單,只需做兩個修改: <BR><BR> a.
在變量定義處加入一個新的變量定義: <BR><BR><BR>int counter=0;
<BR><BR><BR><BR> b.在button1的addActionListener方法中的actionPerformed中加入一行:
<BR><BR><BR>Button1.setText(String.valueOf(++counter));
<BR><BR><BR><BR> 9.3 使用Label(標簽) <BR><BR> 實例說明
<BR><BR> 1.首先,我們使用文字編輯軟件輸入下源程序。 <BR><BR> 源程序:useLabel.java
<BR><BR><BR>import javax.swing.*; <BR>import java.awt.*; <BR>import
java.awt.event.*; <BR>public class useLabel extends JApplet <BR>{
<BR>JLabel label1; <BR>public void init() <BR>{ <BR>label1=new
JLabel(“This is a java label!”);
<BR>label1.setHorizontalAlignment(SwingConstants.CENTER);
<BR>label1.setVerticalAlignment(SwingConstants.TOP);
<BR>label1.setBackground(Color.red); <BR>label1.setOpaque(true);
<BR>label1.setForeground(Color.white); <BR>label1.setToolTipText(“Hello,I
am a Java Label!”); <BR>panel1.add(label1); <BR>} <BR>}
<BR><BR><BR><BR> 2.使用javac編譯這個程序。 <BR><BR> 3.編輯一個顯示這個Java Applet的頁面:
<BR><BR> 源程序:useLabel.html <BR><BR><BR><html><body>
<BR><applet code="useLabel.class" WIDTH=150 HEIGHT=100>
<BR></applet> <BR></body></html>
<BR><BR><BR><BR> 4.最后使用appletviewer來運行這個程序: <BR><BR><BR>c:javastudy>
appletviewer useLabel.html <BR><BR><BR><BR> 程序輸出如下圖所示: <BR><BR><BR> 圖9-3
程序useLabel的運行結(jié)果 <BR><BR> 傳授新知
<BR><BR> 我們可以看到這一段程序,與useButton.java十分類似,在類的前面,包含了編寫GUI程序要使用的包:javax.swing.*、java.awt.*和java.awt.event.*。
<BR><BR> 接著,通過使用“extends
JApplet”說明useLabel類也是一個小應用程序(Applet)。在init方法中,首先創(chuàng)建了一個容器---Panel,用來放置后面創(chuàng)建的“標簽”。我們下面就認真地看一下關(guān)于Label的語句:
<BR><BR> 1) <BR><BR><BR>label1=new JLabel(“This is a java label!”);
<BR><BR><BR><BR> 類似的,我們使用new來創(chuàng)建一個Label實例,參數(shù)“This is a java
label!”就是標簽要顯示的內(nèi)容。如果省略這個標簽,將創(chuàng)建一個空標簽,什么也不會顯示。 <BR><BR> 一些提示:
<BR><BR> 在Java語言中,標簽提供了一個setText方法,可以用來設置它顯示的內(nèi)容。 <BR><BR> 2)
<BR><BR><BR>label1.setHorizontalAlignment(SwingConstants.CENTER);
<BR>label1.setVerticalAlignment(SwingConstants.TOP);
<BR><BR><BR><BR> Label類提供兩個設置其對齊方式的方法: <BR><BR> §
setHorizontalAlignment:設置水平對齊方式; <BR><BR> 它的有效參數(shù)是: <BR><BR> ¨
SwingConstants.LEFT:左對齊;(默認值,也就是不設置時則左對齊) <BR><BR> ¨
SwingConstants.CENTER:居中對齊; <BR><BR> ¨ SwingConstants.RIGHT:右對齊;
<BR><BR> § setVerticalAlignment:設置垂直對齊方式; <BR><BR> 它的有效參數(shù)是: <BR><BR> ¨
SwingConstants.TOP:向上對齊; <BR><BR> ¨
SwingConstants.CENTER:居中對齊;(默認值,也就是不設置時居中對齊) <BR><BR> ¨
SwingConstants.BOTTOM:向下對齊; <BR><BR> 3) label1.setBackground(Color.red);
<BR><BR> label1.setOpaque(true);
<BR><BR> setBackground方法用來設置標簽的背景色。但是Java的Swing部件默認狀態(tài)下是不透明的,在這種狀態(tài)下是無法顯示背景色的。因此,我們還需使用setOpaque(true)方法使該部件變?yōu)橥该鞯摹?
<BR><BR> 4) <BR><BR><BR>label1.setForeground(Color.white);
<BR><BR><BR><BR> 與按鈕一樣,我們可以使用setForeground方法來設置字符顏色。 <BR><BR> 5)
<BR><BR><BR>label1.setToolTipText(“Hello,I am a Java Label!”);
<BR><BR><BR><BR> 在Windows的界面中,許多工具按鈕都提供了一個這樣的功能:當你將鼠標放在這個按鈕上面一會兒,就會出現(xiàn)一個幫助性的提示。在Java語言中,我們可以很簡單地使用:
<BR><BR> 部件.setToolTipText(“提示信息”) <BR><BR> 來實現(xiàn)這個功能。 <BR><BR> 一些提示:
<BR><BR> 其實“按鈕”部件也可以使用這個方法來顯示提示信息。 <BR><BR> 6)
<BR><BR><BR>panel1.add(label1);
<BR><BR><BR><BR> 最后,我們使用容器panel的add方法,將這個標簽放置到容器中。 <BR><BR> 自測練習
<BR><BR> 1) 標簽Label上顯示的文本信息一經(jīng)定后,就不能在程序中動態(tài)修改。________ <BR><BR> a. 錯 b.對
<BR><BR> 2) 對于一個Label來說,默認的水平對齊方式是:________。
<BR><BR> a.SwingConstants.CENTER b.SwingConstants.RIGHT
<BR><BR> c.SwingConstants.LEFT <BR><BR> 3)
對于一個Label來說,默認的垂直對齊方式是:________。 <BR><BR> a.SwingConstants.CENTER
b.SwingConstants.BOTTOM <BR><BR> c.SwingConstants.TOP <BR><BR> 4)
要獲得一個Label上顯示的文本信息,應使用_________方法。 <BR><BR> a.setText b.getText
c.getContent <BR><BR> 5)標簽類中提供了一個方法,可以修改標簽上顯示的文本。以下就是一個 應用實例:
<BR><BR><BR>label1.setText(“new text!”);
<BR><BR><BR><BR> 請編寫一個程序,在面板左邊顯示一個標簽,右邊顯示一個按鈕,按鈕上顯示“Plus
one”,標簽顯示為“0”。每按一次按鈕,標簽上顯示的數(shù)字就加1. <BR><BR> 一些提示:
<BR><BR> 在Java中,我們還可以使用getText來獲得標簽上顯示的文本信息。 <BR><BR> 程序顯示如下圖所示:
<BR><BR><BR> 圖9-4 練習輸出
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> ____________________________________________________________________
<BR><BR> 練習答案 <BR><BR> 1)a 在程序中可以使用setText方法動態(tài)修改Label顯示的文本信息。
<BR><BR> 2)c 默認是水平左對齊。 <BR><BR> 3)a 默認是垂直居中對齊。 <BR><BR> 4)b
setText方法是設置文本,getText是獲取文本,并沒有g(shù)etContent方法。 <BR><BR> 5)以下就是一個實現(xiàn)該功能的程序?qū)嵗?
<BR><BR> 源程序:lianxi902.java <BR><BR><BR>import javax.swing.*; <BR>import
java.awt.*; <BR>import java.awt.event.*; <BR>public class lianxi902
extends JApplet <BR>{ <BR>JButton button1; <BR>JLabel label1; <BR>int
counter=0; <BR>public void init() <BR>{ <BR>JPanel
panel1=(JPanel)getContentPane(); <BR>panel1.setLayout(new FlowLayout());
<BR>label1=new JLabel(String.valueOf(counter));
<BR>label1.setIcon("winupd.ico"); <BR>button1=new JButton("Plus one");
<BR>panel1.add(label1); <BR>panel1.add(button1);
<BR>button1.addActionListener(new ActionListener() <BR>{ <BR>public void
actionPerformed(ActionEvent evt) <BR>{
<BR>label1.setText(String.valueOf(++counter)); <BR>} <BR>}); <BR>} <BR>}
<BR><BR><BR><BR> 9.4 復選框與單選按鈕 <BR><BR> 實例說明
<BR><BR> 1.首先,我們使用文字編輯軟件輸入下源程序。 <BR><BR> 源程序:useCheckbox.java
<BR><BR><BR>import javax.swing.*; <BR>import java.awt.*; <BR>import
java.awt.event.*; <BR>public class useCheckbox extends JApplet <BR>{
<BR>JButton button1; <BR>int counter=0; <BR>Checkbox
setbeep,setcounter,red,green,blue; <BR>CheckboxGroup colorSel; <BR>public
void init() <BR>{ <BR>JPanel panel1=(JPanel)getContentPane();
<BR>panel1.setLayout(new FlowLayout()); <BR>setbeep=new Checkbox("Beep
when press button"); <BR>setcounter=new Checkbox("Counter press time");
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -