可以将消息字符串直接绘制在框架中,但这种做法并不是一种良好的变成习惯。在JAVA中,框架被设计为放置组件的容器,可以将菜单栏和其它用户见面元素放置其中。在通常情况下,应该在一个称为面板(panle)的组件上绘制信息,并将这个面板添加到框架中。
为了能够在面板上进行绘图,需要定义一个扩展于JPanle的类,在这个类中覆盖paintComponent方法
下面给出一完整的实例
import javax.swing.*;
import java.awt.*;
public class NotHelloWorld
{
public static void main(String[] args)
{
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,400);
frame.setLocation(100,100);
frame.setVisible(true);
//add panel to frame
NotHelloWorldPanel panel=new NotHelloWorldPanel();
frame.add(panel);
}
}
/**
A panel that displays a message
*/
class NotHelloWorldPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString("Not a Hello,World program",75,100);
}
}
但是这个程序有个疑惑,程序非得在界面重绘(变小,变大)之后显示那些信息,不知道为什么!!!!