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.     }  

  

界面如下图:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值