`
bibiye
  • 浏览: 172206 次
社区版块
存档分类
最新评论

如何把awt或者swing的UI生成一个图形文件

阅读更多

 

package demo;

import java.io.File;
import org.jfree.chart.JFreeChart;
import java.io.IOException;
import java.io.OutputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.awt.image.BufferedImage;
import org.jfree.chart.encoders.ImageFormat;
import java.awt.Graphics2D;
import java.awt.*;
import java.awt.*;
import org.jfree.chart.encoders.ImageEncoder;
import org.jfree.chart.encoders.ImageEncoderFactory;
import javax.swing.JFrame;
import javax.imageio.ImageIO;

public class ToImg {
  
public ToImg() {
  }



  
/** *//**
   * Saves a chart to a file in JPEG format.
   *
   * 
@param file  the file (<code>null</code> not permitted).
   * 
@param quality  the JPEG quality setting.
   * 
@param chart  the chart (<code>null</code> not permitted).
   * 
@param width  the image width.
   * 
@param height  the image height.
   *
   * 
@throws IOException if there are any I/O errors.
   
*/

  
public static void saveChartAsJPEG(File file,
                                     
float quality,
                                     JFreeChart chart,
                                     
int width,
                                     
int height) throws IOException {

    
if (file == null{
        
throw new IllegalArgumentException("Null 'file' argument.");
    }

    
if (chart == null{
        
throw new IllegalArgumentException("Null 'chart' argument.");
    }

    OutputStream out 
= new BufferedOutputStream(new FileOutputStream(file));

    BufferedImage images 
= chart.createBufferedImage(width, height, null);
    BufferedImage image 
= new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    Graphics2D g2 
= image.createGraphics();
//    draw(g2, new Rectangle2D.Double(0, 0, width, height), null, info);
    g2.dispose();

    writeBufferedImage(image, ImageFormat.JPEG, out, quality);
    out.close();
  }


  
public static void writeBufferedImage(BufferedImage image, String format,
      OutputStream outputStream, 
float quality)
      
throws IOException {
    ImageEncoder imageEncoder
        
= ImageEncoderFactory.newInstance(format, quality);
    imageEncoder.encode(image, outputStream);

  }


  
public static void main(String[] args) {
    Robot robot 
= null;
    
try {
      
      JFrame f 
= new Frame1(); 
      f.setSize(
500,600);
      f.setVisible(
true);
      f.setDefaultCloseOperation(
2);
      BufferedImage image 
= new BufferedImage(500600, BufferedImage.TYPE_INT_RGB);
      f.getContentPane().paint(image.getGraphics());
      FileOutputStream out 
= new FileOutputStream("d:\\b.jpg");
      ImageIO.write(image, 
"jpeg" , out);
      out.close();

/** *//**    
     抓图  
      Robot robot = new java.awt.Robot();
      BufferedImage image = robot.createScreenCapture(new Rectangle(100, 100));
      ImageEncoder imageEncoder
          = ImageEncoderFactory.newInstance(ImageFormat.JPEG, 100);
      FileOutputStream out = new FileOutputStream("d:\\a.jpg");
      imageEncoder.encode(taget, out);
 }
*/


   }

    
catch (Exception ex) {
      ex.printStackTrace();
    }


  }


}

分享到:
评论

相关推荐

    图形界面开发--AWT,Swing,SWT

    Jigloo是另一个用于开发SWT/Swing应用的插件,它提供了一套工具和API,帮助开发者创建高性能的图形界面。 **18.4.2 搭建SWT开发环境** SWT的开发环境需要特殊的设置,包括安装必要的库文件和配置IDE(如Eclipse)...

    AWT/Swing 可视化eclipse插件

    "AWT/Swing 可视化eclipse插件"是一个专为Eclipse定制的工具,它集成了AWT和Swing组件的可视化编辑功能。通过这个插件,开发者可以直观地看到UI组件的布局,调整组件的位置、大小、属性,而无需手动编写复杂的布局...

    第十八章 图形界面开发--AWT,Swing,SWT.pdf

    - **Swing**:作为AWT的扩展,Swing提供了一个更加强大且灵活的组件集合,具有跨平台性,可以在不同的操作系统上保持一致的外观和行为。Swing组件通常比AWT组件更加美观,并且提供了更多的功能。 - **SWT (Standard ...

    swing基础学习和awt的区别

    AWT的组件创建机制是基于本地窗口系统的,当创建一个AWT组件时,会对应生成一个本地窗口对象。 Swing是在AWT的基础上发展起来的,它提供了更丰富的组件集和更好的用户体验。Swing组件大多数是“轻量级”的,它们不...

    awt开发工具学习随笔

    在Java编程语言中,AWT(Abstract Window Toolkit)和Swing是用于构建图形用户界面(GUI)的基础组件。本文将探讨在Java学习过程中涉及到的一些关键知识点,包括图像处理、窗口布局、事件处理以及如何利用Apache POI...

    使用Velocity Swing制作的代码生成工具

    【标题】"使用Velocity Swing制作的代码生成工具"是一个基于Java Swing UI框架和Velocity模板引擎开发的代码自动化生成工具。这个工具旨在帮助开发者快速生成符合特定模式的代码,减轻重复劳动,提高开发效率。 ...

    完整版优质java课件 Java基础入门教程 Java编程技术09 Swing UI编程(6学时)(共80页).ppt

    【Java Swing UI编程】是Java桌面应用开发的重要组成部分,它提供了丰富的组件库来构建图形用户界面(GUI)。在Java编程技术09章节中,我们主要会学习如何利用Swing库来创建美观且功能齐全的用户界面。 首先,我们...

    awt框架图片及代码示例

    Java AWT(Abstract Window Toolkit)框架是Java早期用于创建图形用户界面(GUI)的基础库,它是Swing库的前身。本篇文章将详细讲解AWT框架中的核心概念、组件以及如何通过代码实现简单的图像显示。 首先,AWT是...

    Swing界面开发工具源代码

    Swing界面开发工具源代码是Java开发者们设计和构建图形用户界面(GUI)的重要资源,尤其对于那些希望在他们的应用程序中创建美观且功能丰富的Swing界面的开发者来说,这是一个宝贵的工具。Swing库是Java标准版(Java...

    JAVA画图形学程序(论文+源代码).rar

    这个名为"JAVA画图形学程序(论文+源代码).rar"的压缩包文件很可能包含了一个关于Java图形学的毕业设计项目,其中的论文部分会详细阐述相关理论和技术,而源代码部分则会展示实际的编程实现。 Java提供了多种库和API...

    JAVASWING多线程产生随机球

    Java Swing 是Java GUI(图形用户界面)开发的一个库,它基于Java AWT(抽象窗口工具包)并提供了更丰富的组件和事件处理能力。在“JAVASWING多线程产生随机球”的项目中,开发者利用Swing创建了一个互动的应用程序...

    JPEG图象生成器(转化图片格式以及DIY画图并保存为JPEG格式图片)

    总的来说,"JPEG图象生成器"结合了Java的图像处理、文件I/O和UI设计技术,提供了一个实用的工具,让用户能够自由创作并保存JPEG图像,同时也具备屏幕截图并保存为JPEG的功能。这个项目对于学习和理解Java图像处理和...

    JFormDesigner-5.0.1-eclipse 插件,SWING图形化界面开发

    JFormDesigner是一个可视化编辑器,它允许开发者通过拖放方式设计和布局UI组件,而无需编写任何代码。该工具支持各种布局管理器,如FlowLayout、GridLayout、BorderLayout、 MigLayout等,使得界面设计变得简单易行...

    reference for swing and code generator demo

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。这个“reference for swing and code generator demo”显然指向一个关于Swing使用和代码生成器演示的资源集合。...

    Swing 组件大全

    Swing组件大全是一个深入探讨Java Swing库的资源,它涵盖了Swing提供的所有主要组件,以及如何将它们结合使用来创建功能丰富的图形用户界面(GUI)。Swing是Java Foundation Classes(JFC)的一部分,用于构建桌面...

    java词云生成器(代码,maven项目)

    对于一个用户友好的词云生成器,通常会有一个简单的用户界面供用户上传文件、选择参数(如颜色、布局、字体大小等)并预览结果。这可能使用JavaFX或Swing构建,提供按钮、文本框和文件选择对话框等交互元素。 **7. ...

    JavaSwing实现飞机大战

    本项目"JavaSwing实现飞机大战"是一个基于JavaSwing开发的经典游戏,它展示了如何利用JavaSwing组件来创建一个交互式的、具有图形界面的游戏。 在JavaSwing中,我们可以使用组件(如JFrame、JButton、JLabel等)来...

Global site tag (gtag.js) - Google Analytics