java第12天学习内容回顾——java白皮书第9章

Swing 用户界面组件

  1. 一种模式:模型----视图-----控制器
  2. 模式有很多种,例如:模型----视图----控制器(原则为限制一个对象拥有的功能数量);组合模型--容器和组件之间;装饰器模式----带滚动条的面板;策略模式-----布局管理器
  3. 内容---外观----行为----MVC
  4. 模型与视图之间关系 1:n 模型独立于观感,所以,有重用的可能
  5. 模型可能相同,但视同和控制器可能不同
  6. metal观感中,JButton 继承了JComponent的包装器类,后者包含了DefaultButtonModel(模型)对象和BasicButtonUI(视图)对象。
  7. 流布局管理器:组件防止在容器中,流布局管理器全权安全组件的放置,容器也可以放置在另一个容器中,按钮和文本域都继承于Component类,Component类的层次结构详述与P328
  8. 容器的add方法可以把组件和放置方法传给布局管理器,.segLayout(为容器防止布局管理器)
  9. 边框布局管理器,每一个JFram的内容窗格的布局管理器,这个布局管理器允许为每个组件选择一个放置位置 .add(组件,东南西北中);缩放时,边沿组件大小先不变,中间组件的大小先发生变化,                 默认是:中。
  10. 流布局管理器:维持每个组件的最佳尺寸  ----------边框布局管理器:扩展组件以填充可用空间

    详述于P330

  11. 文本域 只能接受单行输入------JTextField-----new JTextField("内容",极限个数),文本区接收多行------JTextArea,密码输入不显示正确内容--------JPassword  这三个类继承于JTextComponent抽象类   这个抽象类中有方法getText,setText(对文本的操作), isEditable,setEditable(对可编辑性操作);可以利用方法 setColumns()重新设定列数(字的个数),在使用这个方法后需要调用这个文本框容器的revalidate方法(这个方法是JComponent类的方法)这个方法将会重新计算容器内各个组件的大小并布局,但是如果想重新计算JFrame(框架)中所有组件的大小应该使用名为validate方法,因为JFrame并不继承于JComponent类
  12. 使用setText(字符串),这个方法定义在JTextComponent类中,与getText方法对应
  13. getText().trim()得到无空格的字符串
  14. setFont方法将改变现实的字体 详述于p335
  15. JLabel 是实现了JConstants接口的一个swing类,带有排版参数常量例如:SwingConstants.RIGHT或者JLabel.RIGHT右为准。
  16. 可以使用名字,图标,排版进行构建JLabel实例
  17. 文本区中的换行只是视觉效果,文档中的文本没有改变(加换行符),可以使用.setLineWrap(true)方法防止裁剪过长的行
  18. 文本区插入到滚动窗格中可以实现滚动条,new JScroolPane(文本区组件),加入后,滚动窗格负责管理文本区的视图,可以为任意的组件添加滚动功能
  19. JTextArea组件只显示无格式的文本,需要显示格式化的文本时需要利用JEditorPane类 详述与P338
时间: 2024-11-12 23:35:27

java第12天学习内容回顾——java白皮书第9章的相关文章

java第12天学习内容回顾——java白皮书第7章

AWT:抽象窗口工具箱,AWT+IFC==SWING,Swing是基于AWT架构之上的提供组件,但处理事件依然用AWT Swing用于 被绘制的用户界面类,javaFX可能会替代它,AWT 用于底层机制. 用户可以指定"观感",此外Metal是专属于java的"观感" Swing库中,JFrame类用于描述顶层窗体,它是极少数不需要绘制在"画布"上的SWing组件之一,所以它的"修饰部件"是由用户的窗口系统绘制,而不是Swin

java第13天学习内容回顾——java白皮书第8章

java事件处理机制 事件的相关信息被封装在一个事件对象中(一个参数),事件源将这个时间对象分发到它的所有监视器中,并有监视器对事件作出反应. AWT时间处理机制 监听器对象构造出一个实例,这个实例实现了监听器接口 事件源是一个对象实例,这个实例可以注册(添加)监听器,并发送事件(事件发送到监听器) 事件发生时,事件源将发送到所有被添加进事件源的监视器 监视器利用被发送过来的事件信息决定如何相应 3.一个事件源可以对应多个监视器,监听器接口ActionListener接口,这个接口中只包含一个方

