java swing 把JTextArea导出为图片

简介:

Java swing中如何把JTextArea 导出成为一张图片(jpg或png)呢?

核心方法:

Java代码   收藏代码
  1. /*** 
  2.          * convert JTextArea to image 
  3.          * @param ta 
  4.          * @param destFile 
  5.          * @param format 
  6.          */  
  7.         public static File genericImage(JTextArea ta,File destFile,String format){//TODO 如何提高分辨率  
  8.             BufferedImage img = new BufferedImage(ta.getWidth(), ta.getHeight(), BufferedImage.TYPE_INT_RGB);  
  9.             Graphics2D g2d = img.createGraphics();  
  10.             ta.printAll(g2d);  
  11.             g2d.dispose();  
  12.             try {  
  13.                 ImageIO.write(img, format/*"jpg"*/, destFile);  
  14.             } catch (IOException ex) {  
  15.                 ex.printStackTrace();  
  16.             }  
  17.             return destFile;  
  18.         }  

调用:

Java代码   收藏代码
  1. private void chooseDestFile(JTextArea ta,String picFormat){  
  2.         JFileChooser chooser = new JFileChooser();  
  3.         chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);  
  4.         File selectedFile=new File("C:\\Users\\Administrator\\Pictures\\"+TimeHWUtil.formatDate(new Date(), "yyyyMM"));  
  5.         //home目录应该动态获取  
  6. //        System.out.println(selectedFile.getAbsolutePath());  
  7.         if(!ValueWidget.isNullOrEmpty(selectedFile)){  
  8.             chooser.setSelectedFile(selectedFile);  
  9.         }  
  10.         chooser.setName("二维码."+picFormat);  
  11.         FileNameExtensionFilter filter = new FileNameExtensionFilter(  
  12.                 "picture Files", picFormat, "二维码");  
  13.             chooser.setFileFilter(filter);  
  14.         chooser.setDialogType(JFileChooser.SAVE_DIALOG);  
  15.         chooser.setControlButtonsAreShown(true);  
  16.         chooser.setDialogTitle("保存二维码");  
  17.         //            chooser.setVisible(true);  
  18.         int result = chooser.showSaveDialog(ta);  
  19.         System.out.println("New file:" + result);  
  20.         if (result == JOptionPane.OK_OPTION)  
  21.         {  
  22.             selectedFile = chooser.getSelectedFile();  
  23.             if(! SystemHWUtil.isHasSuffix(selectedFile)){  
  24.                 selectedFile=new File(selectedFile.getAbsolutePath()+ SystemHWUtil.ENGLISH_PERIOD+picFormat);  
  25.             }  
  26.             ImageHWUtil.genericImage(ta, selectedFile, picFormat);  
  27.             System.out.println("select file:" + selectedFile);  
  28.         }  
  29.     }  

  

界面如下图:

 

相关文章
|
25天前
|
存储 Java 关系型数据库
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
20 0
|
25天前
|
存储 Java 关系型数据库
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
25 1
|
25天前
|
存储 Java 关系型数据库
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
17 0
|
25天前
|
存储 Java 关系型数据库
冬奥会传统文化管理系统【GUI/Swing+MySQL】(Java课设)
冬奥会传统文化管理系统【GUI/Swing+MySQL】(Java课设)
8 0
|
25天前
|
存储 Java 关系型数据库
学生宿舍管理系统【GUI/Swing+MySQL】(Java课设)
学生宿舍管理系统【GUI/Swing+MySQL】(Java课设)
22 0
|
25天前
|
存储 Java 关系型数据库
学生管理系统【GUI/Swing+MySQL】(Java课设)
学生管理系统【GUI/Swing+MySQL】(Java课设)
19 0
|
25天前
|
存储 Java 关系型数据库
洗浴中心管理系统【GUI/Swing+MySQL】(Java课设)
洗浴中心管理系统【GUI/Swing+MySQL】(Java课设)
14 0
|
1月前
|
前端开发 Java
java通过commons-fileupload实现多张图片的上传(jsp页面)
java通过commons-fileupload实现多张图片的上传(jsp页面)
16 2
|
25天前
|
存储 Java 关系型数据库
创新创业项目申报管理系统【GUI/Swing+MySQL】(Java课设)
创新创业项目申报管理系统【GUI/Swing+MySQL】(Java课设)
12 0
|
25天前
|
存储 Java 关系型数据库
毕业课题管理系统【GUI/Swing+MySQL】(Java课设)
毕业课题管理系统【GUI/Swing+MySQL】(Java课设)
18 0