java6图形用户界面2_组件_第1页
java6图形用户界面2_组件_第2页
java6图形用户界面2_组件_第3页
java6图形用户界面2_组件_第4页
java6图形用户界面2_组件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务1创建登录界面中容器与组件 学习情境 考试系统单机版 学习目标 了解AWT和Swing的区别和联系 掌握容器的概念及其分类 掌握容器JFame JPanel JDialog的使用 掌握组件JButton JLabel JTextFiled JTextArea和JPasswordField的使用 掌握将组件添加到容器中方法 任务描述 技术要点 AWT和Swing容器组件 AWT和Swing AWT AWT中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系AWT通过牺牲功能来实现其平台无关性AWT不能满足图形化用户界面发展的需要 Swing基础 Java包含一个用于GUI编程的类库 叫抽象窗口工具箱 AbstractWindowToolkit AWT 1996年 SUN公司和Netsacpe合作开发了一套GUI库 即Swing组件 AWT中的组件 例如按钮 类名为Button 在实现中使用了本地代码 NativeCode 这些组件的创建和行为是由应用程序所在平台上的本地GUI工具来处理的 因此 AWT组件要在不同的平台上提供给用户一致的行为就受到了很大的限制 同时 AWT组件中还存在很多bug 使用AWT来开发跨平台的GUI应用程序困难重重 Swing组件和原来的AWT组件最大的区别就是Swing组件的实现中没有使用本地代码 这样对底层平台的依赖型就大为降低 并且可以给不同平台的用户一致的感觉 此外 和原来的AWT相比 Swing中提供了内容更多 使用更为方便的组件 AWT和Swing Swing框架 AWT和Swing 建立GUI的步驟 创建组件将组件加入容器配置容器內组件的位置处理由组件所产生的事件 组件 控件 组件是构成应用程序界面的基本元素 按钮 文本框 进度条等 这些都是控件 组件 这里我们只讨论可视化组件 又可以分为容器组件和非容器组件 从字面意义上来理解 容器组件就是能包含其他组件的特殊控件 例如 Java中的JPanel组件就属于容器型控件 我们可以在JPanel中放置按钮 文本框等非容器组件 你甚至可以在JPanel中再放置若干个JPanel组件 值得注意的是 顶层容器也是容器型组件 每一个窗口应用程序中有且只能有一个顶层容器组件 换句话说 顶层容器不能包括在其他的组件中 容器 顶层容器 JFrame类 中间容器 JPanel类 对话框 JOptionPane 顶层容器 JFrame类 创建JFrame窗口 利用JFrame类一个窗口有两种方法 直接定义JFrame类的对象来创建一个窗口继承JFrame类来创建一个窗口 importjavax swing publicclassJFrameDemo1 publicstaticvoidmain Stringargs JFramef newJFrame 一个简单窗口 f setLocation 300 300 f setSize 300 200 f setResizable false f setVisible true f setDefaultCloseOperation f EXIT ON CLOSE importjavax swing publicclassMyFrameextendsJFrame MyFrame Stringtitle super title setLocation 300 300 setSize 300 200 setResizable false setVisible true setDefaultCloseOperation EXIT ON CLOSE publicclassJFrameDemo2 publicstaticvoidmain Stringargs newMyFrame 一个简单窗口 中间容器 JPanel类 importjava awt importjavax swing classTwoPanelextendsJFrame publicTwoPanel Stringtitle super title publicstaticvoidmain Stringargs TwoPanelfr newTwoPanel TwoPanel测试 JPanelpan1 newJPanel JPanelpan2 newJPanel fr setLayout null fr getContentPane setBackground Color green fr setSize 250 250 pan1 setLayout null pan1 setBackground Color red pan1 setSize 150 150 pan2 setBackground Color yellow pan2 setSize 50 50 pan1 add pan2 fr getContentPane add pan1 fr setVisible true 问题 无法关闭窗口 解决 加上fr setDefaultCloseOperation fr EXIT ON CLOSE 对话框 JOptionPane 组件 按钮 JButton类 标签 JLabe类 文本组件 JTextComponen类 按钮 JButton类 例如 JButtonb1 newJButton 确定 ImageIconbuttonIcon newImageIcon Ok gif JButtonb2 newJButton 确定 buttonIcon 标签 JLabe类 importjavax swing publicclassJLabelDemoextendsJFrame JLabelDemo super JLabel示例 JPanelpan newJPanel JLabeljlab1 newJLabel 文本标签 ImageIconicon newImageIcon angel gif JLabeljlab2 newJLabel 这是图标文本标签 icon SwingConstants LEFT pan add jlab1 pan add jlab2 this getContentPane add pan setLocation 300 300 setSize 250 200 setResizable false setVisible true setDefaultCloseOperation EXIT ON CLOSE publicstaticvoidmain Stringargs newJLabelDemo 文本组件 JTextComponen类 JTextComponent常用方法getText 返回此TextComponent中包含的文本setText String 将此TextComponent文本设置为指定文本JTextField常用构造函数及方法JTextField int 创建一个空的文本区JTextField String int 创建一个指定文本和字符数的文本区JPasswordField 创建一个空的密码框char getPassword 返回密码框中所包含的文本 voidsetEchoChar charc 设置密码框的回显字符 JTextAread常用构造函数及方法JTextArea 创建一个空的文本区JTextArea int int 创建一个指定行数和列数的文本区JTextArea String int int 创建一个指定文本 行数和列数的文本区 importjava awt Font importjava awt Toolkit importjavax swing JButton importjavax swing JFrame importjavax swing JLabel importjavax swing JOptionPane importjavax swing JPanel importjavax swing JPasswordField importjavax swing JTextField 定义主类publicclassLogin GUI publicstaticvoidmain String args newLoginFrame 任务实施登录界面 classLoginFrameextendsJFrame 定义窗体privateToolkittool publicLoginFrame intw h LoginPanellp setTitle 用户登录 tool Toolkit getDefaultToolkit setSize 300 200 设置窗体居中显示w Toolkit getDefaultToolkit getScreenSize width this getWidth 2 h Toolkit getDefaultToolkit getScreenSize height this getWidth 2 setLocation w h setResizable false lp newLoginPanel this this getContentPane add lp setDefaultCloseOperation JFrame EXIT ON CLOSE setVisible true classLoginPanelextendsJPanel 定义中间容器放置组件privateJLabelnamelabel pwdlabel titlelabel privateJTextFieldnamefield privateJPasswordFieldpwdfield privateJButtonloginbtn registerbtn cancelbtn privateJFrameiframe publicLoginPanel JFrameframe iframe frame titlelabel newJLabel 欢迎使用考试系统 titlelabel setFont newFont 隶书 Font BOLD 24 namelabel newJLabel 用户名 pwdlabel newJLabel 密码 namefield newJTextField 16 pwdfield n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论