我正在為 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();
}
添加回答
舉報
0/150
提交
取消