java - 从其他类更改 JFrame 的标题

标签 java swing jframe jpanel titlebar

我有两个类,一个 AnalogClock 类和一个 MainInterface 类。

我在 AnalogClock 类中创建了一个 timeChanged 方法,每当时间改变时都会调用它。我的 AnalogClock 基本上是一个带有绘图的 JPanel。在 MainInterface 中,我设置了一个 JFrame 并添加了我的 AnalogClock 对象。

是否可以在调用“timeChanged”时更改窗口的标题?我尝试使用 getParent()getRootParent() 但它们无法识别 setTitle()

最佳答案

使用getWindowAncestor来自 SwingUtilities 的方法。

//This gives you the first Window Object that contains the panel component
Window window = SwingUtilities.getWindowAncestor(panel);

//Cast it to JFrame
JFrame frame = (JFrame) window;

 //Now, change the title
frame.setTitle("New Title");

关于java - 从其他类更改 JFrame 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957874/

相关文章:

java - 如何获取特定艺术家的歌曲?

java - String.subString() 和 String.subSequence() 有什么区别

java - 我应该显式处理 Graphics 对象吗?

java - 按下其他 JButton 后未调用 JButton

java - Java Swing 中的 jMenu 栏未启用问题

java - 我想显示数据库 JAVA Jframe 中的用户名

java - spring Kafka集成测试监听器不工作

java - 从对象数组访问对象类型方法 java

Java - 调用父类(super class)并使用标准方法

java - 绘画组件无法运行