当前位置: 首页 > 面试题库 >

如何在Java中将一个Swing组件的图形图像复制到另一个

岑驰
2023-03-14
问题内容

我刚刚在Java三个月前开始编程,这里的问题是-

如何将一个JLabelJPanel图形复制到另一个JLabel或图形JPanel

我用过了 -

<!--Source JLabel srcLabel-->
JLabel dest = new JLabel();
dest.paint(srcLabel.getGraphics());
panel.add(dest);
dest.validate();

但是由于缺乏知识,我被困在这里。请帮忙。


问题答案:

首先查看AWT中的绘画和Swing

和执行自定义绘画,以获取有关绘画工作原理的更多信息。

永远不要使用getGraphics,这只是个坏主意,不会给您带来麻烦。

一般来说,应避免paint直接调用,而应使用printprintAll。这将禁用正常绘制过程中固有的双重缓冲,这可能会导致

JLabel srcLabel = new JLabel();
JLabel dest = new JLabel();
BufferedImage img = new BufferedImage(srcLabel.getWidth(), srcLabel.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = img.createGraphics();
srcLabel.printAll(g2d);
g2d.dispose();
dest.setIcon(new ImageIcon(img));

这假定srcLabel已经显示并布置了。

现在的问题是为什么?简单地设置第二个标签的textand icon属性,使其与第一个标签相匹配会不会更容易?



 类似资料:
  • 问题内容: 我是Rails编程的初学者,试图在页面上显示许多图像。有些图像要放在其他图像之上。为简单起见,假设我要一个蓝色正方形,在蓝色正方形的右上角有一个红色正方形(但在角落不紧)。由于性能问题,我试图避免进行合成(使用ImageMagick等)。 我只想相对于彼此放置重叠的图像。 举一个更困难的例子,想象一下将里程表放在更大的图像中。对于六位数字,我将需要合成一百万个不同的图像,或者即时进行处

  • 问题内容: 我需要拍摄图像并将其放置在新的生成的白色背景上,以便将其转换为可下载的桌面墙纸。因此该过程将进行: 生成具有1440x900尺寸的新全白图像 将现有图像放在顶部居中 另存为单个图像 在PIL中,我看到了该对象,但是没有任何迹象表明它可以将现有的图像数据绘制到另一个图像上。任何人都可以推荐的建议或链接? 问题答案: 这可以通过Image实例的方法来完成: 可以在Nadia Alramli

  • 我在一个类中有一个imageView,在单击imageView时,会出现一个对话框,它有两个选项,可以从相机中获取图像,也可以打开设备的图像库。我想将图像从一个类发送到另一个类,这样它就可以出现在ImageView中。我搜索了很多小时,但我只得到关于从一个类到另一个类的文本数据发送。谁能告诉我从一个类到另一个类的图像发送? 这是来自sender类的代码,它将获取图像。 谢谢你的帮助

  • 我有一个产品组件,我希望将其图片传递给另一个组件,我的图片从Rails后端上传,并映射产品详细信息。我想实现的是,当您单击按钮时,您的产品图片将显示在设计页面中进行自定义设计。 设计页面当您单击设计我按钮时,根据产品,该产品的图片应该出现在设计页面中 陈列

  • 问题内容: 我有两个Java.io.File对象file1和file2。我想将内容从file1复制到file2。有没有一种标准的方法可以执行此操作,而无需创建必须读取文件1并写入文件2的方法 问题答案: 不,没有内置方法可以做到这一点。与您要完成的工作最接近的是from 的方法,如下所示: 并且不要忘记处理异常并在一个块中关闭所有内容。

  • 我使用以下代码移动图像一个文件夹到另一个文件夹,但它不工作。 如下 但还是不行谢谢