可能重复:
Java Swing:获取Image
JFrame
我正在开发一个小的拖放式 Java GUI 构建器。到目前为止它工作正常,但我拖放的小部件只是我在画布上动态绘制的矩形。
如果我有一个代表像 JButton 这样的小部件的矩形,有没有办法让我创建一个 JButton,设置大小并获取该 JButton 的图像(如果它是在屏幕上绘制的)?然后我可以将图像绘制到屏幕上,而不仅仅是我无聊的矩形。
例如,我目前正在这样做以绘制一个(红色)矩形:
public void paint(Graphics graphics) {
int x = 100;
int y = 100;
int height = 100;
int width = 150;
graphics.setColor(Color.red);
graphics.drawRect(x, y, height, width);
}
我该怎么做:
public void paint(Graphics graphics) {
int x = 100;
int y = 100;
int height = 100;
int width = 150;
JButton btn = new JButton();
btn.setLabel("btn1");
btn.setHeight(height); // or minHeight, or maxHeight, or preferredHeight, or whatever; swing is tricky ;)
btn.setWidth(width);
Image image = // get the image of what the button will look like on screen at size of 'height' and 'width'
drawImage(image, x, y, imageObserver);
}