我如何获得java.awt.Image
JFrame?
我想获得一个屏幕截图JFrame
(以后在我的应用程序中使用).目前,这是通过使用机器人拍摄指定所JFrame
涉及的坐标和尺寸的屏幕截图来完成的.
但是,我相信有一种更好的方法:默认情况下,Swing组件在将自己绘制到屏幕上之前将它们自身渲染为双缓冲区.
有没有办法从组件中获取这些图像?
在我开始明白这一点之前:我对Java和编程非常陌生.我如何正确地将"grass.jpg"画到屏幕上?
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.ImageIcon;
import java.util.Random;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Game extends Canvas {
private static int Height = 300, Width = 600; //25x50
private Random generator = new Random();
private String[][] TerrainList = new String[12][12];
public void GameSetup() {
JFrame container = new JFrame("CARSSémon");
// get hold the content of the frame and set up the resolution of the game
JPanel panel = (JPanel) container.getContentPane();
panel.setPreferredSize(new Dimension(Width,Height));
//panel.setLayout(null);
//setBounds(0,0,800,600);
//panel.add(this);
// finally …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一些绘图功能集成到我的程序中.
我有一个JLabel,上面有一个图像集.
我想写一个方法来返回我的图像:
public Graphics getImage(){
Graphics g = currentImage;
return g
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将它从JLabel转换为图形对象.然后作为一个简单的测试我想在这张图片上画一条线:
public void paint(Graphics g) {
g.drawLine(20, 500, 700, 600);
}
Run Code Online (Sandbox Code Playgroud)
一些帮助开始这个将是伟大的.