当前位置:文档之家› 第七章 图形界面设计及事件处理

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

陈祎琼
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的界面组件 掌握界面组成方式
相关主题