码迷,mamicode.com
首页 > 编程语言 > 详细

我的java学习笔记(22)关于在框架中显式信息

时间:2015-04-07 23:28:42      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:java   基础学习   swing   

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);
	}
	
}

输出结果

技术分享

我的java学习笔记(22)关于在框架中显式信息

标签:java   基础学习   swing   

原文地址:http://blog.csdn.net/zhurui_idea/article/details/44927419

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!