第七章 图形界面设计及事件处理
第7章 MATLAB图形界面设计

菜单编辑器左上角的第一个按钮用于创建一级菜单项。 第二个按钮用于创建一级菜单的子菜单。
菜单编辑器左下角有两个按钮,选择第一个按钮可创建下 拉式菜单。选择第二个按钮可创建Context Menu菜单。选择 它后,菜单编辑器左上角的第三个按钮就会变成可用,单 击它就可以创建Context Menu主菜单。在选中已经创建的 Context Menu主菜单后,可以单击第二个按钮创建选中的 Context Menu主菜单的子菜单。与下拉式菜单一样,选中创 建的某个Context Menu菜单,菜单编辑器的右边就会显示该 菜单的有关属性,可以设置、修改菜单属性。
HorizontalAlignment: Center %对齐方式 String: Expression %待显示的字符 Tag: text1 %静态文本框句柄handles.text1 Units: points %文本框度量单位
3) 可编辑文本框的属性设置。 String: 0 %初始状态下显示数字0 Tag: pExp %可编辑文本框的句柄 其它和静态文本框相同 4) 单功能按钮属性设置。以按钮“1” 为例 String: 1 Tag: p1 其它和静态文本框相同。
7.1.1 GUIDE的启动
可以如下不同方式启动GUIDE: 1. 在命令窗口提示符下输入guide; 2. 在工具栏选打开; 3. 在Start菜单中选MATLAB > ; 4. MATLAB File 菜单中选New > GUI。
空白界面 有控件的模板界面 有轴对象和菜单的模板界面 标准询问窗口
修改控件属性
每个控件不可能是完全符合界面设计要求的,需要 对其属性进行设置,以获得所需界面显示效果。 可以通过双击该控 件,或利用下拉菜 单[View: Property Inspector]打开控件 属性对话框。
第七章Matlab的图形用户界面GUI

