2013-01-01 48 views
0

垂直最大化窗口當由分別拖動窗口的頂部或者底部邊緣到屏幕的頂部或底部豎直最大化我的win7 64位機器上的窗口,應用程序變得無法響應,並顯示一個黑色部分或一些其他視覺失真。當通過雙擊邊緣或垂直最大化時,不會發生這種情況。在Swing

既然它發生在Java教程程序中(我隨機選擇了一些,他們都這樣做),這是Swing中的某種錯誤 - 或者我可以做些什麼?

+2

您是否嘗試過構建應用程序,然後從jar文件運行它? –

+5

請編輯您的問題,以包含展示您描述的效果的[sscce](http://sscce.org/)。 – trashgod

+0

在這裏更新你的代碼你試過的。 – vels4j

回答

2

這SSCCE顯示在Windows 7的問題(包括64位和32位版本)中,用JDK 1.7.0_07編譯,運行JRE 1.7.0_07:

public class Expander extends javax.swing.JFrame 
{ 
    public Expander() 
    { 
     this.setBounds(0, 0, 300, 300); 
    } 

    public static void main(String args[]) 
    { 
     java.awt.EventQueue.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       new Expander().setVisible(true); 
      } 
     }); 
    } 
} 

問題似乎是不resize事件傳遞給JFrame的內容窗格。 JFrame的繪畫方法確實獲得了新的尺寸,但它內部沒有任何東西。問題在版本1.6下不出現(不能在Linux下測試,顯然,自動調整行爲對Windows來說是唯一的)。

請參閱http://www.coderanch.com/t/601457/GUI/java/Vertically-Maximizing-Window-Swing以獲得更詳細的討論。我已經在bugs.sun.com上提交了一份關於此問題的錯誤報告。

0

我使用的是i7-2600k,ati radeon 6800和win7 64bit系統,我從來沒有遇到過這樣的問題。你使用的是最新版本的Java?我做了以下程序。它在我的系統下工作正常,沒有任何問題。

下載鏈接JPositioner:JPositioner

請檢查並讓我知道如果u都面臨着同樣的問題,即使JPositioner。

+1

良好的您提供一個示例程序,但我懷疑我們許多人都去沒有看到和編譯源自己運行的可執行文件。 –

+0

我明白並且會改正我自己。如果它讓你們任何一個happer,我可以讓你知道你可以解壓縮.exe。然後,您可以再次提取.jar文件(運行jar文件沒有問題)並反編譯.class文件以查看代碼。 :) – Hele