java第三天学习内容回顾——java白皮书第四章

java面向对象程序设计中使用到名词理解:对象标识==一个实例的变量名.对象行为==一个类的方法.对象状态==类中的数据域(严格讲是可以发生变化的数据域): 类之间的关系:use_a,has_a,is_a三种 java中的Math类有些特殊,它只封装了功能而并不涉及数据域,所以不需要也不必隐藏数据 java中的对象变量名更像是个指针(像),声明一个对象实例后必须用new构造对象然后用=将两者链接起来,也可以用=将两个不同的对象变量连接起来,但此时需要注意,就像指针赋值一样,两个变量自此将共享同一

java第四天学习内容回顾——java白皮书第四章

java中有自动的垃圾回收器,不需要人工回收内存或者资源,所以java不支持析构函数. finalize方法可以添加进任何一个类,可以用来在回收短缺的资源,但作者并不提倡使用这个方法,因为程序员无法确定这个方法将在哪一时刻被调用,只知道它将在垃圾回收器前调用. System.runFinalizersOnExits 这个方法能够确保finalizer方法在java关闭前调用,但作者认为这样并不安全,有一个替代的方法:Runtime.addShutdownHook方法,具体在白皮书后面介绍. ja

java第二天学习内容回顾——java白皮书第三章

对于由控制台进行输入时,需要利用到Scanner控件进行辅助,可以利用它进行整行或者单字节的读取,此外需要注意,如果是密码方面的输入问题,需要利用的Console空间,其限制每次只能固定读取一整行. java需要包含某些包时,利用import保留字,不同于Include java关于格式化输出问题的详述于白皮书P57 String.format方法的使用与作用类似于print,但不同处在于前者只是创建了一个格式化的字符串,而后者则是打印出格式化的字符串. 对于当前时间的多种打印形式详述与白皮书P

java第一天学习内容回顾——java白皮书第三章

java虚拟机可以使用即时编译和字节码(为达到独立于平台的特性)两种,对使用频繁的字节码序列将编译成机器码实现即时编译. java中基本类型的字节数是固定的(为方便移植),与C/C++不同(它们只确定了相对大小关系),java中byte(1) short(2) int(4) long(8) float(4) double(8). java分为标准版.微型版(嵌入式).企业版(后端) HTML是描述网页结构的方式,java是程序设计语言,其内容提供的applet可以嵌入网页中. XML是描述数据结

java第五至七天学习内容回顾——java白皮书第五章

java学习过程出现第一次滞后,背景:清明节以及持续1周的雨. 方法签名=方法名+参数列表. 在覆盖方法时需要注意:1.覆盖后的方法返回类型的兼容性:2.新的方法的可见性必须不低于原方法的可见性. 这里有一个因果:每次调用方法都要进行搜索开销很大,所以 虚拟机 会预先为 每一个类 建立方法表,使用时直接查表,此外,除了private,static,final方法,所有的方法都是动态链接. 调用 某个方法 的实际解析过程 详述于白皮书P160: final 修饰的类将不允许出现继承,此类中所有的方

7月12日学习内容

理清几个术语! 1.JAVA虚拟机 http://shenyuc629.iteye.com/blog/1698770 JAVA程序为了能一次编译之后再不同的平台上运行,就是因为在运行程序之前,把这台机器想象成了属于自己的那台熟悉的机器,即为虚拟机. JAVA程序先在虚拟机上运行,再将程序翻译为机器指令在具体的机器上运行. 一个JAVA程序对应一个虚拟机,3个JAVA程序就有三个虚拟机. 那为什么不多个JAVA程序共用一个虚拟机呢?我也不知道 http://blog.csdn.net/bingdu

今日学习内容回顾 一、基本数据类型 二、字符串型及内置方法 三、列表型及内置方法

一.基本数据类型int类型.float类型1.用途:int:记录年龄.电话号码.QQ号码 float:薪资.身高等 2.定义方式:int(object) float(object)#int(object) int返回的结果只能是数据整型,当你将int(float型)时,返回的是该float 对象的取整部分,其他的识别不了,当你将一个不全是数字的字符串强制转化为int整型 时,系统会出现报错.这里int(object)中的对象可以是一个,也可以多个,以逗号分开如:int(x,y)进制间转换形式:i