- 浏览: 319233 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (221)
- J2SE心得 (4)
- 经典帖子 (8)
- 亲身经历 (9)
- SSH框架 (12)
- 数据库 (10)
- java基础知识 (41)
- java解惑 (17)
- 软件测试 (0)
- JSP (6)
- JavaScript (8)
- jQuery学习 (12)
- 硬件知识 (1)
- 工具类 (14)
- 面试专题 (4)
- Struts2专题(学习) (14)
- Spring源码分析专题(学习) (15)
- JavaScript专题(学习) (8)
- ExtJs专题(学习) (6)
- Java Web快速入门——全十讲 (10)
- web前台 (1)
- J2ME手机方面 (1)
- 积累整理 (1)
- MyEclipse工具篇 (10)
- oracle (1)
- Android基础 (1)
最新评论
-
youjianbo_han_87:
上传成功后,无法跳转到success页面,会报2038和404 ...
Struts2使用FlashFileUpload.swf实现批量文件上传 -
showzh:
...
MyEclipse 怎么安装SVN插件 -
wpf523:
赞一个啊,楼主加油
一些比较复杂的运算符(二) -
独步天下:
request.getSession().getAttribute() 和request.getSession().setAttribute() -
HelloJava1234:
thank you
怎么改变MyEclipse默认的jsp打开方式
java中的图形界面
GUI,图形化的用户接口,为了人机交互使用的。
构造图形界面的步骤
1,选择一个容器
2,设置容器的布局管理器
3,向容器添加组件
4,事件的监听
容器(Container)用于管理其他的组件的对象。组件必须放到容器里。
JFrame,这是一个最顶层的窗体容器,所有其他的组件必须放在顶层容器里。
JDialog 对话框容器,他要依附于其父组件,他不是一个顶层容器。
JPanel,他不是顶层容器,必须放在顶层容器中,任何一个容器都有add()方法,Panel面板是透明的(默认)。他也是一个
组件。
布局管理:对于任何一个容器类中都有setLayout()方法,用容器对象调用这个方法,来设置容器的布局管理器
(LayoutManager这是一个接口,所有布局管理器都实现了这个接口)。
可用的布局管理器:
FlowLayout,流式布局管。Panel的默认布局管理就是FlowLayout。
BorderLayout,按方位进行布局管理,(North,South,East,West,Middle)不明确指定,就会默认加载在中间
(Middle),JFrame的默认布局管理器是BorderLayout
add(Component comp,String place)这个方法是在指定的位置添加组件。
GridLayout,网格布局,通过行列,间距,来用网格分割,把组件放入如网格中,先行后列摆放组件。
CardLayout,卡片布局,面板重叠放置。
GridBogLayout,组件可以跨行跨列的网格布局。
注意:一定要在图形界面都其他功能都设置好之后才能设置可见性。
JButton :按钮
JTextField:单行文本域
JTextArea:多行文本区
JScrollPane:滚动窗体
JComboBox:下拉选择框
JRadioButton:单选按钮
JCheckBox:多选按钮
JList:多行列表
JLabel:标签
JPasswordField:密码输入框
JEditorPane:显示结构化文档
Border:边框
JMenuBar:菜单条
JMenu:菜单
JMenuItem:菜单项
JPopupMenu:弹出式菜单
JSlider:滑动条
JProgressBar:进度条
JTabbedPane:分层面板
JSplitPane:分隔面板
JToolBar:工具条
JFileChooser:文件选择器
JColorChooser:颜色选择器
显示对话框
JoptionPane 里面有很多静态方法可以弹出对话框
注意:具体的方法可以去参看Java2 SE的API文档。
1.22 corejava辅导(10--1)
发表时间: 2008-12-03 关键字: java辅导
awt事件模型(观察者模式)(重点)
事件模型中,包括事件源对象,事件处理者(事件监听者对象),事件对象。
事件源和事件处理者之间建立了授权关系,事件源类中有一个事件处理者的对象作为属性,也可能是一个事件处理者的集合。
事件对象
事件源————————〉事件处理者
事件模型的机制,事件源对象发送一个消息(事件对象),事件处理者调用相应的方法处理事件。
事件监听器接口中定义的方法,都以事件对象为参数。
一个事件源可以注册多个同类型的监听器,也可以注册多种多个事件监听器,一个事件监听器也可以为多个事件源服务。
了解一下什么是发消息:A,B,C三个类,分别作为事件源,事件处理者,事件对象。在A类中有一个B类的属性或者是一个
内容为B类对象的集合,事件源和事件处理者之间的建立了授权关系,在B类需要实现一个自定义的接口,这个自定义的接口
继承了EventListener,EventListener接口中没有定义任何方法,EventListener是一个标记接口。实现在自定义接口中定
义好的用于事件处理的方法,C类要继承EventObject类。这些方法是以事件对象为参数的b(C c),在A类a(C c)方法中使
用B类的对象调用B类中的b(C c)方法,并把事件对象作为参数,并在main方法中用A类的对象调用了a(c)方法,叫做A类对
象给B类发送了消息。
public class Test{ public static void main(String[] args){ B bt=new B() A at=new A(bt); at.a(new c()); } } class A{ private B b; public A(){} public A(B b){ this.b=b; } public void a(C c){ b.b(c); } } class B{ public void b(C c){ System.out.println(“this is message ”+c.c()) } } class C{ public void c (){ System.out.println(“C Object”); } }
例:
事件源对象间接调用了事件监听器的方法,以事件对象为实参传到事件监听器的方法中,事件源给事件监听器的方法发了一个消息(事件对象)。
例子如下:
import java.util.*; //事件源类 class A{ private String test; private List li=new ArrayList(); public A(String test){ this.test=test; } public String getTest(){return this.test;} public void addB(B b){ this.li.add(b); } public void removeB(B b){ this.li.remove(b); } public void fire(){ C c=new C(this); Iterator it=li.iterator(); while(it.hasNext()){ B b=(B)it.next(); b.b(c); } } } //事件监听器的接口,要继承EventListener标记接口 interface Blistener extends EventListener{ void b(C c); } //事件监听器,实现接口 class B implements Blistener{ public void b(C c){ A a=(A)c.getSource(); System.out.println(a.getTest()+" "+c.getMessage()); } } //事件对象类 class C extends EventObject{ private String message; public C(Object src){ super(src); } public void setMessage(String message){ this.message=message; } public String getMessage(){return this.message;} } public class Test{ public static void main(String[] args){ A a1=new A("Event"); B b1=new B(); c1.setMessage("Test"); a1.addB(b1);//注册监听器 a1.fire();//发送事件 } }
以上代码只是事例,在引入包之后可以运行。
事件对象继承自EventObject类,并可以通过getSource()方法获得事件源对象,当然需要在构造事件对象时将事件源对象传
入,来区分是哪个事件源发出的事件,所以要用事件对象作为参数。
事件源,事件对象,监听器接口,在java.awt包中提供了很多已经定义好的,只需要实现监听接口就好了。
发表评论
-
java 的split的用法
2010-01-20 13:05 1811Java split用法 java.lang.string.s ... -
java简介以及了解java(三六)
2009-08-14 14:50 824*1: 名为DoCallStuff类实现了Callable,S ... -
java简介以及了解java(三五)
2009-08-14 14:49 1141处理自定义注释的类例: import java.lang.r ... -
java简介以及了解java(三四)
2009-08-14 14:45 847JAVA5.0 的注释(Annotation) ... -
java简介以及了解java(三三)
2009-08-14 14:42 970泛型方法的定义把数组拷贝到集合时,数组的类型一定要和集合的泛型 ... -
java简介以及了解java(三二)
2009-08-14 14:40 733java5.0中的泛型说明增强了java的类型安全,可以在编译 ... -
java简介以及了解java(三一)
2009-08-14 14:38 940可变长的参数在java5.0中,可以使用一种变长参数,也就是例 ... -
java简介以及了解java(三十)
2009-08-14 14:37 795Java5.0的新特性自动装箱和自动拆箱自动封箱和自动拆箱,它 ... -
java简介以及了解java(二九)
2009-08-14 14:35 826反射反射,在运行时,动态分析或使用一个类进行工作。类对象,是一 ... -
java简介以及了解java(二八)
2009-08-14 14:33 893UDP socket这种信息传输方 ... -
java简介以及了解java(二七)
2009-08-14 14:32 829JAVA网络编程网络基础知识网络编程的目的就是指直接或间接地通 ... -
java简介以及了解java(二六)
2009-08-14 14:29 818ObjectInputStream和ObjectOutputS ... -
java简介以及了解java(二五)
2009-08-14 14:28 934BufferInputStream和BufferOutputS ... -
java简介以及了解java(二四)
2009-08-14 14:27 758Java中的I/O使用I/O流访问file中的内容。JVM与外 ... -
java简介以及了解java(二三)
2009-08-14 14:24 678基本输入输出所使用的类的介绍:FileInputStream和 ... -
java简介以及了解java(二二)
2009-08-14 14:23 740处理跨平台性对于命令 ... -
java简介以及了解java(二一)
2009-08-14 14:22 869死锁问题多线程不释放 ... -
java简介以及了解java(二十)
2009-08-14 14:21 859共享数据的并发处理多线程同时并发访问的资源叫做临界资源。多个线 ... -
java简介以及了解java(十九)
2009-08-14 14:19 800Java多线程编程进程,即运行中的程序,多任务操作系统中并发的 ... -
java简介以及了解java(十八)
2009-08-14 14:17 695在Java的图形编程中,所有动作(事件)都已经提供了相应的事件 ...
相关推荐
本示例探讨了如何使用Java实现从Unicode十六进制字符串到中英文字符的转换,以及反过来的过程。理解Unicode和UTF之间的关系是至关重要的。 Unicode是一个国际标准,它为世界上几乎所有的字符提供了一个唯一的数字...
Java入门的基础资料,了解Java 语言 ; 了解Java 程序的类型 ; 掌握Java 程序运行环境的配置 ; 理解Java 虚拟机 (JVM); 了解Java的特点
了解Java 语言 了解Java 程序的类型 掌握Java 程序运行环境的配置 理解Java 虚拟机 (JVM) 了解Java的特点
书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和Java语言实现细节的必读之作。 《Java核心技术系列:Java虚拟机规范(Java SE 8版)》共分7章。第1章从宏观的角度介绍了Java虚拟机...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
14.java集合转换(了解).zip14.java集合转换(了解).zip14.java集合转换(了解).zip14.java集合转换(了解).zip14.java集合转换(了解).zip14.java集合转换(了解).zip14.java集合转换(了解).zip14.java集合...
在深入解析这段代码之前,我们首先来了解一下Java中如何实现16位内存数据转化为double型。 ### Java中16位内存数据转化为double型 在Java中,处理二进制、十六进制和浮点数之间的转换,通常涉及到以下步骤: 1. *...
在Java编程语言中,将控制台输入的任意字符转换为十六进制、二进制和十进制是一项常见的任务,特别是在处理数据表示和计算时。本文将深入探讨如何实现这一功能,同时也会提及一些相关的基本概念。 首先,我们需要...
Java面试通常涵盖多个...并发编程:了解Java中的线程、同步、锁等机制,以及Java并发包中的工具类。 JVM与性能调优:对Java虚拟机(JVM)有一定了解,包括内存管理、垃圾回收等方面,并知道如何进行基本的性能调优。
Java 汇总学习简介 Java 作为一种广泛使用的高级编程语言,其学习涵盖了许多方面。在深入探讨之前,我们先来了解一下 Java 的基本课程,包括 SL110、SL275 和 SL285,这些课程通常由 SUN 公司提供,旨在帮助初学者...
Java语言的基本语法是学习Java的第一步,了解Java语言的基本语法可以帮助开发者更好地掌握Java语言。 2. Java面向对象编程:Java语言支持面向对象编程(OOP),它可以模拟现实世界中的对象和关系。面向对象编程的...
程序设计语言 了解Java平台特性 了解Java集成开发环境 使用Eclipse开发Java应用 了解Java程序结构组成 常见问题
阅读建议:此资源以开发随机出题系统学习其java GUI原理和内核,不仅是代码编写实现,也更注重内容上的需求分析和过程理解,所以比较适合java初学者了解java的使用和GUI界面的设计,并调试对应的代码。
下面我们将详细探讨Java2Pas的工作原理、使用方法以及其在IT领域的应用。 首先,Java和Delphi是两种不同的编程语言,它们有着不同的语法结构和编程模型。Java是一种面向对象的语言,由Sun Microsystems(现已被...
Java使用类和对象来组织代码,而Python则支持多种面向对象的特性,包括类、对象、以及函数式编程元素。此外,Java的控制流程(如if-else,for循环)和异常处理与Python也有所不同。 在实际的转换过程中,工具可能会...
VNC(Virtual Network Computing)是一种远程桌面协议,它允许用户通过网络访问并控制另一台计算机的图形...而深入研究VNC Java客户端的源码,还可以帮助我们学习网络编程、图形用户界面设计以及Java跨平台开发等技能。
- 使用此类工具通常需要了解其输入和输出格式,以及如何处理可能的转换问题,例如Java的多线程和静态方法在JavaScript中可能的替代方案。 5. **应用领域** - 单页应用(SPA)开发:利用Java代码的转换,可以将...
通过《Java开发实战经典》这本书的学习,读者不仅可以掌握Java语言的精髓,还能了解到实际开发中的最佳实践,提升编程能力,为参与复杂项目的开发打下坚实基础。书中的每个章节都可能包含丰富的示例代码,帮助读者...
5. 异常(Exception):了解何时以及如何处理异常。 总的来说,Java API文档中文网页版是Java开发者必备的参考资料,它可以帮助我们理解和使用Java平台提供的各种功能,提高编程的准确性和效率。在实际开发中,熟练...
让我们深入了解一下Java 17以及如何在Windows系统上进行安装。 Java 17,正式命名为Java SE 17 (Standard Edition),是Oracle公司推出的最新长期支持版(LTS),意味着它将获得至少五年的技术支持,包括安全更新和...