在Java的JFrame中,如何以特定坐标显示图像是最佳的方式?
我知道有很多方法可以做到这一点,我只需要知道最好的方法来显示我计划在框架中移动的图像!
使用ImageIcon和JLabel是最简单的方法。你实际上可以将其添加到JFrame的JLayeredPane中的一个级别,该级别在contentPane上方或下方,具体取决于您的要求。
开发自定义组件并覆盖paintComponent()
方法来实现此功能。开发自定义组件可以为进一步的增强提供灵活性。您可以轻松地添加平移、缩放等功能。
然后将此组件添加到您的JFrame
中即可。
ImageIcon image = new ImageIcon("image.jpeg");
add(image);
编辑(如何添加特定坐标):
首先说明,通常(99%的情况下)不鼓励自己定位JComponents。使用LayoutManager为您定位它们,并处理调整大小。
不过我会告诉您如何自己定位:
null
: setLayout(null)
。ImageIcon
设置为特定坐标:image.setLocation(x, y)
。
myJPanel.add(image)
,但它提示说 - "类型“Container”的方法“add(Component)”不适用于参数(ImageIcon)"。 - URL87JPanel
,而是一个Container
对象。你必须有一个继承自JComponent
的对象才能将ImageIcon
添加到它上面。 - Hidde