为了账号安全,请及时绑定邮箱和手机立即绑定

Java awt - 获取根窗口的标题

Java awt - 获取根窗口的标题

万千封印 2023-07-13 14:30:13
我正在为 Burp Suite 编写一个插件,我想在我的插件中使用当前打开的项目名称。遗憾的是,没有对此进行 API 调用,因此我的替代方案是获取窗口标题并用正则表达式输出项目名称。窗口标题如下所示:但是,我似乎无法使用代码获取该窗口的标题。我已经尝试过所有这些:SwingUtilities.windowForComponent(tab);SwingUtilities.getWindowAncestor(tab);SwingUtilities.getAncestorOfClass(JFrame.class, tab);SwingUtilities.getRoot(tab);SwingUtilities.getRootPane(tab).getParent();全部返回:( .tostring())burp.a_5[frame0,0,23,1280x720,invalid,layout=java.awt.BorderLayout,title=Burp Suite Professional v2.1.03 - Temporary Project - licensed to OMITTED [OMITTED license],resizable,maximized,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,22,1280x698,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@1a0b90f7,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]然而,似乎没有办法真正从这个对象中获取 title= 。该函数.getName()返回:frame0. 也许我错过了一些明显的东西。如何获取title=此 AWT 容器对象?
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

尝试以下操作:


((JFrame) SwingUtilities.windowForComponent(tab)).getTitle();

也许你应该检查你的窗口是框架还是对话框


Window w = SwingUtilities.windowForComponent(tab);

String title = null;

if (w instanceof JFrame) {

    title = ((JFrame) w).getTitle();

} else if (w instanceof JDialog) {

    title = ((JDialog) w).getTitle();

}


查看完整回答
反对 回复 2023-07-13
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信