Java 我如何在表格中添加图像?
我有个问题。我想用Java在表单中放置一个图像,但我不知道我是否使用了适当的技术(在网页中的某个地方找到) 因此,它实际上显示了图像,并且正在调整大小,但当我调整窗体大小,然后再次将其变小时,标签似乎没有跟随调整大小,因此它保持比窗口大 另外,由于我对java的图形不是很熟悉,有人能告诉我如何控制窗口大小调整事件以便重新绘制图片吗?现在,该方法由组合框和代码中显示的单选按钮触发 提前谢谢 edit1:表单就是我的jFrame。Icongraph标签是我将图像放入的jLabel。我将尝试解释父组件的层次结构 PlotArea[jPanel](cardLayout)>PlotArea_图像[jPanel](“cardDraw”)>iconGraphPanel[jPanel]>iconGraphLabel 但是当我调整表单大小时 再小一点,标签 似乎没有跟随调整大小,所以 它比窗户还大 正确,JLabel或任何使用图标的Swing组件将按其实际大小绘制图标。如果希望图标根据可用空间进行缩放,则需要进行自定义绘制Java 我如何在表格中添加图像?,java,image,icons,Java,Image,Icons,我有个问题。我想用Java在表单中放置一个图像,但我不知道我是否使用了适当的技术(在网页中的某个地方找到) 因此,它实际上显示了图像,并且正在调整大小,但当我调整窗体大小,然后再次将其变小时,标签似乎没有跟随调整大小,因此它保持比窗口大 另外,由于我对java的图形不是很熟悉,有人能告诉我如何控制窗口大小调整事件以便重新绘制图片吗?现在,该方法由组合框和代码中显示的单选按钮触发 提前谢谢 edit1:表单就是我的jFrame。Icongraph标签是我将图像放入的jLabel。我将尝试解释父组件
这些类为显示图像提供了不同的选项(您可以使用图标getImage()方法)。您还应该阅读Swing教程中关于的部分,以便更好地理解上述代码的工作原理。找到了解决方案。这是最终代码:
private void iconSelect() {
iconGraphPanel.removeAll();
ImageIcon icon = new ImageIcon("image.jpg");
BackgroundPanel imagePanel = new BackgroundPanel(icon.getImage(), BackgroundPanel.SCALED);
iconGraphPanel.add(imagePanel);
iconGraphPanel.revalidate();
}
iconGraphPanel是我用作占位符的常用jPanel。它需要设置为BorderLayout。可以找到BackgroundPanel类。需要removeAll()以便旧图像消失。如果你不把这些图像开始堆叠起来。我不知道是否有更好的方法,但对我来说效果很好。需要revalidate()方法,因为我们创建了一个新面板,所以它需要刷新
这主要是camickr的作品和来自太阳论坛的另一个叫Maxideon的家伙。我只是发布供将来参考。似乎您发布了很多不相关的代码(设置iconString),但忽略了内容(您认为什么是“表单”,什么是“iconGraphLabel”,还有哪些组件以及父组件中使用了哪些布局,等等)。如果没有这些信息,你很难回答你的问题。希望能有帮助…谢谢你的帮助,伙计,看起来不错,但我不能让它工作。有没有什么方法可以将代码放入注释中,这样我就可以向您展示??:P
private void iconSelect() {
iconGraphPanel.removeAll();
ImageIcon icon = new ImageIcon("image.jpg");
BackgroundPanel imagePanel = new BackgroundPanel(icon.getImage(), BackgroundPanel.SCALED);
iconGraphPanel.add(imagePanel);
iconGraphPanel.revalidate();
}