第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當(dāng) Java 不在頂部時,JDialog 不專注于 OSX

當(dāng) Java 不在頂部時,JDialog 不專注于 OSX

蝴蝶刀刀 2024-01-28 20:27:40
當(dāng) Java 程序不在 OSX 中的前面時,我的 JDialog 不聚焦。我該如何實現(xiàn)這一目標(biāo)?我有以下測試程序來說明場景(在底部),javac Test.java && java Test從終端運行。當(dāng)終端輸出“Started first”時,會將焦點轉(zhuǎn)移到Java程序上。我通過單擊終端(或其他程序)從啟動的 Java 程序中移除焦點。顯示有“第二個測試”文本的第二個 JDialog 將不會獲得焦點。即使我設(shè)置了也是一樣dialog.setAlwaysOnTop(true);當(dāng)我在看到“首先啟動”后將 Java 程序保留在頂部時,帶有“第二個測試”文本的 JDialog 正確聚焦(即不單擊其他位置以便啟動的 Java 程序位于頂部)。請注意,我的 Java 程序沒有 Swing UI。它在后臺運行并彈出 JDialog 來接受用戶輸入。這在 Windows 和 Linux 上都可以正常工作(無論當(dāng)時哪個應(yīng)用程序處于焦點狀態(tài),創(chuàng)建的 JDialog 都會獲得焦點)。public class Test {    public static void main(String[] args) throws Exception {        Thread t = new Thread() {            @Override            public void run() {                SwingUtilities.invokeLater(new Runnable() {                    public void run() {                        launch("First test");                    }                });            }        };        Thread t2 = new Thread() {            @Override            public void run() {                SwingUtilities.invokeLater(new Runnable() {                    public void run() {                        launch("Second test");                    }                });            }        };        t.start();        System.out.println("Started first");        Thread.sleep(5000);        System.out.println("Started second");        t2.start();    }    private static void launch(String title) {        System.out.println("Showing");        System.out.println(Thread.currentThread().getName());        final JDialog dialog = new JDialog(null, "Test", ModalityType.APPLICATION_MODAL);        dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);        dialog.setVisible(true);        System.out.println("Result is " + searchBar.getText());    }}
查看完整描述

1 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

基本上這個想法是使用 java.awt.Robot 移動鼠標(biāo)并單擊彈出對話框以獲得焦點。

它在大多數(shù)情況下都有效,但是當(dāng)您有多個屏幕時,鼠標(biāo)移動很奇怪,因此需要特殊情況處理。


查看完整回答
反對 回復(fù) 2024-01-28
  • 1 回答
  • 0 關(guān)注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號