java不能弹出打印窗口,java – 如何打印一个摆动窗口,使其非常适合一页
我正在尝试为我们的swing UI添加打印功能.我尝试了以下方法:
protected void print() {
PrinterJob job = PrinterJob.getPrinterJob();
if(job.printDialog()){
try {
job.setPrintable(new Printable() {
@Override
public int print(Graphics graphics,PageFormat pageFormat,int pageIndex) throws PrinterException {
if(pageIndex == 0){
Graphics2D g2d = (Graphics2D)graphics;
g2d.translate(pageFormat.getImageableX(),pageFormat.getImageableY());
// BufferedImage snapshot = AnimUtilities.createSnapshotOfFrame(ApplicationFrame.this,Transparency.TRANSLUCENT);
// double scaleX = pageFormat.getWidth()/snapshot.getWidth();
// double scaleY = pageFormat.getHeight()/snapshot.getHeight();
//
// double scaleValue = Math.min(scaleX,scaleY);
// g2d.scale(scaleValue,scaleValue);
// g2d.drawImage(snapshot,snapshot.getWidth(),snapshot.getHeight(),ApplicationFrame.this);
// ApplicationFrame.this.print(g2d);
ApplicationFrame.this.printAll(g2d);
return PAGE_EXISTS;
}
return NO_SUCH_PAGE;
}
});
job.print();
} catch (PrinterException e) {
e.printStackTrace();
}
} else {
System.err.println("Error printing");
}
}
没有注释掉的代码非常适用于打印的内容在纸上看起来非常好看.但是,JFrame比纸张大,所以它只是将其切断.我还尝试了注释掉的代码,该代码创建了JFrame的图像,适当地缩放图像以使其适合页面并保持相同的宽高比,但缩放使得屏幕上的文本看起来很糟糕.我发现这个advanced tutorial from Oracle,但它告诉我如何将屏幕分成多个页面.我只想打印JFrame的漂亮截图.如何打印JFrame而不切断它或导致工件缩放?
java不能弹出打印窗口,java – 如何打印一个摆动窗口,使其非常适合一页相关推荐
- 如何删除多玩java_用pc版多玩我的世界盒子,打开游戏时,为什么会弹出游戏需要java环境...
第一:bai安装JDK,它的位数最好和du电脑zhi系统位数相同32位或者64位的dao.别搞错了第内二:配置容jdk环境变量,网上很多例子的,可以方便找到.第三:开始--运行--cmd命令分别输入j ...
- java输出栈的弹出序列_剑指offer:栈的压入、弹出序列(Java)
1.题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是 ...
- Java常用弹出对话框
Java常用弹出对话框 刚开始写Java工具的小伙伴可能不知道怎么写消息对话框,在这里总结一些常用的几种消息弹出框: 基本确定按钮弹出框: ● 效果图: ● Java代码: JOptionPane.s ...
- 【LeetCode笔记】剑指 Offer 31. 栈的压入、弹出序列 (Java、栈)
文章目录 题目描述 代码 && 思路 二刷 题目描述 打卡第三天!加油加油- 数据结构笔试题貌似也会考= =,不过考法不一样,有点规律. 总的来说还是挺有意思的,我们直接来看代码吧- ...
- 谷歌浏览器打印不弹出预览直接打印机打印
谷歌浏览器打印不弹出预览直接打印机打印 注意 --kiosk-printing前面有个空格 这个浏览器还是会弹出自带打印页,不过会马上消失的
- java添加提示框,JAVA如何弹出提示框
一.只弹出提示信息 JOptionPane.showMessageDialog(null, "问题不能为空","格式错误",JOptionPane.ERROR_ ...
- java右键弹出菜单_javascript自定义右键弹出菜单实现方法
本文实例讲述了javascript自定义右键弹出菜单实现方法.分享给大家供大家参考.具体实现方法如下: 无标题页 var oPopup = window.createPopup(); function ...
- 【剑指offer】面试题31:栈的压入、弹出序列(Java)
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是 ...
- 栈的压入、弹出序列(Java)
题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1. 2. 3. 4. 5是某栈的压栈序列,序列4. 5. 3. 2 ...
- JAVA制作弹出小广告的程序_微信小程序实现首页弹出广告
本文实例为大家分享了微信小程序实现首页弹出广告的具体代码,供大家参考,具体内容如下 这个微信小程序首页广告demo 仅供有需要的参考 .wxml this is ad //事件 catchtouchm ...
最新文章
- SQL SERVER 2000写存储过程出现列名无效的解决方法
- 软件开发心得点滴记录
- stata中心化处理_带有stata第2部分自定义配色方案的covid 19可视化
- 15. GD32F103C8T6入门教程-adc单通道轮训采集
- 剑指offer(21)栈的压入、弹出序列
- vscode remote ssh 重新连接_使用 VSCode 愉快地进行 R 远程开发
- vue 调用webservice_调用webService的几种方式
- 【细节实现 回文串12】LeetCode 564. Find the Closest Palindrome
- 2019118_四个化学数据分析(3)
- 运维 xshell 快捷键
- element tree不刷新视图_架构蓝图软件架构 quot;4+1quot; 视图模型
- 实验二、人工智能:产生式系统(动物识别系统)
- 打开图片或者视频显示“文件系统错误-2147416359”
- Ubuntu16.04安装MySQL笔记
- BUGKU-成绩查询
- 什么是连连一键开店?连连一键开店是怎么操作的?
- iOS系统各版本占比/占有率
- lwip【4】 lwIP配置文件opt.h和lwipopts.h初步分析之一
- labview简易计算机实验报告,LabView实验报告
- Makefile -fPIC 选项
热门文章
- loading怎么关闭 vant_Vant Loading 加载
- 随手记_英语_50大英文经典句/美句
- 【一天一个C++小知识】010.malloc/free和new/delete
- 机器学习课程笔记【十二】- 主成分分析
- 多模态multi-modal 与多视图multi-view
- CatBoost之算法解析(Kaggle常用模型)
- xUtils3 联网模块
- 使用Connector / Python查询MySQL数据
- Unity3D学习笔记(三十七):顶点偏移和溶解
- Highcharts柱形范围图使用示例