Java使用组件编写窗口实现网络图片显示

 更新时间:2017年02月27日 11:32:23   作者:rain_web  
这篇文章主要为大家详细介绍了Java使用组件编写窗口实现网络图片显示的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

这篇文章使用Java组件显示窗口,在通过输入的图片url地址在窗口中显示出来,可作为一个网络图片查看器,感兴趣的可以打包成jar或者.exe文件方便使用,这里我只挂出了源码,效果如下图。

package com.rain.image;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
//从网络取得图象
public class GetImageDemo extends JFrame{
  JTextField jtfUrl; //输入图像地址url
  JButton jbGetImage; //取图像按钮
  Image image; //获取的图像
  Toolkit toolKit; //Toolkit对象,用于获取图像
  public GetImageDemo(){
    super("网络图片查看器"); //调用父类构造函数
    Container container=getContentPane();  //得到容器
    jtfUrl=new JTextField(18); //实例化地址输入框
    jbGetImage=new JButton("输入图片的URL"); //实例化按钮
    container.setLayout(new FlowLayout()); //设置布局管理器
    container.add(jtfUrl); //增加组件到容器上
    container.add(jbGetImage);
    toolKit=getToolkit(); //得到工具包
    jbGetImage.addActionListener(new ActionListener(){ //按钮事件处理
      public void actionPerformed(ActionEvent ent){
        try{
          String urlStr=jtfUrl.getText();  //得到图像的URL地址
          URL url=new URL(urlStr);
          image=toolKit.getImage(url); //获取图像
          repaint(); //重绘屏幕
        }
        catch(MalformedURLException ex){
          ex.printStackTrace(); //输出出错信息
        }
      }
    });
    setSize(1280,640); //设置窗口尺寸
    setVisible(true); //设置窗口可视
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
  }
  public void paint(Graphics g){
    super.paint(g);
    if (image!=null){
      g.drawImage(image,100,70,this); //在组件上绘制图像
    }
  }
  public static void main(String[] args){
    new GetImageDemo();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot错误处理流程深入详解

    SpringBoot错误处理流程深入详解

    在项目开发中出现异常时很平常不过的事情,我们处理异常也有很多种方式。本文将详细为大家讲解SpringBoot实现异常处理几种方法,感兴趣的可以学习一下
    2022-10-10
  • 关于JSON解析中获取不存在的key问题

    关于JSON解析中获取不存在的key问题

    这篇文章主要介绍了关于JSON解析中获取不存在的key问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 详解Java异常处理最佳实践及陷阱防范

    详解Java异常处理最佳实践及陷阱防范

    这篇文章主要介绍了Java异常处理最佳实践及陷阱防范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • JAVA中JVM的重排序详细介绍

    JAVA中JVM的重排序详细介绍

    重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境
    2014-05-05
  • 浅谈java随机数的陷阱

    浅谈java随机数的陷阱

    这篇文章主要介绍了浅谈java随机数的陷阱,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Java 自定义Spring框架以及Spring框架的基本使用

    Java 自定义Spring框架以及Spring框架的基本使用

    Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发
    2021-10-10
  • SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法

    SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法

    这篇文章主要介绍了SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • idea2020.1最新版永久破解/pycharm也可用(步骤详解)

    idea2020.1最新版永久破解/pycharm也可用(步骤详解)

    这篇文章主要介绍了idea2020.1最新版永久破解/pycharm也可用,本文给大家分享简单实现步骤,通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Springboot FeignClient调用Method has too many Body parameters解决

    Springboot FeignClient调用Method has too m

    本文主要介绍了Springboot FeignClient微服务间调用Method has too many Body parameters 解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Java 非阻塞I/O使用方法

    Java 非阻塞I/O使用方法

    这篇文章主要介绍了Java 非阻塞I/O使用方法,文中涉及非阻塞I/O的简介,同时向大家展示了利用非阻塞I/O实现客户端的方法,需要的朋友可以参考下。
    2017-09-09

最新评论