:列表框(listbox),列表框列出一些选项的清单, 列表框(listbox),列表框列出一些选项的清单, 列表框(listbox) 并允许用户选择其中的一个或多个选项, 并允许用户选择其中的一个或多个选项,一个或多个的模 式由Min Max属性控制 Min和 属性控制。 式由Min和Max属性控制。Value 属性的值为被选中选项的 序号,同时也指示了选中选项的个数。 序号,同时也指示了选中选项的个数。 当单击鼠标按钮选中该项后,Value属性的值被改变 属性的值被改变, 当单击鼠标按钮选中该项后,Value属性的值被改变, 释放鼠标按钮的时候Matlab执行列表框的回调程序。 Matlab执行列表框的回调程序 释放鼠标按钮的时候Matlab执行列表框的回调程序。 列表框的“Style”属性的默认值是 listbox”。 属性的默认值是“ 列表框的“Style”属性的默认值是“listbox”。 :复选框(checkbox),又称检查框,它由一个标注 复选框(checkbox),又称检查框, (checkbox) 字符串( String”属性中设置 属性中设置) 字符串(在“String”属性中设置)和字符串左侧的一个 小方框所组成。选中时在方框内添加“ 符号, 小方框所组成。选中时在方框内添加“√”符号, Value”属性值设为 1”;未选中时方框变空, 属性值设为“ “Value”属性值设为“1”;未选中时方框变空, Value”属性值设为 0”。 属性值设为“ “Value”属性值设为“0”。复选框一般用于表明选项的 状态或属性。 状态或属性。
: 弹出式菜单(Pop-up 弹出式菜单(Pop(Pop
Java程序设计中的图形界面与事件响应处理案例

Java程序设计中的图形界面与事件响应处理案例在Java程序设计中,图形界面(Graphical User Interface, GUI)和事件响应处理是非常重要的概念。
通过图形界面,用户可以直观地与程序进行交互,而事件响应处理则是指程序对用户的操作作出相应的反应。
本文将通过一个案例来介绍Java程序设计中的图形界面与事件响应处理的应用。
案例介绍:假设我们要开发一个简单的计算器程序,用户可以通过图形界面输入两个数值,选择不同的操作符(如加、减、乘、除),最后得到计算结果。
在这个案例中,图形界面将提供文本框用于用户输入数值,选择框用于选择操作符,按钮用于触发计算。
事件响应处理将负责捕获用户的操作,并根据用户的输入进行计算,最后将结果显示在界面上。
图形界面设计:首先,在程序中引入Java的图形界面工具包(Swing)。
通过使用Swing组件,我们可以创建窗口、文本框、选择框、按钮等各种界面元素。
在创建窗口时,需要定义窗口的标题、大小和关闭操作。
同时,将需要的文本框、选择框和按钮添加到窗口中。
根据案例需求,文本框用于输入数值,选择框用于选择操作符,按钮用于触发计算。
事件响应处理:在事件响应处理中,我们需要给按钮添加点击事件的监听器。
当用户点击按钮时,系统将触发监听器中的事件处理方法,并执行对应的操作。
在事件处理方法中,首先需要获取用户输入的数值和操作符。
然后,根据操作符执行相应的计算。
最后,将计算结果显示在界面上。
除了计算逻辑的实现,还需要考虑用户输入的合法性。
例如,如果用户未输入数值或选择操作符,则需要给出相应的提示信息。
优化与扩展:为了提升用户体验,我们可以添加一些优化和扩展功能。
例如,可以对用户输入进行格式校验,确保输入的是数字。
另外,可以为计算器添加更多的操作符和功能,如取余、开方等。
总结:通过这个案例,我们了解了Java程序设计中的图形界面与事件响应处理的应用。
在实际开发中,图形界面和事件响应处理是非常重要的技术,能够实现用户友好的界面交互和相应的操作处理。
Java中的GUI界面设计和事件处理入门

Java中的GUI界面设计和事件处理入门一、引言Java是一种面向对象的编程语言,具有广泛的应用领域。
在软件开发过程中,GUI界面设计和事件处理是非常重要的一部分。
本文将介绍Java中的GUI界面设计和事件处理的入门知识,以帮助读者了解和掌握这方面的技术。
二、GUI界面设计基础GUI(Graphical User Interface,图形用户界面)是指通过图形、图像和动画等方式来显示信息,提供用户与计算机之间的交互。
在Java中,可以使用Swing和JavaFX等库来进行GUI界面设计。
1. 布局管理器在GUI界面设计中,布局管理器用于管理组件的布局方式。
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout和GridBagLayout等。
使用不同的布局管理器可以实现不同的界面布局效果。
2. 组件组件是GUI界面的基本元素,可以是按钮、文本框、标签、列表框等。
在Java中,可以使用JButton、JTextField、JLabel和JList等类来创建各种组件。
可以设置组件的属性,如大小、位置和样式等。
3. 事件监听器事件监听器用于捕捉用户操作产生的事件,并做出相应的处理。
在Java中,可以使用addActionListener()方法为组件添加监听器,响应用户的点击事件。
事件监听器可以以匿名内部类的形式实现,也可以作为单独的类来处理。
三、GUI界面设计实例下面以一个简单的登录界面为例,介绍如何使用Java中的GUI 界面设计来创建一个具有交互功能的窗体。
1. 导入必要的类库首先需要导入javax.swing和java.awt等类库,以便使用其中的类和方法。
2. 创建窗体可以通过继承JFrame类来创建一个窗体对象,然后设置窗体的标题、大小和关闭方式等属性。
3. 添加组件可以使用JLabel、JTextField和JButton等组件类来创建对应的界面元素,并设置它们的属性和布局。
实验七 图形用户界面与事件处理机制(二)

import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.Dialog;import bel;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Panel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;class MyDialog implements ActionListener{private Button quit = new Button("关闭");private Dialog Dg;private Label la = new Label();MyDialog(Frame Fm){Dg = new Dialog(Fm,"菜鸟制作。
",true);Dg.setLayout(new BorderLayout());Dg.setBounds(300,150,400,200);Dg.setBackground(Color.green);Dg.add(la);la.setPreferredSize(new Dimension(400,30));Dg.add("South",quit);Panel panel = new Panel();panel.add(quit);Dg.add("South", panel);la.setText("版本型号:V 1.2.3");quit.addActionListener(this);Dg.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==quit)Dg.dispose();}}public class Alex implements ActionListener{private Button quit = new Button("退出");private Button login = new Button("打开对话框");private Label la = new Label("对话框控制操作:");private Frame Fm = new Frame();public Alex(){Fm.setTitle("Alex.。
图形用户界面与事件处理机制

三、实验要求:
1.学会建立菜单和弹出式菜单;
2.学会文件对话框的使用;对不同的事件用相应的事件处理器;
3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
windows.setBounds(10,10,300,200);
window.setLayout(new FlowLayout());
JButton b1=new JButton("添加学生");
JButton b2=new JButton("添加教师");
JButton b3=new JButton("查询学生");
b3.addActionListener(this);
b4.addActionListener(this);
setVisible(true);
//addWindowListener(new WindowListener());
}
}
实验七
一、实验目的:
掌握菜单、弹出式菜单设计。
会处理事件以及设置输入对话框。
window.setVisible(;
}
}
*/
publicclassGg {
publicstaticvoidmain(Stringargs[]){
ComputerFramewindows=newComputerFrame();
windows.setBounds(10,10,300,200);
实验七
一、实验目的:
掌握Java图形组件和布局管理器的使用;
实验七1图形用户界面与事件处理机制(一)

//实验七第一题源程序import java.awt.event.*;import java.awt.*;public class Te7_1 extends Frame implements ActionListener{Button But1,But2;Label Lab;public Te7_1(){But1=new Button("按钮1");But2=new Button("按钮2");Lab=new Label(" ");setLayout(new FlowLayout());add(But1);add(But2);add(Lab);But1.addActionListener(this);But2.addActionListener(this);addWindowListener(new addWindowListener());setVisible(true);}public void actionPerformed(ActionEvent e){Lab.setText(e.getActionCommand());}public static void main(String[] args){Te7_1 l1=new Te7_1();}}class addWindowListener extends WindowAdapter{public void windowClosing(WindowEvent e){e.getWindow().dispose();System.exit(0);}}//实验七第二题源程序import java.awt.event.*;import java.awt.*;import java.applet.*;public class Te7_2 extends Applet implements ActionListener,TextListener {TextField text;TextArea a;Label lab1,lab2;String s1;public void init(){lab1=new Label("文本框");add(lab1);text=new TextField("",5);text.addActionListener(this);add(text);lab2=new Label("文本区");add(lab2);a=new TextArea("",5,10);a.addTextListener(this);add(a);}public void actionPerformed(ActionEvent e)//actionPerformed()发生操作时调用{s1=text.getText();a.replaceRange(s1,19,20);}public void textValueChanged(TextEvent e){}}//实验七第三题源程序import java.awt.*;import java.applet.*;import java.awt.event.*;public class Te7_3 extends Applet implements ItemListener{Checkbox cb1,cb2;Label lab;public void init(){cb1=new Checkbox("玩耍");cb2=new Checkbox("学习");lab=new Label(" ");cb1.addItemListener(this);add(cb1);cb2.addItemListener(this);add(cb2);add(lab);}public void itemStateChanged(ItemEvent e){if(cb1.getState()==true) lab.setText("玩耍");if(cb2.getState()==true) lab.setText("学习");if((cb1.getState()==true)&&(cb2.getState()==true))lab.setText("劳逸结合");}}//实验七第四题源程序import java.awt.event.*;import java.awt.*;import java.applet.*;public class Te7_4 extends Applet implements ActionListener,ItemListener {List ls;Choice ch;Button But;String a[]={"red","blue","yellow","gray"};public void init(){ls=new List(3);ls.addActionListener(this);for(int j=0;j<a.length;j++){ls.add(a[j]);}add(ls);But=new Button("按钮");add(But);But.addActionListener(this);ch=new Choice();ch.add("color");add(ch);ch.addItemListener(this);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("按钮")){String s;s=ls.getSelectedItem();ch.add(s);}}public void itemStateChanged(ItemEvent e){}}//实验七第五题源程序import java.awt.event.*;import java.awt.*;public class Te7_5 extends Frame implements ActionListener{Button []buts;Te7_5(){setLayout(new GridLayout(20,4,10,10));buts=new Button[80];for(int i=0;i<80;i++){buts[i]=new Button("按钮");buts[i].setBackground(Color.yellow);setForeground(Color.red);buts[i].addActionListener(this);add(buts[i]);}addWindowListener(new addWindowListener());setVisible(true);}public void actionPerformed(ActionEvent e){}public static void main(String[] args){Te7_5 but=new Te7_5();}}class addWindowListener extends WindowAdapter{public void windowClosing(WindowEvent e){e.getWindow().dispose();System.exit(0);}}//实验七第六题源程序import java.awt.event.*;import java.awt.*;public class Te7_6 extends Frame implements ActionListener,TextListener {TextField tf1,tf2,tf3;Label lab1,lab2,lab3;Button But1,But2,But3,But4;int optr1,optr2;float result;String s;Te7_6(){super("简单计算器");lab1=new Label("操作数");tf1=new TextField("",20);lab2=new Label("操作数");tf2=new TextField("",20);lab3=new Label("结果");tf3=new TextField("",20);But1=new Button(" + ");But2=new Button(" - ");But3=new Button(" * ");But4=new Button(" / ");GridBagLayout gbL=new GridBagLayout();GridBagConstraints gbc=new GridBagConstraints();setLayout(gbL);gbc.gridx=0;gbc.gridy=0;gbc.gridwidth=1;gbc.gridheight=1;gbc.weightx=0;gbc.weighty=0;gbc.insets=new Insets(0,0,0,0);gbL.setConstraints(lab1,gbc);add(lab1);gbc.gridx=0;gbc.gridy=2;gbc.gridwidth=1;gbc.gridheight=1;gbc.weightx=0;gbc.weighty=0;gbc.insets=new Insets(0,0,0,0);gbL.setConstraints(lab2,gbc);add(lab2);gbc.gridx=0;gbc.gridy=4;gbc.gridwidth=1;gbc.gridheight=1;gbc.weightx=0;gbc.weighty=0;gbc.insets=new Insets(0,0,0,0);gbL.setConstraints(lab3,gbc);add(lab3);gbc.gridx=1;gbc.gridy=0;gbc.gridwidth=1;gbc.gridheight=1;gbc.weightx=1;gbc.weighty=0;gbc.insets=new Insets(0,0,0,0);gbL.setConstraints(tf1,gbc);tf1.addActionListener(this);add(tf1);gbc.gridx=1;gbc.gridy=2;gbc.gridwidth=1;gbc.gridheight=1; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(0,0,0,0); gbL.setConstraints(tf2,gbc);tf2.addActionListener(this);add(tf2);gbc.gridx=1;gbc.gridy=4;gbc.gridwidth=1;gbc.gridheight=1; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(0,0,0,0); gbL.setConstraints(tf3,gbc);tf3.addActionListener(this);add(tf3);gbc.gridx=2;gbc.gridy=0;gbc.gridwidth=2;gbc.gridheight=2; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(0,0,0,0); gbL.setConstraints(But1,gbc); add(But1);gbc.gridx=2;gbc.gridy=2;gbc.gridwidth=2;gbc.gridheight=2; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(0,0,0,0); gbL.setConstraints(But2,gbc); add(But2);gbc.gridx=2;gbc.gridy=4;gbc.gridwidth=2;gbc.gridheight=2; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(0,0,0,0); gbL.setConstraints(But3,gbc); add(But3);gbc.gridx=2;gbc.gridy=6;gbc.gridwidth=2;gbc.gridheight=2; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(0,0,0,0); gbL.setConstraints(But4,gbc); add(But4);But1.addActionListener(this);But2.addActionListener(this);But3.addActionListener(this);But4.addActionListener(this);addWindowListener(new koWindowListener());setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals(" + ")){optr1=Integer.parseInt(tf1.getText());optr2=Integer.parseInt(tf2.getText());result=(float)optr1+optr2;tf3.setText(String.valueOf(result));}if(e.getActionCommand().equals(" - ")){optr1=Integer.parseInt(tf1.getText());optr2=Integer.parseInt(tf2.getText());result=(float)optr1-optr2;tf3.setText(String.valueOf(result));}if(e.getActionCommand().equals(" * ")){optr1=Integer.parseInt(tf1.getText());optr2=Integer.parseInt(tf2.getText());result=(float)optr1*optr2;tf3.setText(String.valueOf(result));}if(e.getActionCommand().equals(" / ")){optr1=Integer.parseInt(tf1.getText());optr2=Integer.parseInt(tf2.getText());result=(float)optr1/optr2;tf3.setText(String.valueOf(result));}}public void textValueChanged(TextEvent e){}public static void main(String[] args){Te7_6 l1=new Te7_6();}}class koWindowListener extends WindowAdapter{public void windowClosing(WindowEvent e){e.getWindow().dispose();System.exit(0);}}。
少儿编程学习手册

少儿编程学习手册第一章:编程入门基础 (3)1.1 编程的概念 (3)1.2 编程语言简介 (3)1.3 编程环境搭建 (3)第二章:变量和数据类型 (3)2.1 变量的概念与使用 (4)2.2 常见数据类型 (4)2.3 数据类型转换 (4)第三章:控制结构 (4)3.1 顺序结构 (4)3.2 选择结构 (4)3.3 循环结构 (4)第四章:函数与模块 (4)4.1 函数的概念与定义 (4)4.2 函数的调用与参数传递 (4)4.3 模块的导入与使用 (4)第五章:列表、元组和字典 (4)5.1 列表的概念与操作 (4)5.2 元组的概念与操作 (4)5.3 字典的概念与操作 (4)第六章:文件操作 (4)6.1 文件的概念与打开 (4)6.2 文件的读写操作 (4)6.3 文件的关闭与异常处理 (4)第七章:图形界面编程 (4)7.1 图形界面的基本概念 (4)7.2 常用控件的使用 (4)7.3 界面布局与事件处理 (4)第八章:游戏开发 (4)8.1 游戏设计基础 (4)8.2 游戏编程实现 (4)8.3 游戏调试与优化 (4)第九章:网络编程 (4)9.1 网络基础 (4)9.2 网络请求与响应 (5)9.3 网络编程实例 (5)第十章:算法与数据结构 (5)10.1 算法概述 (5)10.2 常见算法介绍 (5)10.3 数据结构基础 (5)第十一章:人工智能初步 (5)11.2 机器学习基础 (5)11.3 人工智能应用实例 (5)第十二章:编程实践与创意 (5)12.1 编程实践项目 (5)12.2 创意编程作品 (5)12.3 编程竞赛与挑战 (5)第一章:编程入门基础 (5)1.1 编程的概念 (5)1.2 编程语言简介 (5)1.3 编程环境搭建 (6)第二章:变量和数据类型 (6)2.1 变量的概念与使用 (6)2.2 常见数据类型 (7)2.3 数据类型转换 (7)第三章:控制结构 (8)3.1 顺序结构 (8)3.1.1 数据的输入 (8)3.1.2 数据的输出 (8)3.1.3 程序的暂停 (8)3.2 选择结构 (8)3.2.1 if语句 (8)3.2.2 switch语句 (9)3.3 循环结构 (9)3.3.1 for语句 (9)3.3.2 while语句 (9)第四章:函数与模块 (9)4.1 函数的概念与定义 (9)4.2 函数的调用与参数传递 (10)4.3 模块的导入与使用 (10)第五章:列表、元组和字典 (10)5.1 列表的概念与操作 (10)5.2 元组的概念与操作 (11)5.3 字典的概念与操作 (12)第六章:文件操作 (13)6.1 文件的概念与打开 (13)6.2 文件的读写操作 (13)6.3 文件的关闭与异常处理 (14)第七章:图形界面编程 (15)7.1 图形界面的基本概念 (15)7.2 常用控件的使用 (15)7.3 界面布局与事件处理 (16)第八章:游戏开发 (17)8.1 游戏设计基础 (17)8.3 游戏调试与优化 (17)第九章:网络编程 (18)9.1 网络基础 (18)9.2 网络请求与响应 (18)9.3 网络编程实例 (19)第十章:算法与数据结构 (20)10.1 算法概述 (20)10.2 常见算法介绍 (20)10.3 数据结构基础 (21)第十一章:人工智能初步 (21)11.1 人工智能概述 (21)11.2 机器学习基础 (22)11.2.1 监督学习 (22)11.2.2 无监督学习 (22)11.2.3 强化学习 (22)11.3 人工智能应用实例 (22)11.3.1 语音识别 (22)11.3.2 图像识别 (22)11.3.3 自然语言处理 (22)11.3.4 技术 (23)11.3.5 自动驾驶 (23)第十二章:编程实践与创意 (23)12.1 编程实践项目 (23)12.1.1 Web开发项目 (23)12.1.2 移动应用开发项目 (23)12.1.3 数据分析与可视化项目 (23)12.2 创意编程作品 (24)12.2.1 互动式艺术作品 (24)12.2.2 游戏开发 (24)12.3 编程竞赛与挑战 (24)12.3.1 ACM ICPC (24)12.3.2 LeetCode (24)12.3.3 TopCoder (24)第一章:编程入门基础1.1 编程的概念1.2 编程语言简介1.3 编程环境搭建第二章:变量和数据类型2.1 变量的概念与使用2.2 常见数据类型2.3 数据类型转换第三章:控制结构3.1 顺序结构3.2 选择结构3.3 循环结构第四章:函数与模块4.1 函数的概念与定义4.2 函数的调用与参数传递4.3 模块的导入与使用第五章:列表、元组和字典5.1 列表的概念与操作5.2 元组的概念与操作5.3 字典的概念与操作第六章:文件操作6.1 文件的概念与打开6.2 文件的读写操作6.3 文件的关闭与异常处理第七章:图形界面编程7.1 图形界面的基本概念7.2 常用控件的使用7.3 界面布局与事件处理第八章:游戏开发8.1 游戏设计基础8.2 游戏编程实现8.3 游戏调试与优化第九章:网络编程9.1 网络基础9.2 网络请求与响应9.3 网络编程实例第十章:算法与数据结构10.1 算法概述10.2 常见算法介绍10.3 数据结构基础第十一章:人工智能初步11.1 人工智能概述11.2 机器学习基础11.3 人工智能应用实例第十二章:编程实践与创意12.1 编程实践项目12.2 创意编程作品12.3 编程竞赛与挑战第一章:编程入门基础1.1 编程的概念编程,即程序设计,是指编写计算机程序的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Programming in Java
2011年7月
Swing组件的使用办法
列表类组件 JComboBox JList JTree JTable
1-14
一般通过getSelectedIndex()获得选中的条目 编号, getSelectedItem()或者 getSelectedValue()获得选中的条目
举例
陈祎琼
Programming in Java
2011年7月
Swing组件的使用办法
1-15
陈祎琼
Programming in Java
2011年7月
Swing组件的使用办法—举例
• 在指定地址端口建立服务器 new ServerSocket (Integer.parseInt(jTextField2.getText()), 10); • 在状态标签上提示 • 在数据接收窗口显示数据 dr1 = (DefaultTableModel) this.jTable1.getModel(); dr1.insertRow(0, rows); • 保存接收数据 dr1.getValueAt(i,j)
Frame
Dialog
FileDialog
陈祎琼
Programming in Java
2011年7月
Awt组件类关系结构(二)---菜单
MenuComponent
1-9
MenuItem
Menu
MenuBar
PopupMenu
CheckboxMenuItem
陈祎琼
Programming in Java
1-7
Awt组件类关系结构(一)
ponent
1-8
Button
Scrollbar Panel Applet
Canvas
Container ScrollPane
List
Choice
Checkbox
Label Window
TextComponent TextField TextArea
使用步骤 产生一个布局管理器,即一个BorderLayout 例如:BorderLayout l1=new BorderLayout( 把一个容器的布局交由这个布局管理器管理 例如:JFrame j1=new JFrame(); j1.setLayout(l1);
陈祎琼
Programming in Java
for(int i=0;i<jbnorth.length;i++) { jbnorth[i]=new JButton("north"+ }
陈祎琼
Programming in Java
2011年7月
1-36
for(int i=0;i<jbwest.length;i++) { jbwest[i]=new JButton("west"+i); }
1) 顶层容器:JFrame,JApplet,JDialog,JWindow共4个 2) 中间容器:JPanel,JScrollPane,JSplitPane,JToolBar 3) 特殊容器:在GUI上起特殊作用的中间层,如 JInternalFrame,JLayeredPane,JRootPane. 4) 基本控件:实现人机交互的组件,如JButton, JComboBox, JList, JMenu, JSlider, JTextField等。 5) 不可编辑信息的显示:向用户显示不可编辑信息的组 件,例如JLabel, JProgressBar, ToolTip等。 6) 可编辑信息的显示:向用户显示能被编辑的格式化信 息的组件,如JColorChooser, JFileChoose, JFileChooser, JTable, JTextArea等。
2011年7月
边界布局的特点
1-28
North
West Center East
South
陈祎琼
Programming in Java
2011年7月
边界布局实例
一个JTextField位 于North
1-29
陈祎琼
Programming in Java
一个JPanel位于 Center
2011年7月
JTextFie
JFileDialog
AbstractButton JTextArea JButton JMenuItem JToggleButton
陈祎琼
Programming in Java
2011年7月
1-11
陈祎琼
Programming in Java
2011年7月
Swing组件
1-12
陈祎琼
Programming in Java
2011年7月
界面组成实例---计算器界面
一个JFrame
1-32
陈祎琼
Programming in Java
2011年7月
计算器界面的程序实现
JTextField jt1; JPanel jpzong; JPanel jpwest; JPanel jpnorth; JPanel jpcenter;
1-19
3、基本组件:上面不可容纳其他组件 ,而且自身也必须位于其他容器中 除了1、2之外的所有组件类对象
陈祎琼
Programming in Java
2011年7月
界面组成实例---计算器界面
1-20
陈祎琼
Programming in Java
2011年7月
界面组成实例---计算器界面
一个JFrame
陈祎琼
1-16
this.jLabel3.setText("服务器" + this.jTextField2.getText() + "已启动");
Programming in Java
2011年7月
JFrame
例:计算器界面各部分的表示
JMenuBar上的JMenu
1-17
JTextField
JButton
2011年7月
图形界面体系
1-6
陈祎琼
Programming in Java
2011年7月
组件简介
有Awt组件和Swing组件2种 AWT组件是JDK1.0和1.1平台用于开发GUI的 工具,由于与操作系统联系紧密,被称为重量级 组件,可移植性不好。 Swing组件称为轻量级组件,在AWT组件名称 前冠以J字母就是其对应的Swing组件,例如, 在AWT中的Button类,在Swing中为Jbutton。 AWT存在于java.awt包中,Swing组件存在于 javax.swing包中。 Swing组件与AWT组件的最大不同是:Swing 组件完全由Java语言实现,功能更强大,而 AWT而不是。 Programming in Java 陈祎琼 2011年7月
陈祎琼
Programming in Java
2011年7月
第3个JPanel使用流式布局的效果
1-24
陈祎琼
Programming in Java
2011年7月
网格布局(GridLayout)
1-25
布局原则:把容器等分成多行多列,把组件 按照先来后到的次序等大小从左到右、从上 到下安放在对应网格中 会改变组件大小
//界面初始化 public Jisuanqi() { //制作文本框 jt1=new JTextField("0."); //制作面板
陈祎琼
Programming in Java
2011年7月
1-35
jpzong=new JPanel(); jpwest=new JPanel(); jpnorth=new JPanel(); jpcenter=new JPanel(); //制作按钮
2011年7月
流式布局(FlowLayout)
1-23
布局原则:按照组件添加的先后次序遵循 从左到右、从上到下的规律对组件进行排版 布局不改变组件原来的大小 使用步骤 产生一个布局管理器,即一个FlowLayout对 例如:FlowLayout l1=new FlowLayout(); 把一个容器的布局交由这个布局管理器管理 例如:JFrame j1=new JFrame(); j1.setLayout(l1);
第七章
1-1
图形界面设计及事件处理
陈祎琼
Programming in Java
2011年7月
提纲
组件简介 界面组成方式 布局管理
1-2
事件处理
计算器的实现
陈祎琼
Programming in Java
2011年7月
教学要求
了解Java组件使用的基本方法 掌握Java界面组成方式及常用的布局管 理方式(边界、流式、网格)的使用 掌握事件处理方式 熟练掌握常用组件JButton和JLabel相关 编程 熟练掌握String类、8种基本数据类型、 常用运算符的使用
1-21
三个JPanel
多个JButton
陈祎琼Biblioteka Programming in Java
2011年7月
界面布局
流式布局(FlowLayout) P253 网格布局(GridLayout) P257 边框式布局(BorderLayout) P253 其他布局
1-22
陈祎琼
Programming in Java
1-3
陈祎琼
Programming in Java
2011年7月
本次课内容
• 组件简介 • 界面组成方式 • 要求: 了解Java的界面组件 掌握界面组成方式