第18讲 java swing
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为了方便管理,一般会将 JInternalFrame加入JDesktopPane中,
方法将控件放到Tab 上。
JDesktopPane是一种特殊的分层
面板,是JLayeredPane子类,用来 建立虚拟桌面(Vitual Desktop).它
可以显示并管理众多
JInternalFrame之间的层次关系。
第18讲 Java Swing
• 18.1 • 18.2 • 18.3 • 18.4 • 18.5
Swing 入门 容器 布局管理 基本组件 本讲小结
18.1 Swing入门
• GUI编程的步骤: • (1)创建容器; • (2)为容器设置布局; • (3)创建组件,把其添加到容器中; • (4)为组件添加事件处理代码。
18.2 容器
• 容器是用来盛装其它GUI组件的GUI组件,AWT中的容器类 有Window、Panel、Applet、Frame、dialog等,而Swing 容器类有JFrame、JWindow、JDialog、JApplet、JPanel 等。本节介绍几种常用的Swing容器。
18.2.1 顶层容器
示区域的面板,分割方式
可以是水平分割,也可以
是垂直分割。如果设置了
动态拖拽功能,则拖动分
割线时两边组件会随着拖
拽动态改变大小。通常先 把组件放到JScrollPane 中,再把JScrollPane放 到JSplitPane中,这样每 个窗口都可以拖动滚动条 看到组件的全部内容。
• (4)JTabbedPane (5)JLayeredPane
4)showOptionDialog()方法:显示选择对 话框。
18.3 布局管理
• Java 为了实现跨平台的特性并且获得动态的 布局效果,采用布局管理器对容器中的组件进 行布局。
• Java定义了多种布局管理器,通过布局管理器 之间的组合,能够设计出复杂的界面,而且在 不同操作系统平台上都能够有一致的显示界面。
18.3.1 BorderLayout
• BorderLayout 是JFrame的默认布局,可以直接 通过add()方法为其添加组件,默认情况下组件 被放在JFrame的中心位置,并且组件向四周扩展, 占满整个JFrame,BorderLayout的特点:
• (1)把容器分为五个方位:东、西、南、北、 中,组件按照方位被添加到容器。
18.3.4 CardLayout • CardLayout是把容器分成多张卡片,每个组件占用一张
• 在这种布局方式中,组件的大小不会随着容器 大小的变化而改变,其位置可能会发生改变。
18.3.3 GirdLayout
• GridLayout是把容器分成M×N个网格,M是行数,N是列 数,M和N的值可以在创建GridLayout的对象时确定。组 件按照从左到右,从上到下的顺序放入容器,容器大小 改变时,组件的相对位置不变,大小会改变。
• (4)JWindow与JFrame类似,所不同的是JWindow没有 用于默认关闭操作或是菜单栏的属性。
Hale Waihona Puke 18.2.2 中间层容器• 有些容器不能直接显示到电脑屏幕上,必须放置到顶层 容器或其它容器中,它们存在的目的是放置各种组件。 常用的中间层容器有JPanel、JScrollPane、JSplitPane、 JToolBar、JInternalFrame、JLayeredPane、JRootPane、 JTabbedPane
18.1.2 显示框架
• drawString(String s, int x, int y) 从参 数x、y指定的坐标位置处,从左向右绘制参数 s指定的字符串。
• drawChars(char data[],int offset, int length, int x, int y) 绘制data数组中的 部分字符,length指定数组中要连续绘制的字 符的个数,offset是首字符在数组中的位置。
• (1)JPanel
• JPanel(面板)常用来 放置其它轻量级组件。 默认状态下,它不绘制 任何东西,可以很容易 的为其设置边框,也可 以嵌套使用。
• (2)JScrollPane • JScrollPane(滚动面
板)JScrollPane包括 九个部分:一个中心显 示区、四个角和四条边
(3)JSplitPane JSplitPane(分割面板) 是一个可以被分成两个显
• (2)组件的大小占满整个所属方位,组件的 大小随着容器的变化而变化。
• (3)如果不指定方位,组件默认被添加到容 器的中心位置,并且占满整个容器。
18.3.2 FlowLayout
• FlowLayout是JPanel的默认布局方式。使用 FlowLayout布局方式的容器中,组件按照加入 的先后顺序按照设置的对齐方式(居中、左对 齐、右对齐)从左向右排列,一行排满后再从 下一行开始继续排列。
(7)JOptionPane JOptionPane(选择面板)能够方便地弹出 满足用户要求的各种类型对话框。此类中包
含showXxxDialog()方法: 1)showConfirmDialog()方法:显示确认对 话框;
2)showInputDialog()方法:显示输入对话 框;
3)showMessageDialog()方法:显示消息对 话框;
• Swing中的JFrame、JDialog、JApplet和JWindow直接继 承了AWT组件,它们是重量级的,被称为顶层容器。
• (1)JFrame继承自AWT中的Frame类,通常作为主窗体 使用。
• (2)JDialog用于创建对话框,对话框不能单独存在, 必须借助于窗体。
• (3)JApplet可作为Java小应用程序的窗体,被嵌入到 网页中运行。
• JTabbedPane(页签面板) 可以在窗体上显示 (6)JInternalFrame 多个控件。可以将 JInternalFrame(内部窗体)具有
不同类别的控件放 到不同的Tab页上, 然后通过需要点击 相应的Tab页。可以 通过 setTabComponentAt
最大化、最小化、关闭、加入 菜单等功能。JInternalFrame是轻 量级组件,不能单独显示
方法将控件放到Tab 上。
JDesktopPane是一种特殊的分层
面板,是JLayeredPane子类,用来 建立虚拟桌面(Vitual Desktop).它
可以显示并管理众多
JInternalFrame之间的层次关系。
第18讲 Java Swing
• 18.1 • 18.2 • 18.3 • 18.4 • 18.5
Swing 入门 容器 布局管理 基本组件 本讲小结
18.1 Swing入门
• GUI编程的步骤: • (1)创建容器; • (2)为容器设置布局; • (3)创建组件,把其添加到容器中; • (4)为组件添加事件处理代码。
18.2 容器
• 容器是用来盛装其它GUI组件的GUI组件,AWT中的容器类 有Window、Panel、Applet、Frame、dialog等,而Swing 容器类有JFrame、JWindow、JDialog、JApplet、JPanel 等。本节介绍几种常用的Swing容器。
18.2.1 顶层容器
示区域的面板,分割方式
可以是水平分割,也可以
是垂直分割。如果设置了
动态拖拽功能,则拖动分
割线时两边组件会随着拖
拽动态改变大小。通常先 把组件放到JScrollPane 中,再把JScrollPane放 到JSplitPane中,这样每 个窗口都可以拖动滚动条 看到组件的全部内容。
• (4)JTabbedPane (5)JLayeredPane
4)showOptionDialog()方法:显示选择对 话框。
18.3 布局管理
• Java 为了实现跨平台的特性并且获得动态的 布局效果,采用布局管理器对容器中的组件进 行布局。
• Java定义了多种布局管理器,通过布局管理器 之间的组合,能够设计出复杂的界面,而且在 不同操作系统平台上都能够有一致的显示界面。
18.3.1 BorderLayout
• BorderLayout 是JFrame的默认布局,可以直接 通过add()方法为其添加组件,默认情况下组件 被放在JFrame的中心位置,并且组件向四周扩展, 占满整个JFrame,BorderLayout的特点:
• (1)把容器分为五个方位:东、西、南、北、 中,组件按照方位被添加到容器。
18.3.4 CardLayout • CardLayout是把容器分成多张卡片,每个组件占用一张
• 在这种布局方式中,组件的大小不会随着容器 大小的变化而改变,其位置可能会发生改变。
18.3.3 GirdLayout
• GridLayout是把容器分成M×N个网格,M是行数,N是列 数,M和N的值可以在创建GridLayout的对象时确定。组 件按照从左到右,从上到下的顺序放入容器,容器大小 改变时,组件的相对位置不变,大小会改变。
• (4)JWindow与JFrame类似,所不同的是JWindow没有 用于默认关闭操作或是菜单栏的属性。
Hale Waihona Puke 18.2.2 中间层容器• 有些容器不能直接显示到电脑屏幕上,必须放置到顶层 容器或其它容器中,它们存在的目的是放置各种组件。 常用的中间层容器有JPanel、JScrollPane、JSplitPane、 JToolBar、JInternalFrame、JLayeredPane、JRootPane、 JTabbedPane
18.1.2 显示框架
• drawString(String s, int x, int y) 从参 数x、y指定的坐标位置处,从左向右绘制参数 s指定的字符串。
• drawChars(char data[],int offset, int length, int x, int y) 绘制data数组中的 部分字符,length指定数组中要连续绘制的字 符的个数,offset是首字符在数组中的位置。
• (1)JPanel
• JPanel(面板)常用来 放置其它轻量级组件。 默认状态下,它不绘制 任何东西,可以很容易 的为其设置边框,也可 以嵌套使用。
• (2)JScrollPane • JScrollPane(滚动面
板)JScrollPane包括 九个部分:一个中心显 示区、四个角和四条边
(3)JSplitPane JSplitPane(分割面板) 是一个可以被分成两个显
• (2)组件的大小占满整个所属方位,组件的 大小随着容器的变化而变化。
• (3)如果不指定方位,组件默认被添加到容 器的中心位置,并且占满整个容器。
18.3.2 FlowLayout
• FlowLayout是JPanel的默认布局方式。使用 FlowLayout布局方式的容器中,组件按照加入 的先后顺序按照设置的对齐方式(居中、左对 齐、右对齐)从左向右排列,一行排满后再从 下一行开始继续排列。
(7)JOptionPane JOptionPane(选择面板)能够方便地弹出 满足用户要求的各种类型对话框。此类中包
含showXxxDialog()方法: 1)showConfirmDialog()方法:显示确认对 话框;
2)showInputDialog()方法:显示输入对话 框;
3)showMessageDialog()方法:显示消息对 话框;
• Swing中的JFrame、JDialog、JApplet和JWindow直接继 承了AWT组件,它们是重量级的,被称为顶层容器。
• (1)JFrame继承自AWT中的Frame类,通常作为主窗体 使用。
• (2)JDialog用于创建对话框,对话框不能单独存在, 必须借助于窗体。
• (3)JApplet可作为Java小应用程序的窗体,被嵌入到 网页中运行。
• JTabbedPane(页签面板) 可以在窗体上显示 (6)JInternalFrame 多个控件。可以将 JInternalFrame(内部窗体)具有
不同类别的控件放 到不同的Tab页上, 然后通过需要点击 相应的Tab页。可以 通过 setTabComponentAt
最大化、最小化、关闭、加入 菜单等功能。JInternalFrame是轻 量级组件,不能单独显示