请教:有没有办法把JScrollPane或者JInternalFrame的画面抓到Image或者ImageIcon里面? 因为我想把他保存成图片或者把画面的内容打印到PDF上面 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 title.index=业务管理系统 1.0 import java.awt.BorderLayout;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.*;public class T { public static void main(String[] args) { JDesktopPane desktop = new JDesktopPane(); final JInternalFrame internalframe = new JInternalFrame("Test", true, false, true, true); internalframe.getContentPane().add(new JLabel("Hello World!", JLabel.CENTER)); internalframe.setSize(150, 100); internalframe.setVisible(true); desktop.add(internalframe); JButton imgBtn = new JButton(new AbstractAction() { { putValue(NAME, "SaveImage"); } public void actionPerformed(ActionEvent e) { BufferedImage img = new BufferedImage( internalframe.getWidth(), internalframe.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = img.getGraphics(); internalframe.paint(g); g.dispose(); try { ImageIO.write(img, "png", new File("test.png")); } catch (IOException e1) { e1.printStackTrace(); } } }); JFrame f = new JFrame(); f.getContentPane().add(desktop, BorderLayout.CENTER); f.getContentPane().add(imgBtn, BorderLayout.SOUTH); f.setSize(300, 300); f.setLocationRelativeTo(null); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); }} 简单的java聊天程序 类之间的6种关系如何理解? HashSet为什么可以插入重复的项? 【菜鸟提问】java不同包引用问题 我用JAVA的MD5把一个字符串转成MD5码了,可是怎么通过一MD5码算出原来的字符串? 为什么总删我得帖子?出来说个明白? 处理命令行通配符 ButtonGroup problem 要从word/excel表格中提取信息到数据库中,有什么建议? 关于日期计算???? 怎样让字符移动 装完jbuilder2005,进入命令行,输入java,系统提示识别命令怎么办?
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;
import javax.swing.*;public class T {
public static void main(String[] args) {
JDesktopPane desktop = new JDesktopPane();
final JInternalFrame internalframe = new JInternalFrame("Test", true, false, true, true);
internalframe.getContentPane().add(new JLabel("Hello World!", JLabel.CENTER));
internalframe.setSize(150, 100);
internalframe.setVisible(true);
desktop.add(internalframe); JButton imgBtn = new JButton(new AbstractAction() {
{ putValue(NAME, "SaveImage"); }
public void actionPerformed(ActionEvent e) {
BufferedImage img = new BufferedImage(
internalframe.getWidth(), internalframe.getHeight(),
BufferedImage.TYPE_INT_RGB);
Graphics g = img.getGraphics();
internalframe.paint(g);
g.dispose(); try {
ImageIO.write(img, "png", new File("test.png"));
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
JFrame f = new JFrame();
f.getContentPane().add(desktop, BorderLayout.CENTER);
f.getContentPane().add(imgBtn, BorderLayout.SOUTH);
f.setSize(300, 300);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}