没有内置方法,但有几种方法可以做到这一点。目前我能想到的最直接的方法是:
- 创建一个子类JComponent http://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html.
- 覆盖paintComponent(Graphics g) http://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html#paintComponent-java.awt.Graphics-方法来绘制您想要显示的图像。
-
设置内容窗格 http://docs.oracle.com/javase/8/docs/api/javax/swing/JFrame.html#setContentPane-java.awt.Container- of the
JFrame
成为这个子类。
一些示例代码:
class ImagePanel extends JComponent {
private Image image;
public ImagePanel(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, this);
}
}
// elsewhere
BufferedImage myImage = ImageIO.read(...);
JFrame myJFrame = new JFrame("Image pane");
myJFrame.setContentPane(new ImagePanel(myImage));
请注意,此代码不处理调整图像大小以适应JFrame
,如果这就是你想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)