2013-04-04 72 views
5

我正在開發一個NetBeans的Java swing桌面應用程序 ,我想將JFrame設置爲屏幕中心。將JFrame設置爲NetBeans中的屏幕中心

從網上我明白,我可以使用

setLocationRelativeTo(null); 

的框架設置在中心 但我無法將代碼插入到NetBeans IDE中

,因爲無論是

frame.pack() 
and frame.setVisible() 

是生成的NetBeans 7 IDE代碼 ,它不允許在兩種方法之間插入任何代碼。 獲得以下:

frame.pack() 
setLocationRelativeTo(null); 
frame.setVisible() 

關於如何解決這個問題的任何建議。

+0

即使生成的代碼進入Java中的某些文件... NetBeans生成哪個文件? – hd1 2013-04-04 13:11:17

+0

你可以進一步解釋netbeans和java的新功能 – CodeAngel 2013-04-04 13:18:22

回答

1

生成的代碼是setVisible()?奇怪。無論如何,你可以右擊JFrameNavigator並選擇Properties。去Code並選擇它什麼都不做。然後在JFrame構造函數中手動將代碼插入initComponents()之後。

+0

setVisible()不是生成的一部分,而是想要插入它。 – CodeAngel 2013-04-04 13:21:57

+0

生成的代碼 – CodeAngel 2013-04-04 13:22:33

+0

沒有必要這樣做。在類構造函數中,它將調用'initComponents()',它將調用'pack()'。在'initComponents()'之後,在構造函數中,調用'setLocationRelativeTo(null)'然後'setVisible(true)'(儘管我不會在構造函數中調用'setVisible()')。 – 2013-04-04 13:25:13

2

我不確定您是否有問題的答案,但是Wade Chandler在NetBeans論壇中提供了以下鏈接的解決方案。不幸的是,被回答的查詢的創始人不耐煩地說至少,你必須通過一些焦慮來找到答案。

http://forums.netbeans.org/ptopic37419.html

韋德展示瞭如何居中GUI,哪些是你可以修改代碼的各個方面。

順便說一句,如果你要放置GUI在屏幕上設定的位置,那麼你可以使用:

這需要訪問屬性 - >代碼窗口爲好。 1.確保您選擇了框架(不是組件或外部!) 2.轉到JFrame屬性窗口中的代碼選項卡。 3.找到「表單大小策略」標籤。 4.在下拉菜單中選擇「生成調整大小代碼」。 5.通過點擊旁邊的「...」來修改表單位置。 6.另外,確保「生成大小」也被選中。

如果要將GUI置於屏幕左上角,請使用默認[0,0]作爲表單位置。定位第一個使用[450,0]旁邊的第二個GUI。在這種情況下,x值已更改爲450,Y值保持爲0.要將GUI向下移動屏幕,請將Y值從0更改爲450.

最後,有一個NetBeans錯誤226740可能會在嘗試集中GUI的某些方面時導致問題。它可能不會影響到你,但是意識到這一點很有用。

問候

德里克

+0

@ DereckMannering謝謝你的帖子會盡力回覆你。乾杯 – CodeAngel 2013-04-10 14:24:37

12

屬性 - >代碼 - >檢查生成中心

+1

這是最簡單的解決方案。 +1 – 2017-06-19 10:07:10

0

從鏈接@DerekMannering貼:

Netbeans的實際產生自身與定心邏輯通過 屬性使用,所以你不會看到setLocationRelativeTo選項。轉至屬性窗口中的 「代碼」選項卡。在「代碼」選項卡中找到「表單大小策略」標籤 。在下拉菜單中選擇「生成調整大小代碼」。然後 確保選中標籤爲「生成中心」的媒體資源。 你也要確保「Generate Size」也被選中。 應該默認,但你應該檢查反正。現在,這將 最適合JFrame或幀擴展。

10

在框架的構造函數,你有這樣的:

public frame() {  
    initComponents(); 
} 

你只要把這個行: 「this.setLocationRelativeTo(NULL);」 「initComponents();」下的「 」

而且你也會有這樣的:

public frame() {  
    initComponents(); 
    this.setLocationRelativeTo(null); 
} 

運行它,它的框架應該能顯示在屏幕的中央=)

3

按照以下簡單步驟:

  • 選擇框架並轉到屬性。
  • 點擊代碼部分,然後點擊複選框生成中心。

就是這樣。

0

在Netbeans Designer區域中,選擇您的JFrame,轉到代碼。

中的代碼,改變窗體大小策略「生成調整大小代碼」

然後選擇生成中央選項。下面

0
  • 在構造函數編寫代碼給將使您的JFrame屏幕

    public ProjectWork_jframe() { 
    initComponents(); 
    
    Dimension screenSize,frameSize; 
    int x,y; 
    screenSize=Toolkit.getDefaultToolkit().getScreenSize(); 
    frameSize=getSize(); 
    x=(screenSize.width-frameSize.width)/2; 
    y=(screenSize.height-frameSize.height)/2; 
    setLocation(x, y); 
    } 
    
0

嘗試的中心....

public class_name{ 
    initComponents(); 
     setLocationRelativeTo(this); 
} 
+2

請添加一個解釋如何解決這個問題。 – 2016-08-08 08:46:23