我的java学习笔记(22)关于在框架中显式信息
2015-04-07 23:14
543 查看
1.JFrame的结构相当复杂,有四层面板。其中Swing程序员最关心的是内容窗格。
2.绘制一个组件,需要定义一个扩展JComponent的类,并覆盖其中的paintComponent方法。
3.paintComponent方法有一个Graghics类型的参数,这个参数保存着用于绘制图像和文本的设置。
4.在java中,所有绘制都必须使用Graphics对象。
5.无论何种原因,只要窗口需要重新绘制,事件处理器就会通告组件,从而引发执行所有组件的paintCpmponent方法,所以一定不要自己调用该方法。
6.显式文本使用Graphics类中的drawString方法。
7.在框架中填入一个或多个组件时,如果你只想使用它们的首选大小,可以调用pack方法,而不是setSize方法。
实例代码
测试类
框架类
绘制类
输出结果
2.绘制一个组件,需要定义一个扩展JComponent的类,并覆盖其中的paintComponent方法。
class Exp extends JComponent { public void paintComponent(Graphics g) { ... } }
3.paintComponent方法有一个Graghics类型的参数,这个参数保存着用于绘制图像和文本的设置。
4.在java中,所有绘制都必须使用Graphics对象。
5.无论何种原因,只要窗口需要重新绘制,事件处理器就会通告组件,从而引发执行所有组件的paintCpmponent方法,所以一定不要自己调用该方法。
6.显式文本使用Graphics类中的drawString方法。
g.drawString(test,x,y);
7.在框架中填入一个或多个组件时,如果你只想使用它们的首选大小,可以调用pack方法,而不是setSize方法。
实例代码
测试类
import java.awt.EventQueue; import javax.swing.JFrame; public class test { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new TextFrame(); frame.setTitle("test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } }
框架类
import javax.swing.JFrame; public class TextFrame extends JFrame{ public TextFrame() { add(new TextStr()); pack(); } }
绘制类
import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JComponent; public class TextStr extends JComponent { public static final int MESSAGE_X = 75; public static final int MESSAGE_Y = 50; private static final int DEFAULT_WIDTH = 300; private static final int DEFAULT_HEIGHT = 200; public void paintComponent(Graphics g) { g.setColor(Color.RED); g.drawString("你好啊啊啊啊!!", MESSAGE_X, MESSAGE_Y); } public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT); } }
输出结果
相关文章推荐
- 我的java学习笔记(20)关于框架概述
- 我的java学习笔记(21)关于框架定位
- Java 实现 文件目录 遍历 - Java 学习笔记 (22)
- JAVA学习笔记(三)---关于JAVA中的栈内存、堆内存
- java学习笔记-集合框架-黑马
- 【Java学习笔记】Java中关于tostring方法的误操作
- java学习笔记:关于IO转换流InputStreamReader和OutputStreamWriter
- Java 学习笔记22:Maven以及其Eclipse插件m2eclipse的安装
- 关于java打印功能的最简单实现的学习笔记
- java学习笔记:集合框架之TreeSet
- java学习笔记:集合框架之TreeSet
- 【Java学习笔记】文件信息
- java 数字证书信息的获取实例-java学习笔记(2)
- 学习笔记 - java.util.concurrent 多线程框架(引)
- java学习笔记,关于java的一些基础知识,适用于初学者,第一节
- JAVA学习笔记--关于System.out.println()
- 关于JAVA中 内部类的几点学习笔记
- 30日学习笔记,关于java的IO系统已经Decorarot模式
- Java 学习笔记23:关于Java Session使用
- [学习笔记]关于JavaBran的部署--部署class