2015-08-27 118 views
-1

我有一個JFrame最大化利用的Java JFrame的設置爲不調整,調整大小,反正

frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 

這之間在年底一些代碼

frame.setVisible(true); 
frame.setResizeable(false); 

堅韌,拖動窗口向下調整大小的頂部無論如何。 我向它添加了一個ComponentListener來查看它是否檢測到正在調整大小,並且確實如此。當我調整大小時,componentResized函數被調用。 對此有任何修復? 謝謝。

+1

這是最好的,如果你發佈你的代碼。 – user3437460

+0

請發佈您的代碼,[MCVE](http://stackoverflow.com/help/mcve)將是最好的 –

+0

我知道這只是一個臨時(而不是很好)的修復,但如果您知道ComponentListener被調用componentResized您可以存儲原始寬度和高度,並在componentResized上將其更改回來。或者,您知道,發佈您的代碼,以便我們可以提供幫助。 – lacraig2

回答

1

拖動窗口的頂部向下調整它的大小反正

這是應用程序在Windows的工作方式。嘗試一個本機Windows應用程序,你會看到拖動窗口使它縮小到一個首選大小。

你可以嘗試如下代碼:

JFrame frame = new JFrame(); 
frame.setResizable(false); 
frame.pack(); 
frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
frame.setVisible(true); 
frame.setMinimumSize(frame.getSize()); 

您仍然可以從它的位置拖動框架,但你將無法調整其大小。

+0

,但它不能像我的代碼那樣工作...就像OP示例中的設置一樣,我可以拖動窗口,但它不會更改大小,而且我無法更改大小。 –