2015-06-28 19 views
1

自從我的電源中斷項目以來,這個程序一直在畫我的窗口關閉屏幕,我不明白爲什麼。每當它啓動時,我都無法將窗口移動到有用的位置,但是當我使用alt-tab查看在我的計算機上運行的所有程序時,我可以看到我的jpanel。如果它很重要我在Ubuntu上使用Eclipse。編輯:我測試了這與一個完全不同的Java程序,我沒有做,它做同樣的事情,所以它似乎是我的IDE /操作系統的問題窗口是從屏幕上拉出的java程序

我刪除了我的代碼,因爲它沒有出現與這個問題有任何關係。

+2

改進了QuizGame的格式。將來,請不要努力讓別人難以閱讀您的代碼。相反,如果你做了相反的事情,你可能會得到更好更快的答案:儘可能簡單地閱讀你的發佈代碼。 –

+0

在添加組件之前,請勿將您的GUI設置爲可見**。相反,將組件添加到您的JPanel中,並將JPanel添加到您的JFrame中,然後在打包JFrame後才能看到JFrame。 –

+0

''我測試了一個完全不同的程序,它做了同樣的事情,所以它似乎是我的IDE/OS的一個問題「 - 除非你的其他程序有錯誤的代碼。 –

回答

0

我不認爲這是你的代碼的問題,而是在Ubuntu操作系統中試圖讓一些更符合人體工程學的東西時出現問題。您可能想嘗試在虛擬機或另一臺計算機上運行該程序,以查看該窗口在哪裏產生。通常當你在屏幕上移動一個窗口然後關閉它時,當同一個程序被重新打開時,它將在它被關閉的同一個地方打開。這可能甚至會發生在所有的Java應用程序中,除非您將它移動並關閉它在屏幕中間的某處。您可以通過更改您的分辨率並試圖抓住屏幕的某個角落來修復它,但我不確定。

編輯:Alt + F7是Ubuntu上移動當前窗口的快捷方式。將你移到屏幕的中心並關閉它,你可能會很好。

編輯:這不是我的,但該腳本可以在這裏找到:https://github.com/mezga0153/offscreen-window-restore/blob/master/offscreen-window-restore.sh

#!/bin/bash 
# 
# This script moves back windows that have been moved off screen 
# 
# Author: Tine Mezgec [email protected] 
# 

width=`xrandr | grep current | awk {'print $8'}` 

`wmctrl -l -G | awk -v w=$width '{ 
    if ($8 != "unity-dash" && $8 != "Hud") { 
     if ($3 >= w || $3 < 0) { 
      system("wmctrl -i -r " $1 " -e 0," sqrt($3*$3) % w ",-1,-1,-1"); 
     } 
    } 
}'` 

這是我能找到的,當心所有的窗口時,腳本雖然運行在同一個地方可能會打開。您也可以嘗試用箭頭鍵移動窗口,然後關閉並重新打開窗口。

+0

Alt + f7確實將它移動到視圖中,但是當我將其關閉並關閉程序時,它仍然顯示在屏幕外。 – user237083

0

好吧,我認爲這個問題與擁有多臺顯示器有關。

爲了解決這個問題,我進入了我的系統設置,然後在顯示菜單中禁用了其中一個顯示器。

然後,我啓動了我的程序,然後關閉它。

最後我重新啓用了我的其他顯示器,現在一切正常。