我的java学习笔记(22)关于在框架中显式信息
来源:互联网 发布:通话变声软件 编辑:程序博客网 时间:2024/06/06 11:41
1.JFrame的结构相当复杂,有四层面板。其中Swing程序员最关心的是内容窗格。
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);}}
输出结果
1 0
- 我的java学习笔记(22)关于在框架中显式信息
- 我的java学习笔记(20)关于框架概述
- 我的java学习笔记(21)关于框架定位
- 我的java框架学习笔记hibernate复…
- 我的java框架学习笔记spring入门及…
- 关于我的学习笔记
- 我的java学习笔记(4)关于方法参数传递
- 我的java学习笔记(5)关于对象构造
- 我的java学习笔记(7)关于继承
- 我的java学习笔记(8)关于多态
- 我的java学习笔记(12)关于反射(part 1)
- 我的java学习笔记(13)关于反射(part 2)
- 我的java学习笔记(14)关于反射(part 3)
- 我的java学习笔记(15)关于接口
- 我的java学习笔记(19)关于代理
- 我的java学习笔记
- 我的Java学习笔记
- 我的java学习笔记
- 九宫格基本布局
- LeetCode算法题之int to Roman
- Android开发学习2-Handler
- 快速排序算法的C++实现
- c++面向对象程序设计第二章
- 我的java学习笔记(22)关于在框架中显式信息
- 第十五题
- 在安卓默认布局(RelativeLayout)中已经添加好好按钮,需要滚动条时如何添加?
- Java习惯用法总结
- Linux下的makefile编写详解
- Android--UI之Spinner
- SoundPool和media player对比
- HDOJ 1016 圆环和为素数 类似于全排列、八皇后,仅check函数不一样而已
- 深入Java单例模式