- 浏览: 1728791 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (288)
- java (59)
- javaweb (15)
- eclipse (16)
- uml (1)
- java ee (7)
- windows (5)
- html (4)
- 数据结构和算法 (6)
- oracle (84)
- struts (3)
- ajax (3)
- hibernate (3)
- spring (12)
- ExtJS (14)
- 随笔 (2)
- JavaScript (9)
- PL SQL (12)
- tomcat (2)
- Plugins (5)
- office (2)
- webService (4)
- others (9)
- htc (1)
- 自定义标签的行为 (1)
- powerDesigner (3)
- webSphere (5)
- linux (6)
- dom4j (1)
- xml (5)
- json (2)
- bat (4)
- spring MVC (5)
- MySQL (12)
- junit (4)
- maven (10)
- jquery (1)
- mongoDB (16)
- git (0)
- mybatis (5)
- svn (3)
- activemq (3)
- quartz_job (1)
最新评论
-
白天看黑夜:
PDMReader实现pdm建模快速导出word,html文件 ...
利用powerDesigner逆向导出oracle表为PDM并把PDM转为CDM -
sanshao:
roompig 写道beancopier只实现了浅拷贝的功能, ...
使用Cglib的BeanCopier实现Bean的拷贝 -
贝塔ZQ:
Java实现导入导出excel文件,利用poi实现感觉代码比较 ...
利用java导入导出excel到oracle数据库 -
suxj16:
部署之后启动有问题org.springframework.be ...
spring mvc文件上传实现进度条(转) -
suxj16:
谢谢分享。部署之后启动有问题org.springframewo ...
spring mvc文件上传实现进度条(转)
9.5 使用列表框
实例说明
1.首先,我们使用文字编辑软件输入下源程序。
源程序:useList.java
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class useList extends JApplet { Label label1; List colorList; public void init() { JPanel panel1=(JPanel)getContentPane(); panel1.setLayout(new FlowLayout()); colorList=new List(); colorList.add("red"); colorList.add("green"); colorList.add("blue"); colorList.select(0); panel1.add(colorList); label1=new Label("You selected red"); label1.setForeground(Color.red); panel1.add(label1); colorList.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent evt) { String selString; String sel; int selNum; if(evt.getStateChange()==ItemEvent.SELECTED) { selNum=colorList.getSelectedIndex(); sel=colorList.getItem(selNum); selString="You selected "+sel; label1.setText(selString); switch(selNum) { case 0: label1.setForeground(Color.red); break; case 1: label1.setForeground(Color.green); break; case 2: label1.setForeground(Color.blue); break; } } } }); } }
2.使用javac编译这个程序,然后编辑一个显示这个Java Applet的页面:
3.最后使用appletviewer来运行这个程序,这个程序的输出如下图所示:
图9-9 程序useList的运行结果
当你选择green后,标签将以绿色显示You selected green;而若你选择blue后,标签将以蓝色显示You selected blue。
传授新知
这一节中,我们将碰到一个新的部件---列表框。下面,就对刚才这个程序做一些点评。
1)
colorList=new List(); colorList.add("red"); colorList.add("green"); colorList.add("blue"); colorList.select(0); panel1.add(colorList);
在这一段程序中,我们定义了一个列表框List:colorList。列表框用来将多个表项列出来,以供用户选择,如下图所示:
图9-10 列表框
首先,我们使用new操作符创建一个colorList,然后调用列表框的add方法,增加可供选择的表项(red、green和blue)。最后,使用select方法,使得缺省选择是red(第0项)。
最后使用容器Panel的add方法将它们装入Panel。
一些提示:
假如要让缺省选择的是blue,则应该使用colorList.select(2)。
为列表框的指定位置上增加项目,可以使用方法:
public synchronized void add(String item,int index)
其中,item是一个字符串,用来存放要显示的标签文本。而index则是添加的位置。列表框的位置是一个从0开始的数,所以,假如用户在位置0处增加项目,那么该项目将增加在列表框的顶部。假如用户试图在-1处或大于列表框中项目数(甚至象例子中,不给出index参数)的位置上增加项目,那么将增加到列表框的末尾。
假如你想删除某一项,则可以使用方法:
public synchronized void remove(int position)
其中position就是你要删除项目的位置。假如你想删除掉所有的项,则可调用方法:
public synchronized void removeAll()
2)
colorList.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent evt) { …… } });
与其它部件一样,可以使用addItemListener方法为其设置一个监测器,当列表框选择项改变时就会激活这个监测器。
3)
if(evt.getStateChange()==ItemEvent.SELECTED) { selNum=colorList.getSelectedIndex(); sel=colorList.getItem(selNum); selString="You selected "+sel; label1.setText(selString);
在这一段程序中,我们首先调用了列表框的getSelectedIndex ()方法取得你所选择项目的编号。这个项目返回的是一个整型的索引号。
接着,我们再使用这个索引号调用列表框的getItem方法获取该项目的标签文本。
为了让标签中显示的文本更加清楚、易懂,我们在标签文本的前面加上了“You Selected”,然后调用标签label1的setText方法改变标签所显示的文本。
4)
switch(selNum) { case 0: label1.setForeground(Color.red); break; case 1: label1.setForeground(Color.green); break; case 2: label1.setForeground(Color.blue); break; }
这是一个多分支结构,它根据所选择的项目编号(前面,我们已经调用getSelectedIndex ()方法取得了项目编号,存放在变量selNum中)来做相应的操作。
<1> case 0:假设selNum=0,那么就执行
label1.setForeground(Color.red); break;
也就是,将标签label1的前景色(字的颜色)设置为红色,然后退出switch-case语句。
<2> case 1:假设selNum=1,那么就执行
label1.setForeground(Color.green); break;
将标签label1的前景色设置为绿色,然后退出switch-case语句。
<3> case 2:假设selNum=2,那么就执行
label1.setForeground(Color.blue); break;
将标签label1的前景色设置为蓝色,然后退出switch-case语句。
文本,将其改为press:按下总次数;否则,让其显示最初的“Press me”。
自测练习
1) 在程序中要构建一个列表框,要使用_________类。
a.Checkbox b.Listbox c.List d.Label
2) 列表框中第一项的项目编号(也称索引)是________。
a.0 b.1 c.-1 d.10
3) 假设有一个列表框listbox1,要在其最后添加一项,应使用________________语句。
a.listbox.add(“The end item”,0) b. listbox.add(“The end item”,10)
c. listbox.add(“The end item”,-1) d. listbox.add(“The end item”, 1)
4) 我们可以使用__________________方法,取得当前选择的项目的索引值。
a. getSelectedIndex() b. getItem() c. getNumber()
5) 编写一段程序,使其运行结果如下图所示:
图9-11 练习903题图
当按下Add按钮,就在列表框上增加一项:No.x(x是顺序号),当按下Remove按钮,就删除最后一项。
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
练习答案
1)c 在Java中,类List实现了列表框。
2)a 从0开始,而不是1。
3)c 要在这后一项添加有三种方法。其一:以-1为位置参数;其二:以大于最大项目索引数的数为位置参数;其三:不带位置参数。因此在此,只有c。
4)a getItem是获得显示的内容。
5)下面,我们给出一个实现的实例。
源程序:lianxi904.java
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class lianxi904 extends JApplet { List listbox1; JButton buttonAdd,buttonRemove; int counter=0; public void init() { JPanel panel1=(JPanel)getContentPane(); panel1.setLayout(new FlowLayout()); listbox1=new List(); buttonAdd=new JButton("Add"); buttonRemove=new JButton("Remove"); panel1.add(listbox1); panel1.add(buttonAdd); panel1.add(buttonRemove); buttonAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { listbox1.add("NO."+String.valueOf(counter++)); } }); buttonRemove.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { listbox1.remove(counter-1); counter-=1; } }); } }
9.6 使用文本部件
9.6.1 普通文本框
实例说明
1.编辑以下源程序,生成useText.java文件。
源程序:useTextfield.java
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class useTextfield extends JApplet { JButton buttonOK; JTextField text1; public void init() { JPanel panel1=(JPanel)getContentPane(); panel1.setLayout(new FlowLayout()); buttonOK=new JButton("OK"); text1=new JTextField(20); panel1.add(text1); panel1.add(buttonOK); buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { showStatus(text1.getText()); } }); } }
2.使用javac编译这个程序,然后编辑一个显示这个Java Applet的页面:
3.最后使用appletviewer来运行这个程序,这个程序的输出如下图所示:
图9-12 程序useTextfield.java的运行结果(1)
正如上图所示,屏幕上出现了一个宽度为20的文本框和一个OK按钮。我们可以在这个文本框内写入字符。我们输入“Haha,I’m writing to Java’s TextField!!”,然后单击OK按钮,这时屏幕变为:
图9-13 程序useTextfield.java的运行结果(2)
也就是,我们按下OK按钮后,在状态栏上出现了我们输入的文本信息。
传授新知
多次阅读Java语言源程序,应该为大家积累了不少经验,我想大家在阅读这个程序的时候,因为不再觉得那么费劲了吧。假如你还是觉得读程序是一件痛苦的事的话,我希望你还是好好反省一下,看前面的章节时是不是走马观花了。
好了,言归正传,我们一起来看一下上面的这个程序。这个程序中的大部分语句,大家应该都耳熟能详了,生疏的只有关于本小节的主人公---文本框TextField的语句了:
1)
JTextField text1;
……
text1=new JTextField(20);
首先,我们定义了一个JTextField类的对象text1,然后使用new操作符来创建这个对象text1(也就是一个文本框)
大家还记得new后面的这个与类名相同的方法称为什么吗?对,构造器。这个类有三种带不同参数的构造器。
A. JTextField(int columns)
第一种构造器,就是我们在本例中调用的那个,它带了一个整型参数columns,这个单词的中文意思是列,也就是说,这个参数指定了我们要创建的TextField的列宽。这里的列宽指长度,而不是可包含的字符数。
那么20,到底是多少宽呢?Java是这样定义的:
能够显示20个小写“m”(当前选择的字体)的宽度。
注重:
得再次强调一下,这里的列宽是一种长度,而不是字符数。你可以试一试,在我们这个程序执行后,再这个文本框中输入小写字母“m”,看一看能够输入多少个。但大家也应该注重到,我们在例子中输入的字符数远不止20个。
B. JTextField(String text)
第二种构造器则带的是一个字符串型参数text,这个字符串将会在程序一执行时就显示在文本框中。
C.JTextField(String text,int columns)
而假如你既想设置默认的字符串,又想设置它的宽度,就可以调用第三种构造器。
注重:
调用JTextField的构造器时,一定要带上参数,否则将会出错。
2)
buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { showStatus(text1.getText()); } });
大家看到这个语句,应该不会感到生疏吧!它为按钮buttonOK增加一个监测器,监测是否按下按钮。假如按下按钮,就执行:showStatus(text1.getText())语句。
这个语句中,有两个新的知识。
其一是:showStatus(String test)方法,它用来在状态栏上显示字符串。
其二是:getText()方法,它是JTextField类的一个成员方法,用来获取文本框内的文本。例如本例中text1.getText()就将获得文本框text1中的文本。也就是我们输入的那些东西。
整个串起来,得到:
当我们按下OK按钮时,程序将获取文本框text1中的文本,然后将它们显示到状态栏上。
用getText()方法可以获取文本框中的文本,相应的,我们可以使用setText()方法设置文本框中的文本。其语法是:
文本框对象.setText(String text)
这样,就将文本框中的文本改成了字符串text。
除此之外,我们还可以使用setHorizontalAlignment方法来设置字符串中文本的对齐方式,具体来说:
setHorizontalAlignment(Swing constants.CENTER) 居中对齐
setHorizontalAlignment(Swing constants.LEFT) 左对齐
setHorizontalAlignment(Swing constants.RIGHT) 右对齐
9.6.2 口令文本框
传授新知
口令文本框(JPassWordField)是一种非凡的文本框,在口令文本框中输入任何字符串都将显示成为“*”,这样就可以不让别人知道你输入的是什么,这种文本框比较适合与密码、口令的输入,所以称之为口令文本框。
为了安全起见,获取口令文本框中的密码(口令)使用的方法与普通文本框不同。它使用方法:getPassword()。
“越麻烦越安全”,所以,Java语言中为你获取口令再添加了一层麻烦(我看来是一种不必要的麻烦),getPassword()方法将返回一个char数组,我们还得将其转换成为字符串。以下就是一个转换的实例:
String passwd=new String(passwdTextField.getPassword())
9.6.3 文本区
实例说明
正如我们看到的一样,普通文本框TextField只能输入一行,假如要提供一个多行的输入界面,那怎么办呢?下面我们就看一下下面这个程序:
源程序:useTextArea.java
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class useTextarea extends JApplet { JButton buttonClear; JTextArea textarea1; public void init() { JPanel panel1=(JPanel)getContentPane(); panel1.setLayout(new FlowLayout()); buttonClear=new JButton("Clear all"); textarea1=new JTextArea("Enter new text",5,15); panel1.add(textarea1); panel1.add(buttonClear); buttonClear.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { textarea1.setText(""); } }); } }
2.使用javac编译这个程序,然后编辑一个显示这个Java Applet的HTML页面,建议高度为100,宽度为300。
3.最后我们再使用appletviewer来运行这个程序,这个程序的输出如下图所示:
图9-14 程序useTextarea.java的运行结果
接着,我们就可以在这个文本区内写多行文本了。大家在按下“Clear all”按钮之前,想一下,会发现什么结果?
传授新知
这个程序中,主要需要说明的只有关于TextArea部件(文本区)的一些语句:
1)
JTextArea textarea1;
……
textarea1=new JTextArea("Enter new text",5,15);
首先,我们定义了一个JTextArea类的对象textarea1,然后使用new操作符来创建这个对象textarea1(也就是一个文本区)。与文本框类似,文本区的构造器也有三种:
A. JTextField(int rows,int columns)
在这个构造器中,有两个整型参数rows(这个单词的中文意思是行)和columns(这个单词的中文意思是列),也就是说,这两参数用来指令文本区的行数,与列宽。
这里的列宽与文本框一样,是一种长度,用能够显示多少个个小写“m”(当前选择的字体)来衡量的宽度。而行数,就很好理解了,就是能够输入的行数。
要注重的是,这里的行数、列数都是只显示出来的框的大小。假如一行中超过了列宽,将会使文本区变得越来越宽,如下图所示:
图9-15 超过了列宽
由于输入的文本超过了文本区原来的宽度,使得文本区变得越来越宽,把按钮都挤到下一行中去了。
注重:
假如把多出来的文本删除掉后,文本区将变成原来的大小。
同样的,假如输入太多行,将引起如下图所示的情况:
图9-16 超过了行数
B. JTextArea(String text)
也可以只带一个字符串型参数text调用构造器方法,这个字符串将会在程序一执行时就显示在文本区中。
C. JTextField(String text ,int rows,int columns)
而假如你既想设置默认的字符串,又想设置它的宽度,就可以调用第三种构造器。在本例中,我们就是调用这个构造器,构建了一个5行,15个“m”宽的文本区,让其一启动就显示一段文本:“Enter new text”。
注重:
同样的,调用JTextArea的构造器时,一定要带上参数,否则将会出错。
2)
buttonClear.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { textarea1.setText(""); } });
在这一段程序中,我们为按钮buttonClear增加了一个监测器,使得当这个按钮按下时就执行:textarea1.setText(“”)。与文本框TextField一样,文本区TextArea也提供了设置显示文本的方法:setText(String text)。
大家想想,将显示文本设置为“”,意味着什么,对!就是让其什么也不显示,这也就是前面那个问题(大家在按下“Clear all”按钮之前,想一下,会发现什么结果?)的答案。
到现在,我们已经读懂了这个程序,但通过执行程序时,我们发现了一个十分不好的问题,那就是在文本区内不会自动换行。我们并不希望文本区变得越来越宽!
怎么办呢?Java为文本区TextArea提供了一个方法,使得自动换行成为可能:
textarea1.setLineWrap(true)
只需将这条语句加入程序,就会使得我们编辑到右边时会自动换行。假如我们要恢复成不自动换行,就调用:
textarea1.setLineWrap(false)
自测练习
1) 部件____________适合于提供密码输入界面。
a. JTextArea b.JTextField c.JPasswordField
2) 在文本区中________输入超过程序中定义的行数。
a.能 b.不能
3) 我们可以使用______________来清除文本框text1中的文本。
a.text1.clearText() b.text1.setText(“”)
c.text1.deleteText() d.以上都可以
4) 假如我们调用____________来获得口令文本框passwd1中的文本。
a.passwd1.getText() b.passwd1.getPassword()
5)在程序中_______________,就能够防止因为在一行中输入过多的文本,而使文本区textarea1变宽。
a.不需要做任何考虑 b.textarea1.setLineWrap(true)
c.textarea1.setLineWrap(false) d.textarea1.noWrap()
6) 假如我们使用textfield1=new JTextField(“TEST”)来创建一个文本框,那么这个文本框的宽度有多大?
____________________________________________________________________
7)请在程序useTextarea.java中加入textarea1.setLineWrap(true),然后再执行这个程序,发现一下,还存在什么样的问题。
____________________________________________________________________
____________________________________________________________________
8) 根据以下要求,编写程序
设置两个文本框,一个用来输入UserName,另一个用来输入Password;再设置一个按钮OK和一个文本区。
假如我们按下OK按钮,则右边的文本区中就会显示:
UserName:用户名
Password:密码
其中用户名、密码就是用户输入的内容,假如没有输入则不显示。程序输出如下图所示:
图9-17 程序lianxi905.java的输出
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
练习答案
1)c 由于输入密码的地方,应该不能明文显示,否则轻易被边上的人从偷看到,我们可以借助Java中提供的口令文本框PasswordField来实现。这样,你输入的内容就变成了星号,不怕被人偷看到了。
2)a 能,而且会使得文本区的行数增加。
3)b 一个文本框并不存在cleatText()方法,也没有提供delete()方法,但我们可以通过调用setText(“”)来实现,这是因为,我们让它显示的文本变成了“”。也就空文本,这难道不是清除所有文本吗?
4)b 口令文本框要使用非凡的方法getPassword()来获得口令文本。
5)b 通过使文本区自动换行,就可以有效地避免这个问题。
6)这个文本框的宽度就是字符串“TEST”的大小。如下图所示:
图9-18 练习答案参考图(1)
7)还存在一个问题,那就是这个程序十分愚笨,它虽然会自动换行,但是却常把一个单词分在两行里,如下图所示:
图9-19 练习答案参考图(2)
一些提示:
其实文本区部件还提供了一个方法来解决这个问题,那就是:
public void setWrapStyleWord(boolean word)
假如在程序中,加入textarea1.setWrapStyleWord(true),那么程序输入则是:
图9-20 练习答案参考图(3)
怎么样,效果是不是更好了!
8) 请参考以下实现实例:
源程序:lianxi905.java
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class lianxi905 extends JApplet { Label label1,label2; JTextField username; JPasswordField passwd; JButton buttonOK; JTextArea showResult; String out; public void init() { JPanel panel1=(JPanel)getContentPane(); panel1.setLayout(new FlowLayout()); label1=new Label("Please input your name:"); username=new JTextField(15); label2=new Label("Please input your password:"); passwd=new JPasswordField(15); buttonOK=new JButton("OK"); showResult=new JTextArea(2,15); panel1.add(label1); panel1.add(username); panel1.add(label2); panel1.add(passwd); panel1.add(buttonOK); panel1.add(showResult); buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { out="Username: "+username.getText()+" "; out=out+"Password: "+new String(passwd.getPassword()); showResult.setText(out); } }); } }
请大家注重到,我们是如何生成在文本区showResult显示的文本信息(存放在字符串变量out中)的:
out="Username: "+username.getText()+" ";
out=out+"Password: "+new String(passwd.getPassword());
先让out等于“Username:”+username.getText(),这就使其包含了提示字符“Username:”,而后面的内容是另一部分的,所以我们在这个后面加上了“ ”,这是一个转义符,代表回车(也就是另起一行)。
然后再将其加上提示字符“Password:”,最后是调用了getPassword()方法,然后将其转换为字符串型。
发表评论
-
Java List 生成 树(增强版)
2017-03-20 18:29 4560Java List 生成 树:http://ysj51 ... -
在CentOS中安装与配置JDK8
2017-01-14 21:20 941环境准备 系统环境:centos6.5 安装方式:r ... -
Java List 生成 树(转)
2016-03-15 15:47 8737文章出自:http://www.cnblogs.com ... -
使用Cglib的BeanCopier实现Bean的拷贝
2015-12-01 16:49 28907选择Cglib的BeanCopier进行B ... -
解决Java计算浮点数精度问题(BigDecimal)
2015-11-09 17:52 3104工具类如下: package com.yusj.we ... -
JAVA根据IP地址获取详细的地域信息(转)
2015-07-16 14:45 25665文章出自:http://hejianke83.blog ... -
Java获取客户端的真实IP地址(转)
2015-07-15 16:10 3901文章出自:http://newleague.iteye ... -
XML 和 java对象相互转换(转)
2015-07-14 16:43 4010文章出自:http://hbiao68.iteye.c ... -
Java + MongoDB 实现 hello world 例子(译)
2015-04-22 12:18 3957原文出自:http://www.mkyong.com ... -
Java MongoDB 教程(译)
2015-03-16 15:25 1894原文出自:http://www.mkyong.com ... -
过滤有效查询条件的好方法
2014-11-13 17:25 1591在工作中经常遇到明细查询,前段有很多查询条件,但是不 ... -
解决servlet-api包冲突问题(maven)
2014-08-20 10:12 47113问题描述:本人的项目是用Maven管理,而且用到了s ... -
StringUtils中isEmpty 和isBlank的区别(转)
2014-05-27 16:17 11375文章出自:http://www.2cto.com/kf ... -
JDK动态代理实现原理(转)_AOP简介
2014-04-25 16:28 6390文章出自: http://rejoy.it ... -
对只转发结果集的无效操作: isLast
2014-03-13 14:19 2720在遍历结果集的时候,用rs.isLast()来判断是否到达 ... -
利用java导入导出excel到oracle数据库
2013-12-05 14:46 8638用到的JAR包如下(可以直接到POI官网上下载也可以 ... -
循环读取图片入库
2013-11-26 19:50 1593工作总结备份,见代 ... -
linux中查看java进程(转)
2013-11-15 13:29 2002文章出自:http://blog.csdn.net/m ... -
如何在命令行模式下编译运行带包的java文件(转)
2013-03-29 09:10 1845文章出自 : http://blog.sina.com ... -
如何查找Java文件源代码和Jar包
2013-01-07 14:59 1634把已知类名录入到Class的文本框中,点击Search ...
相关推荐
【JAVA-GUI学生管理系统】是一种基于Java图形用户界面(GUI)技术开发的系统,主要用于管理学生信息。在Java编程环境中,GUI(图形用户界面)允许开发者创建交互式的应用程序,使得用户可以通过直观的图形元素如按钮...
AWT 是 Java 早期的图形界面设计,但是它存在两个缺点:一是只提供基本的组件,二是不能跨平台。于是,Sun 公司研发了 Swing 组件,弥补了 AWT 的不足。Swing 组件是轻量级的、可跨平台的,提供了许多新的组件,可以...
1. **组件与布局管理**:在Java GUI编程中,组件是构成界面的基本单元,如JButton、JLabel、JTextArea等。布局管理器如FlowLayout、BorderLayout、GridLayout和GridBagLayout负责安排这些组件在窗口中的位置和大小。...
6. **事件处理**:用户与GUI的交互需要通过事件监听机制来实现。例如,点击按钮触发相应的函数执行。Java Swing的ActionListener接口和ItemListener接口可以用来处理按钮点击和选择项改变等事件。 7. **时间控制**...
总的来说,这个基于JAVA的GUI学生成绩管理系统项目涵盖了JAVA GUI编程、数据库设计与操作、以及两者之间的交互等多个核心知识点,对于JAVA初学者来说,它不仅提供了一个实际操作的平台,还是一份宝贵的学习资料,有...
【Java飞行棋GUI界面开发详解】 Java是一种广泛应用于软件开发的高级编程语言,以其平台无关性、面向对象的特性以及丰富的类库而受到广大开发者喜爱。在这个“java课设GUI界面飞行棋”项目中,开发者利用Java的强大...
《生命游戏:Java GUI实现与美观界面设计》 生命游戏,又称康威生命游戏,是英国数学家约翰·何顿·康威在1970年提出的一种简单的模拟生命现象的数学模型。在这个游戏中,细胞在二维网格上遵循一套简单的规则进行...
Java GUI(Graphical User Interface)是指图形化用户界面,旨在提高用户与计算机之间的交互性。Java 语言为 GUI 提供了完善的支持,主要通过 java.awt 和 javax.swing 两个包来实现。 一、GUI 基础概念 GUI 是指...
本篇文章将围绕一个具体的示例——绘制一个棋盘并实现按钮与面板的事件监听,来深入探讨相关的Java GUI编程技巧。 #### 二、核心知识点 ##### 1. 导入必要的包 在编写Java GUI程序时,通常需要导入以下几个关键包...
Chinese Chess game made by Java GUI. Java-GUI制作的象棋游戏 Chinese Chess game made by Java GUI. Java-GUI制作的象棋游戏 Chinese Chess game made by Java GUI. Java-GUI制作的象棋游戏 Chinese Chess game ...
GUI的实验室设备管理系统源码.zip基于java-GUI的实验室设备管理系统源码.zip基于java-GUI的实验室设备管理系统源码.zip基于java-GUI的实验室设备管理系统源码.zip基于java-GUI的实验室设备管理系统源码.zip基于java-...
Java GUI超市管理系统是一款基于MySQL数据库和Java编程语言的软件应用,专为课程设计或小型商业环境中的超市管理而开发。这个系统充分利用了Java的图形用户界面(GUI)库,如Swing或JavaFX,来创建直观易用的操作...
Java GUI程序设计
总的来说,这个基于Java的搜索GUI程序项目涵盖了文件系统操作、文本搜索算法、GUI设计与实现、多线程技术、错误处理等多个方面,对于学习和提升Java编程技能,特别是桌面应用开发,具有很高的实践价值。
本项目中提到的"javaGUI开发的小程序"显然使用了Swing库,因为压缩包文件名中包含“swing”。 Swing是Java Standard Edition (Java SE) 的一部分,它提供了一系列组件(JButton, JTextField, JFrame等)用于构建...
Java GUI允许开发者创建丰富的、交互式的应用程序,使得用户可以通过点击按钮、输入数据等方式与程序进行交互。我们将主要关注以下知识点: 1. **Java Swing库**:Java Swing是Java Foundation Classes (JFC)的一...
通过这个简单的GUI程序,你将掌握如何在Java环境中创建用户友好的界面,以及如何与数据库进行交互。随着经验的增长,你可以进一步探索更复杂的布局管理、自定义组件和高级的数据库操作。学习Java GUI和JDBC不仅能够...
GUI(图形用户界面)是用户与系统交互的主要方式。在Java中,我们可以利用JavaFX或Swing库来创建GUI。这两个库提供了丰富的组件,如按钮、文本框、菜单等,用于构建用户友好的界面。例如,客户端的点餐功能可能包含...
2048游戏,java-gui.zip2048游戏,java-gui.zip2048游戏,java-gui.zip 2048游戏,java-gui.zip2048游戏,java-gui.zip2048游戏,java-gui.zip 2048游戏,java-gui.zip2048游戏,java-gui.zip2048游戏,java-gui.zip...