Java awt - 获取 root 的头衔 window
Java awt - get title of root window
我正在为 Burp Suite 写一个 plug-in,我想在我的 plug-in 中使用当前打开的项目名称。不幸的是,没有 API 要求这样做,所以我的替代方法是去掉 window 标题并用正则表达式表达项目名称。 window 标题如下所示:
但是,我似乎无法使用代码获取此 window 的标题。这些我都试过了:
SwingUtilities.windowForComponent(tab);
SwingUtilities.getWindowAncestor(tab);
SwingUtilities.getAncestorOfClass(JFrame.class, tab);
SwingUtilities.getRoot(tab);
SwingUtilities.getRootPane(tab).getParent();
全部return:(.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]
然而,似乎没有办法真正从这个 object 中获得标题 =。函数 .getName()
returns: frame0
。也许我错过了一些明显的东西。如何从这个 AWT 容器 object 中获取 title=
?
尝试以下操作:
((JFrame) SwingUtilities.windowForComponent(tab)).getTitle();
也许你应该检查你的 window 是框架还是对话框
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();
}
我正在为 Burp Suite 写一个 plug-in,我想在我的 plug-in 中使用当前打开的项目名称。不幸的是,没有 API 要求这样做,所以我的替代方法是去掉 window 标题并用正则表达式表达项目名称。 window 标题如下所示:
但是,我似乎无法使用代码获取此 window 的标题。这些我都试过了:
SwingUtilities.windowForComponent(tab);
SwingUtilities.getWindowAncestor(tab);
SwingUtilities.getAncestorOfClass(JFrame.class, tab);
SwingUtilities.getRoot(tab);
SwingUtilities.getRootPane(tab).getParent();
全部return:(.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]
然而,似乎没有办法真正从这个 object 中获得标题 =。函数 .getName()
returns: frame0
。也许我错过了一些明显的东西。如何从这个 AWT 容器 object 中获取 title=
?
尝试以下操作:
((JFrame) SwingUtilities.windowForComponent(tab)).getTitle();
也许你应该检查你的 window 是框架还是对话框
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();
}