使用Java显示图片

2023-10-27

之前学习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(8006002);  
  17.       
  18.     private final Graphics2D screenGraphic = (Graphics2D) screenImage  
  19.     .getGraphics();  
  20.       
  21.     private Image backgroundImage;  
  22.       
  23.     public MyPanel() {  
  24.         loadImage();  
  25.         // 设定焦点在本窗体  
  26.         setFocusable(true);  
  27.         // 设定初始构造时面板大小,这里先采用图片的大小  
  28.         setPreferredSize(new Dimension(800,600));  
  29.         // 绘制背景  
  30.         drawView();  
  31.     }  
  32.       
  33.     /** 
  34.      * 载入图像 
  35.      */  
  36.     private void loadImage() {  
  37.         //获得当前类对应的相对位置image文件夹下的背景图像  
  38.         ImageIcon icon = new ImageIcon(getClass().getResource("../image/background.jpg"));  
  39.         //将图像实例赋给backgroundImage  
  40.         backgroundImage = icon.getImage();  
  41.     }  
  42.       
  43.     private void drawView() {  
  44.         screenGraphic.drawImage(backgroundImage, 00null);  
  45.     }  
  46.       
  47.     public void paint(Graphics g) {  
  48.         g.drawImage(screenImage, 00null);  
  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.         MyPanel panel = new MyPanel();  
  16.         this.add(panel);  
  17.         this.addWindowListener(new WindowAdapter() {  
  18.             //设置关闭  
  19.             public void windowClosing(WindowEvent e) {  
  20.                 System.exit(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.         Frame frame=new MyFrame();  
  10.     }  
  11.       
  12. }  


结构:

 

运行效果图:


FROM: http://blog.csdn.net/w93223010/article/details/7898989



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Java显示图片 的相关文章

随机推荐

  • 天平数学,12个球称3次

    天平数学 12个球称3次 问题 天平数学问题 有12个外观完全一样的球 其中有一个球和其他球的重量不一致 如何使用一个天平称3次得出不一致的球是哪个 解答 方法一 12个球 1 2 3 4 5 6 7 8 9 10 11 12 第一次 1
  • Android studio4.0 内嵌 UnityActivity

    Android studio4 0 内嵌 UnityActivity 用最简单方法嵌入UnityActivity 首先 得导出Unity Android工程 其次 新建android studio工程 排错 感言 问题 用最简单方法嵌入Un
  • 03系统多界面_秒懂:海湾JB-QB-GST200报警控制器系统调试步骤

    海湾JB QB GST200报警控制器系统调试步骤 此调试步骤可用于海湾消防JB QB GST200壁挂式火灾报警控制器 联动型 JB QB GST200立柜式火灾报警控制器 联动型 JB QB GST200琴台式火灾报警控制器 联动型 一
  • 报错处理(收集)

    1 vue axios 报错 Uncaught in promise TypeError Cannot convert undefined or null to object at Function keys
  • c++11 多线程支持 (std::shared_future)

    定义于头文件
  • 基于MYCAT的MYSQL主从与读写分离配置详解与示例

    原文地址 http blog csdn net dreamcode article details 49511833 第三版 基于Mycat的MySQL主从读写分离配置详解与示例 完整文章下载地址 http download csdn ne
  • R语言回归模型中的训练集和测试集划分

    训练集和测试集划分 set seed 1234 nn 0 8 data iris length iris 1 sub lt sample 1 nrow data round nrow data nn length sub data trai
  • Word‘由于宏安全设置 无法找到宏’问题解决

    针对这个问题 尝试试很多网上的做法无果后 意外发现是自己电脑的杀毒软件把该文件误认为是病毒隔离起来 只需将其恢复到信任区即可 若仍无法解决 检查word是否启用宏
  • 我靠TikTok抖音赚到了人生第一桶金:这个风口行业,真的很赚钱

    现代人的 懒 简直超乎你想象 吃饭靠外卖 买东西靠快递 凡是一切你能想到的 麻烦 现代科技都能替你搞定 而这 恰恰是一种新型的赚钱方式 十年前的淘宝被人嘲笑 说这是马云的异想天开 十年后的淘宝 拼多多 京东告诉你 这一切都已成真 而且带着一
  • 虚拟机迁移原理

    我们常常遇到需要迁移虚拟机的问题 比如需要维护某台设备 会将设备上的一切应用迁移到另一台设备 但是如何将虚拟机进行迁移呢 好比说 虚拟机中正在运行一个程序 这个程序有源源不断的数据访问 怎么使得在不影响这些访问的情况下把虚拟机迁移到领一台服
  • C语言图形库——EasyX常用函数

    上节讲到贴出一张图片的过程 本节接着介绍一些基本的图形库函数 头文件 include
  • 深入浅出SSD--5.1PCIE基础知识

    深入浅出SSD 5 1PCIE基础知识 1 关于PCIE的速度 SSD使用PCIe接口比SATA快 下面是PCIE1 0 2 0 3 0速度 表中的带宽 比如PCIe3 0 1 带宽为2GB s 是指双向带宽 即读写带宽 如果单指读或者写
  • 本周最新文献速递20220522

    本周最新文献速递20220522 一 精细解读文献 一 文献题目 Single nucleus chromatin accessibility profiling highlights regulatory mechanisms of co
  • xml转换word文档

    点击下载 download value flag let this this this axios method get url url lengthMeasurementTwice params machineId this machin
  • http请求头origin、referer和host区别

    1 Host 描述请求将被发送的目的地 包括且仅仅包括域名和端口号 HTTP 1 1 的所有请求报文中必须包含一个Host头字段 且只能设置一个 2 Origin 请求头origin表明了请求来自于哪个站点 包括且仅仅包括协议 域名和端口
  • 创维机顶盒E900刷LinuxNas系统

    家里有一个一直没用的创维E900的机顶盒 芯片是海思 hi3798v100 的 本着废物利用的原则 我想将他刷成linux 没想到网上真的有教程 https histb com 我看了一下 以我现在的技术 问题不大 大不了变砖罢了 反正都是
  • js 中数字小数点末尾的0显示与否

    js 中数字小数点末尾的0显示与否 不显示0 显示0 数字格式化 不显示0 我们先来看一道例题 然后围绕其展开 零 的讨论 问题 得到一个随机数组成的数组 数组长度为10 结果类似于 0 243 0 162 0 701 0 501 此处封装
  • Learn OpenGL with Qt——模型加载:Qt搭建Assimp环境

    如果你是中途开始学习本教程的 即使你对OpenGL已经非常熟悉 请至少了解以下几个章节 因为Qt中提供了OpenGL的很多便捷操作 熟悉这些操作可以让我们在Qt中高效的使用OpenGL进行绘图 创建OpenGL窗口 着色器程序以及着色器的创
  • 如何克服看到别人优于自己而感到的焦虑和迷茫?

    文章目录 每日一句正能量 前言 简述自己的感受 怎么做 如何调整自己的心态 后记 每日一句正能量 行动是至于恐惧的良药 而犹豫 拖延 将不断滋养恐惧 前言 虽然清楚知识需要靠时间沉淀 但在看到自己做不出来的题别人会做 自己写不出的代码别人会
  • 使用Java显示图片

    之前学习C和C 时总是和数据打交道 也许是学的浅薄的关系 当时觉得显示界面和图像是如此的神秘 如今学习了一段时间的Java 发现其实界面什么的也不是那么的难懂 下面写一个简单的例子 让我们的java为我们展示张图片来看看吧 面板源码 jav