无法在 JInternalFrame GUI 组件中更新标题
Posted
技术标签:
【中文标题】无法在 JInternalFrame GUI 组件中更新标题【英文标题】:Trouble Updating Title in JInternalFrame GUI component 【发布时间】:2010-10-15 02:32:12 【问题描述】:我正在尝试在我的 Java 项目中更新 JInternalFrame 组件的标题。
该组件是我的 ImageFrame 类的一个实例,它扩展了 JInternalFrame,在我的代码中,我在我的 ImageFrame 类中调用了一个 setter 方法来更新 title 属性。我运行了单元测试并且知道属性正在正确更新,但我不知道如何刷新组件以显示新标题。
有什么想法吗?
仅供参考:我无法让 .repaint() 来解决问题。
这是代码:
File selectedFile = fileChooser.getSelectedFile(); // Gets File selected in JFileChooser
try
ImageReadWrite.write(img, selectedFile); // Writes Image Data to a File
frame.setFilePath(selectedFile.getAbsolutePath()); // Changes File Location Attribute in Instance Of ImageFrame
frame.setFileName(selectedFile.getName()); // Changes Window Title Attribute
//frame.??
catch (Exception event)
event.printStackTrace();
所以我需要知道我应该添加什么来使组件更新为新标题
【问题讨论】:
粘贴您用于更新标题的代码。使用 4 个空格进行自动格式化。 【参考方案1】:您可以尝试替换:
frame.setFileName(selectedFile.getName());
与
frame.setTitle(selectedFile.getName());
我不知道你的代码,但是 setFileName 不是 JInternalFrame 公共接口的一部分。
可能您添加了该方法,可能没有。试试我的建议,看看是否有帮助。
【讨论】:
是的,.setFileName() 是我在 ImageFrame 类中编写的 setter 方法,在查看后我意识到虽然我有更改属性的代码,但我没有更新对象的代码。所以我尝试了你的建议并得到了我想要的。非常感谢! 太棒了!,我想类似的事情已经发生了。这就是为什么我要求您粘贴您的代码以确认它。它不时发生 避免继承是避免此类错误的好方法(并且往往会产生更好的代码)。以上是关于无法在 JInternalFrame GUI 组件中更新标题的主要内容,如果未能解决你的问题,请参考以下文章