⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java入门(9) java与gui.htm

📁 一本很容易入手
💻 HTM
📖 第 1 页 / 共 5 页
字号:
      <BR>panel1.add(setbeep); <BR>panel1.add(setcounter); <BR>colorSel=new 
      CheckboxGroup(); <BR>red=new Checkbox("Set red",colorSel,true); 
      <BR>green=new Checkbox("Set green",colorSel,false); <BR>blue=new 
      Checkbox("Set blue",colorSel,false); <BR>panel1.add(red); 
      <BR>panel1.add(green); <BR>panel1.add(blue); <BR>red.addItemListener(new 
      ItemListener() <BR>{ <BR>public void itemStateChanged(ItemEvent evt) <BR>{ 
      <BR>if(evt.getStateChange()==ItemEvent.SELECTED) 
      <BR>button1.setForeground(Color.red); <BR>} <BR>}); 
      <BR>green.addItemListener(new ItemListener() <BR>{ <BR>public void 
      itemStateChanged(ItemEvent evt) <BR>{ 
      <BR>if(evt.getStateChange()==ItemEvent.SELECTED) 
      <BR>button1.setForeground(Color.green); <BR>} <BR>}); 
      <BR>blue.addItemListener(new ItemListener() <BR>{ <BR>public void 
      itemStateChanged(ItemEvent evt) <BR>{ 
      <BR>if(evt.getStateChange()==ItemEvent.SELECTED) 
      <BR>button1.setForeground(Color.blue); <BR>} <BR>}); <BR>button1=new 
      JButton("Press me"); <BR>panel1.add(button1); 
      <BR>button1.addActionListener(new ActionListener() <BR>{ <BR>public void 
      actionPerformed(ActionEvent evt) <BR>{ <BR>doButton1Action(); <BR>} 
      <BR>}); <BR>} <BR>public void doButton1Action() <BR>{ <BR>if 
      (setbeep.getState()) <BR>Toolkit.getDefaultToolkit().beep(); <BR>if 
      (setcounter.getState()) <BR>button1.setText("press: 
      "+String.valueOf(++counter)); <BR>else <BR>button1.setText("Press me"); 
      <BR>} <BR>} <BR><BR><BR><BR>  2.使用javac编译这个程序,然后编辑一个显示这个Java Applet的页面: 
      <BR><BR>  源程序:useCheckbox.html <BR><BR><BR>&lt;html&gt;&lt;body&gt; 
      <BR>&lt;applet code="useCheckbox.class" width=320 height=150&gt; 
      <BR>&lt;/applet&gt; <BR>&lt;/body&gt;&lt;/html&gt; 
      <BR><BR><BR><BR>  4.最后使用appletviewer来运行这个程序,这个程序的输出如下图所示: 
      <BR><BR><BR>  图9-5 程序useCheckbox的运行结果 <BR><BR>  传授新知 
      <BR><BR>  从我们学习Java开始,这个示例程序是大家遇到的最长的一个。大家不要被它吓退,这个程序阅读起来一样并不困难。下面,我们就对程序做一些点评。 
      <BR><BR>  1) <BR><BR><BR>setbeep=new Checkbox("Beep when press button"); 
      <BR>setcounter=new Checkbox("Counter press time"); 
      <BR>panel1.add(setbeep); <BR>panel1.add(setcounter); 
      <BR><BR><BR><BR>  在这一段程序中,我们定义了两个Checkbox:setbeep和setcounter。什么是Checkbox呢?如下图所示: 
      <BR><BR><BR>  图9-6 复选框 
      <BR><BR>  在Java语言中,Checkbox类定义了复选框。复选框用来让用户做出某种选择,正如上图所示,允许选中多个复选框。 
      <BR><BR>  在前两句中,我们使用new创建了这两个复选框;而在后两句中,我们使用容器Panel的add方法将它们装入Panel。 
      <BR><BR>  2) <BR><BR><BR>colorSel=new CheckboxGroup(); <BR>red=new 
      Checkbox("Set red",colorSel,true); <BR>green=new Checkbox("Set 
      green",colorSel,false); <BR>blue=new Checkbox("Set blue",colorSel,false); 
      <BR>panel1.add(red); <BR>panel1.add(green); <BR>panel1.add(blue); 
      <BR><BR><BR><BR>  而这一段程序则是用来定义red、green和blue三个单选按钮。在Java语言中,单选按钮被看作是一组特殊的复选框。我们使用一个CheckboxGroup将它们组成一个组,这样就只允许这个组里的“复选框”只能有一定被选中,这就形成了单选按钮。 
      <BR><BR>  单选按钮与复选框在外观上也不同:复选框是一个正方形的小框,而单选按钮则是一个小小的圆,如下图所示: 
      <BR><BR><BR>  图9-7 单选按钮 
      <BR><BR>  在上面的程序中,我们首先定义了一个组:colorSel。接下来的三条语句使用new操作符创建了三个Checkbox,并在参数列表中指定了它所在的组,其语法格式为: 
      <BR><BR>  单选按钮名=new Checkbox(“提示文本”,所在组名,初值); 
      <BR><BR>  其中初值是布尔型的:true表示选中,false表示未选中。 <BR><BR>  注意: 
      <BR><BR>  一组单选按钮中仅能有一个按钮的初值是true,因为是“单选”嘛。 
      <BR><BR>  最后,我们再次调用了panel的add方法,将它们装入容器panel中。 <BR><BR>  3) 
      <BR><BR><BR>red.addItemListener(new ItemListener() <BR>{ <BR>public void 
      itemStateChanged(ItemEvent evt) <BR>{ 
      <BR>if(evt.getStateChange()==ItemEvent.SELECTED) 
      <BR>button1.setForeground(Color.red); <BR>} <BR>}); 
      <BR><BR><BR><BR>  这段程序用到了许多我们没有遇到过的东西!不过不要紧,做为初学者还是要学会“黑盒子”学习方法,也就是在学习的初级阶段要将某些东西当作一个整体来接受,而不是每一个都要剖析清楚,那样就会影响学习效果的。正如这段程序,大家只要会用,会理解就行了,不一定要搞懂为什么这么写。 
      <BR><BR>  第一行中red.addItemListener用来为单选按钮red增加一个监测器。监测什么呢?第3行说明监测itemStateChanged(状态改变时)。第5行说明当监测到状态改变时,就判断改变后的状态是不是“选中”的。如果是,就执行第6行,将按钮button1的前景色设置为红色。 
      <BR><BR>  在后面的两段中,我们采用相同的方法为单选按钮green和blue分别创建了一个监测器,使得当其被“选中”时,就将按钮button1的前景色设置为相应的颜色(绿色和蓝色)。 
      <BR><BR>  4) <BR><BR><BR>button1.addActionListener(new ActionListener() 
      <BR>{ <BR>public void actionPerformed(ActionEvent evt) <BR>{ 
      <BR>doButton1Action(); <BR>} <BR>}); 
      <BR><BR><BR><BR>  这一段程序,我们在9.2小节中就遇到过。它是用来为按钮button1创建一个监测器。不同的是,当时我们是直接说明了当按钮按下时所要执行的语句。而在此,我们则是让其去执行一个doButton1Action方法。这个方法,是在我们后面的程序中定义的。 
      <BR><BR>  5) <BR><BR><BR>public void doButton1Action() <BR>{ <BR>if 
      (setbeep.getState()) <BR>Toolkit.getDefaultToolkit().beep(); <BR>if 
      (setcounter.getState()) <BR>button1.setText("press: 
      "+String.valueOf(++counter)); <BR>else <BR>button1.setText("Press me"); 
      <BR>} 
      <BR><BR><BR><BR>  这就是当按下按钮button1时,执行的方法doButton1Action。整个方法可以分为两个部分的工作: 
      <BR><BR>  其一是: <BR><BR><BR>if (setbeep.getState()) 
      <BR>Toolkit.getDefaultToolkit().beep(); 
      <BR><BR><BR><BR>  即,首先判断复选框setbeep否被选中(使用复选框的getState方法获得其状态,如果被选中,返回true;如果未被选中,返回false)。如果被选中,就响铃。 
      <BR><BR>  把整个程序逻辑串起来讲就是:当按钮button1按下时,将检查复选框setbeep是否被选中,如果被先中,就响铃,否则无任何反应。 
      <BR><BR>  其二是: <BR><BR><BR>if (setcounter.getState()) 
      <BR>button1.setText("press: "+String.valueOf(++counter)); <BR>else 
      <BR>button1.setText("Press me"); 
      <BR><BR><BR><BR>  即,首先判断复选框setcounter是否被选中。如果被选中,则改变按钮button1的显示文本,将其改为press:按下总次数;否则,让其显示最初的“Press 
      me”。 <BR><BR>  自测练习 <BR><BR>  1) 在Java语言中,复选框类名是____________。 
      <BR><BR>  a.Button b.Checkbox c.checkBox d.Label <BR><BR>  2) 
      在Java语言中,单选框类名是____________。 <BR><BR>  a.Label b.checkBox c.Button 
      d.Checkbox <BR><BR>  3) 
      假设有cb1、cb2、cb3三个对象,属于同一个CheckboxGroup,则它们是________。 <BR><BR>  a.单选按钮 b.复选框 
      <BR><BR>  4) 复选框的外观是________。 <BR><BR>  a.一个小正方形 b.一个小圆形 c.一个小三角形 
      <BR><BR>  5) 单选框的外观是________。 <BR><BR>  a.一个小正方形 b.一个小圆形 c.一个小三角形 
      <BR><BR>  6) 编写一段程序,使其运行结果如下图所示: <BR><BR><BR>  图9-8 练习903题图 
      <BR><BR>  并且,当选中了NO.1,则按钮显示为NO.1;选中了NO.2,则按钮显示为NO.2。 
      <BR><BR>  ____________________________________________________________________ 
      <BR><BR>  ____________________________________________________________________ 
      <BR><BR>  ____________________________________________________________________ 
      <BR><BR>  ____________________________________________________________________ 
      <BR><BR>  ____________________________________________________________________ 
      <BR><BR>  ____________________________________________________________________ 
      <BR><BR>  练习答案 <BR><BR>  1)b 复选框类名为Checkbox,第一个字母“C”是大写字母。 <BR><BR>  2)d 
      单选按钮也是Checkbox,与复选框的不同是,单选按钮是属于一个CheckboxGroup的。 <BR><BR>  3)a 
      加入了同一个CheckboxGroup,就成为一组,一组中仅有一个能够被选中,称为单选按钮。 <BR><BR>  4)a 请参看图9-6。 
      <BR><BR>  5)b 请参看图9-7。 <BR><BR>  6)以下是一个实现实例: <BR><BR>  源程序:lianxi903.java 
      <BR><BR><BR>import javax.swing.*; <BR>import java.awt.*; <BR>import 
      java.awt.event.*; <BR>public class lianxi903 extends JApplet <BR>{ 
      <BR>JButton button1; <BR>Checkbox theOne,theTwo; <BR>CheckboxGroup cbg1; 
      <BR>public void init() <BR>{ <BR>JPanel panel1=(JPanel)getContentPane(); 
      <BR>panel1.setLayout(new FlowLayout()); <BR>cbg1=new CheckboxGroup(); 
      <BR>theOne=new Checkbox("NO.1",cbg1,true); <BR>theTwo=new 
      Checkbox("NO.2",cbg1,false); <BR>button1=new JButton("Button"); 
      <BR>panel1.add(theOne); <BR>panel1.add(theTwo); <BR>panel1.add(button1); 
      <BR>theOne.addItemListener(new ItemListener() <BR>{ <BR>public void 
      itemStateChanged(ItemEvent evt) <BR>{ 
      <BR>if(evt.getStateChange()==ItemEvent.SELECTED) 
      <BR>button1.setText("NO.1"); <BR>} <BR>}); <BR>theTwo.addItemListener(new 
      ItemListener() <BR>{ <BR>public void itemStateChanged(ItemEvent evt) <BR>{ 
      <BR>if(evt.getStateChange()==ItemEvent.SELECTED) 
      <BR>button1.setText("NO.2"); <BR>} <BR>}); <BR>} <BR>} 
      <BR><BR><BR><BR>  9.5 使用列表框 <BR><BR>  实例说明 
      <BR><BR>  1.首先,我们使用文字编辑软件输入下源程序。 <BR><BR>  源程序:useList.java 
      <BR><BR><BR>import javax.swing.*; <BR>import java.awt.*; <BR>import 
      java.awt.event.*; <BR>public class useList extends JApplet <BR>{ <BR>Label 
      label1; <BR>List colorList; <BR>public void init() <BR>{ <BR>JPanel 
      panel1=(JPanel)getContentPane(); <BR>panel1.setLayout(new FlowLayout()); 
      <BR>colorList=new List(); <BR>colorList.add("red"); 
      <BR>colorList.add("green"); <BR>colorList.add("blue"); 
      <BR>colorList.select(0); <BR>panel1.add(colorList); <BR>label1=new 
      Label("You selected red"); <BR>label1.setForeground(Color.red); 
      <BR>panel1.add(label1); <BR>colorList.addItemListener(new ItemListener() 
      <BR>{ <BR>public void itemStateChanged(ItemEvent evt) <BR>{ <BR>String 
      selString; <BR>String sel; <BR>int selNum; 
      <BR>if(evt.getStateChange()==ItemEvent.SELECTED) <BR>{ 
      <BR>selNum=colorList.getSelectedIndex(); 
      <BR>sel=colorList.getItem(selNum); <BR>selString="You selected "+sel; 
      <BR>label1.setText(selString); <BR>switch(selNum) <BR>{ <BR>case 0: 
      <BR>label1.setForeground(Color.red); <BR>break; <BR>case 1: 
      <BR>label1.setForeground(Color.green); <BR>break; <BR>case 2: 
      <BR>label1.setForeground(Color.blue); <BR>break; <BR>} <BR>} <BR>} <BR>}); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -