[英]How to save a scrollable JPanel as a jpeg image (not as a snapshot)
我可能搜索的解决方案如何将JPanel
存储为jpeg图像,因此将快照显示的快照,这无法捕获JPanel
所有内容,因为它的一部分被隐藏了。 有什么办法可以将整个图像转换为jpeg 。
我当前用来拍摄JPanel快照的代码
if (panelx == null) {
jButton3.setText("Generate Diagram");
} else {
jButton3.setText("Generate Diagram");
jTextPane1
.setText(Messages.getString("statement2")); //$NON-NLS-1$
JFrame win = (JFrame) SwingUtilities
.getWindowAncestor(panelx.panelx);
Dimension size = win.getSize();
// BufferedImage image = new BufferedImage(size.width, size.height,
// BufferedImage.TYPE_INT_RGB);
BufferedImage image = (BufferedImage) win.createImage(size.width,
size.height);
Graphics g = image.getGraphics();
win.paint(g);
g.dispose();
try {
ImageIO.write(
image,
Messages.getString("Statement38"), new File(Messages.getString("statement5"))); //$NON-NLS-1$ //$NON-NLS-2$
} catch (IOException e) {
System.out.println("Image cannot be created");
}
您没有解释为什么该示例不起作用。
为什么使用窗口而不是面板? 如果使用示例答案,则应参考滚动窗格中的面板。
您正在整个JFrame上调用画图,而不仅仅是在您感兴趣的面板上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.