之前学习C和C++时总是和数据打交道,也许是学的浅薄的关系,当时觉得显示界面和图像是如此的神秘。
如今学习了一段时间的Java,发现其实界面什么的也不是那么的难懂。
下面写一个简单的例子,让我们的java为我们展示张图片来看看吧。
面板源码:
[java] view
plaincopy
packagesimple;
importjava.awt.Dimension;
importjava.awt.Graphics;
importjava.awt.Graphics2D;
importjava.awt.Image;
importjava.awt.Panel;
importjava.awt.image.BufferedImage;
importjavax.swing.ImageIcon;
publicclassMyPanelextendsPanel{
privatefinalImage screenImage =newBufferedImage(800,600,2);
privatefinalGraphics2D screenGraphic = (Graphics2D) screenImage
.getGraphics();
privateImage backgroundImage;
publicMyPanel() {
loadImage();
// 设定焦点在本窗体
setFocusable(true);
// 设定初始构造时面板大小,这里先采用图片的大小
setPreferredSize(newDimension(800,600));
// 绘制背景
drawView();
}
/**
* 载入图像
*/
privatevoidloadImage() {
//获得当前类对应的相对位置image文件夹下的背景图像
ImageIcon icon = newImageIcon(getClass().getResource("../image/background.jpg"));
//将图像实例赋给backgroundImage
backgroundImage = icon.getImage();
}
privatevoiddrawView() {
screenGraphic.drawImage(backgroundImage, 0,0,null);
}
publicvoidpaint(Graphics g) {
g.drawImage(screenImage, 0,0,null);
}
}
窗体源码:
[java] view
plaincopy
packagesimple;
importjava.awt.Frame;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
publicclassMyFrameextendsFrame{
publicMyFrame() {
// 默认的窗体名称
this.setTitle("显示一张图片");
// 获得面板的实例
MyPanel panel = newMyPanel();
this.add(panel);
this.addWindowListener(newWindowAdapter() {
//设置关闭
publicvoidwindowClosing(WindowEvent e) {
System.exit(0);
}
});
// 执行并构建窗体设定
this.pack();
this.setVisible(true);
}
}
主方法源码:
[java] view
plaincopy
packagesimple;
importjava.awt.Frame;
publicclassMain {
publicstaticvoidmain(String[] args) {
Frame frame=newMyFrame();
}
}
结构:
运行效果图:
FROM: http://blog..net/w93223010/article/details/7898989