用Java实现ICard构建应用程序的最佳方法

用Java实现ICard构建应用程序的最佳方法,java,image,swing,Java,Image,Swing,haveI实现了一个基于JavaSwing的应用程序,该应用程序基于用户的输入构建ICard。ICard可以打印并以jpg格式保存在本地磁盘上。ICard有一个基于姓名、照片、地址等的特定GUI模式 我一直在通过设置Swing组件中的用户条目和其他数据来实现它,如果是文本或图像输入,比如名称、地址、照片等,我将它们设置在JLabels上。然后在打印时拍摄包含所有数据的父组件快照,然后在“打印”命令下将组件快照保存在本地系统文件夹中,然后打印该jpg。现在有些情况下,姓名、地址和其他信息在字符数量

haveI实现了一个基于JavaSwing的应用程序,该应用程序基于用户的输入构建ICard。ICard可以打印并以jpg格式保存在本地磁盘上。ICard有一个基于姓名、照片、地址等的特定GUI模式

我一直在通过设置Swing组件中的用户条目和其他数据来实现它,如果是文本或图像输入,比如名称、地址、照片等,我将它们设置在JLabels上。然后在打印时拍摄包含所有数据的父组件快照,然后在“打印”命令下将组件快照保存在本地系统文件夹中,然后打印该jpg。现在有些情况下,姓名、地址和其他信息在字符数量上变得相当大,然后我的孔父布局也受到干扰和扭曲。我使用GridBagLayout创建ICard

请提供你的建议,因为我认为这不是最好的方法


提前感谢

您可以设置最大字符数,这样您的布局就不会受到干扰。但那很糟糕。当文本大于组件时,可以添加滚动。但是打印需要一些动手才能看到所有的数据。。。您可能希望打印的不是快照,而是一些打印视图。谢谢@Fildor的评论是的,您在打印视图上是对的,我一直在尝试,但iCard也需要保存为JPG。虽然我将父容器放在滚动视图上,但父组件大小将设置为某个大小限制。如果我忽略大小限制,则存在大小限制。您的想法很好,将实现此功能,将父组件放在滚动视图中。