您的位置:首页 > 编程语言 > Java开发

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

2015-04-07 23:14 543 查看
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 基础学习 swing