之前学习C和C++时总是和数据打交道,也许是学的浅薄的关系,当时觉得显示界面和图像是如此的神秘。
如今学习了一段时间的Java,发现其实界面什么的也不是那么的难懂。
下面写一个简单的例子,让我们的java为我们展示张图片来看看吧。
面板源码:
[java]
view plain
copy
1. package simple;
2.
3. import java.awt.Dimension;
4. import java.awt.Graphics;
5. import java.awt.Graphics2D;
6. import java.awt.Image;
7. import java.awt.Panel;
8. import java.awt.image.BufferedImage;
9.
10. import javax.swing.ImageIcon;
11.
12.
13.
14. public class MyPanel extends Panel{
15.
16. private final Image screenImage = new BufferedImage(800, 600, 2);
17.
18. private final Graphics2D screenGraphic = (Graphics2D) screenImage
19. .getGraphics();
20.
21. private Image backgroundImage;
22.
23. public MyPanel() {
24. loadImage();
25. // 设定焦点在本窗体
26. true);
27. // 设定初始构造时面板大小,这里先采用图片的大小
28. new Dimension(800,600));
29. // 绘制背景
30. drawView();
31. }
32.
33. /**
34. * 载入图像
35. */
36. private void loadImage() {
37. //获得当前类对应的相对位置image文件夹下的背景图像
38. new ImageIcon(getClass().getResource("../image/background.jpg"));
39. //将图像实例赋给backgroundImage
40. backgroundImage = icon.getImage();
41. }
42.
43. private void drawView() {
44. 0, 0, null);
45. }
46.
47. public void paint(Graphics g) {
48. 0, 0, null);
49. }
50.
51. }
窗体源码:
[java]
view plain
copy
1. package simple;
2.
3. import java.awt.Frame;
4. import java.awt.event.WindowAdapter;
5. import java.awt.event.WindowEvent;
6.
7. public class MyFrame extends Frame{
8.
9. public MyFrame() {
10.
11. // 默认的窗体名称
12. this.setTitle("显示一张图片");
13.
14. // 获得面板的实例
15. new MyPanel();
16. this.add(panel);
17. this.addWindowListener(new WindowAdapter() {
18. //设置关闭
19. public void windowClosing(WindowEvent e) {
20. 0);
21. }
22. });
23. // 执行并构建窗体设定
24. this.pack();
25. this.setVisible(true);
26. }
27.
28. }
主方法源码:
[java]
view plain
copy
1. package simple;
2.
3. import java.awt.Frame;
4.
5.
6. public class Main {
7.
8. public static void main(String[] args) {
9. new MyFrame();
10. }
11.
12. }
结构:
运行效果图: