2011-09-13 60 views
1

我在啓動主應用程序之前加載了顯示公司徽標和積分等的JFrame。我有一些問題。所有的拳頭,我的新JFrame的大小永遠不能設置。當我在netBean下預覽它時,JFrame看起來很好,但每次都會變小。我試圖用新的構造函數和setSize()來完成它,但仍然無法工作。其次,JFrame加載非常緩慢。沒有圖像和一切都可以加載和JFrame保持空白至少五秒鐘,真是一種討厭。它與我放置圖像文件的位置有什麼關係? 非常感謝。java JFrame setSize

+1

讓我們嘗試通過查看您的代碼或其他內容來幫助您,我的報價如何? –

+0

使用默認GroupLayout之外的其他佈局。有很多可供選擇的方法,在這種情況下,它們通常比GroupLayout更靈活。 –

+3

如果您使用Java 6+,則無需再滾動自己的splashscreen - http://download.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html – Nate

回答

0

很多不清楚的問題說明,雖然我想指出一些提示...

難道它有什麼用,我把圖像文件?

如果你的意思是你的JFrame的標題圖像,因此您可以使用它的方法setIconImage()

拳重要的是,我的新JFrame的大小不能進行設置。

這是很奇怪的,因爲:(你總是可以寫代碼像

JFrame aFrame=new JFrame(); 
aFrame.setSize(x,y); 

...來控制你的幀比例

其次,JFrame中已加載很慢。沒有圖像和 一切都可以加載和JFrame保持空白至少 五秒

它可以由單個線程引起的超載,但仍對問題進行分析顯示主類代碼或它的異常堆棧跟蹤

預覽它netBean下,但每次出來小

什麼組件是否用來繪製您的徽標?你怎麼畫它?顯示片段

+0

感謝您的提示。我實際上把圖片放在JLabels上,因爲我需要加載多個圖片。我嘗試了一個新的構造函數setSize(),並創建了一個新的JFrame並且都不起作用。 –

+0

您可以使用setIcon()方法更改圖像而無需重新繪製整個組件(當然,如果這樣做);並且不要使用JFrame作爲唯一包含JLabel的組件;我建議你只是使用像「JFrame(GridLayout) - > JPanel(GridLayout) - > JLabel(setIcon(...))」 – user592704

+0

無論如何,這將是更清楚你告訴我們你的代碼:) – user592704

3

我正在加載顯示公司徽標和積分等的JFrame,然後再啓動主應用程序。我有一些問題。所有的拳頭,我的新JFrame的大小永遠不能設置。當我在netBean下預覽它時,JFrame看起來很好,但每次都會變小。我試圖用新的構造函數和setSize()來完成它,但仍然無法工作。

這是非常困難的蘇斯出來沒有看到你的代碼什麼是錯的,但話說回來,你對這個是NetBeans生成的GUI意見建議,代碼會非常大,難以閱讀和解釋。正是出於這個原因以及許多其他原因,我不喜歡使用NetBeans來生成GUI,尤其是對於剛剛學習如何使用Swing的新手而言。我建議你用一些用戶友好的佈局管理器手動寫出你的GUI代碼,如果需要的話嵌套JPanel。如果你這樣做,你將在構建GUI時擁有更大的靈活性和控制力,並且你還將擁有可讀和可調試的代碼,你可以在這裏發佈我們的評估和幫助,如果它不適合您。

其次,JFrame加載非常緩慢。沒有圖像和一切都可以加載和JFrame保持空白至少五秒鐘,真是一種討厭。它與我放置圖像文件的位置有什麼關係?非常感謝。

這聽起來像是一個線程問題。我只是首先加載介紹GUI的圖像,然後顯示介紹窗口,然後在後臺線程中加載該程序需要的任何其他資源。在說完所有這些之後,你可能要考慮使用Java自己的splash screen,因爲這可能會完成所有你想要自己拼湊起來的東西。這些教程可以幫助你(請點擊上面的鏈接或here)。

0

您可以通過設置在JFrame中點擊右鍵, 設爲默認大小
(NetBeans的設計視圖) 大小,我希望這是你想要

0

這可能對您有用嗎?

JPanel aa = new JPanel(new GridBagLayout()); 
    aa.setMaximumSize(new Dimension(500,500)); 
    aa.setMinimumSize(new Dimension(490,490)); 
    aa.setBorder(BorderFactory.createLineBorder(Color.black)); 
+0

請不要爲多個問題添加相同的答案。回答最好的一個,並將其餘標記爲重複。 –

+0

嗨,這些問題具有相同的主題,所以答案可能相同。 – enes

-1

我打開的屬性對話框我的JFrame,並設置「最小尺寸」字段爲[500,500],但沒有奏效。

對我而言,選擇「最小尺寸」屬性右側的「...」按鈕有什麼作用。在 「JFrame的Mininumsize」 對話框,如下所示:

  1. 集下拉(套裝形式使用最小尺寸屬性:)= 「自定義代碼」 中(Form.setMinimumSize())=「新Dimensiom
  2. 集代碼( 500,500)「