Hello Java (关于Java中图形界面的显示)
“本鹏”此次的RPG开发讲座将重心放置于J2SE架构之上,以Swing为基础架构JFrame之上,利用JPanel进行扩展。现在,我们从最基础的第一步开始讲起,即如何利用Java构建一个Windows窗口。
Example.java:
package com.zql.rpg.one;
import java.awt.Container;
import javax.swing.JFrame;
public class Example0 extends JFrame{
private static final long serialVersionUID = 1L;
public Example0(){
//设置标题
setTitle("Hello JAVA");
//实例化自定义面板
MyPanel panel = new MyPanel();
//获取当前窗体的实例,
Container contentPane = getContentPane();
//加载自定义面板到窗体中,
contentPane.add(panel);
pack();
}
public static void main(String[] args) {
Example0 e0 = new Example0();
e0.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
e0.setVisible(true);
}
}
MyPanel.java:
package com.zql.rpg.one;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JPanel;
public class MyPanel extends JPanel{
//定义全局常量,面板的宽与高
private static final int WIDTH = 300;
private static final int HEIGHT = 300;
public MyPanel() {
//设置背景颜色
setBackground(new Color(255,255,255));
//设置面板默认大小
setPreferredSize(new Dimension(WIDTH, HEIGHT));
}
/**
* Graphics为java.awt下所有类,用以[描绘]图形界面
* 大多数Java下的图形界面开发时,都是以此类为基础的。
*/
public void paintComponent(Graphics g){
//这里我们没有自定义Graphics,而是直接调用[父类]的同名方法实现。
super.paintComponent(g);
//在对应坐标画出字符串
g.drawString("easy java", 40, 40);
}
}
演示:
在本例中,各层级对象架构关系如下图所示。
现在,我们已清楚了Java桌面游戏开发的入门要素,下回就可以步入正题了。
来源:oschina
链接:https://my.oschina.net/u/2657018/blog/1923231