2014-07-14 36 views
-2

在全屏菜單的時候不就是這樣的:爲什麼在做全屏JFrames和按鈕不居中?

然而,當我全屏沒有組織:

enter image description here

有人能幫助我嗎?

我不知道擺動控件是如何集中在窗體上的。

謝謝。


CODE

登錄表單

String sql="select * from logins where username=? and password=?"; 

      try{ 

     pst=(PreparedStatement) conexao.prepareStatement(sql); 
     pst.setString(1, jTUser.getText()); 
     pst.setString(2, jPass.getText()); 

     rs=pst.executeQuery(); 
     if(rs.next()){ 

      String idTipoLogin = rs.getString("idTipoLogin"); 

      if (idTipoLogin.equals("Administrador")) { 

       jTMainMenuAdmin ah = new jTMainMenuAdmin(); 
       ah.setExtendedState(JFrame.MAXIMIZED_BOTH); 
       ah.setVisible(true); 
} 

MAIN MENU FORM

public class jTMainMenuAdmin extends javax.swing.JFrame { 

Connection conexao = null; 
PreparedStatement pst= null; 
ResultSet rs = null; 



public jTMainMenuAdmin() throws SQLException { 
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    initComponents(); 
    setTitle(); 
    setIcon(); 
    setDefaultCloseOperation(jTMainMenuAdmin.DO_NOTHING_ON_CLOSE); 
    conexao=(Connection) CriaConexao.getConexao(); 
} 



public static void main(String args[]) { 

    java.awt.EventQueue.invokeLater(new Runnable() { 

     public void run() { 
      try { 
       new jTMainMenuAdmin().setVisible(true); 
      } catch (SQLException ex) { 
       Exceptions.printStackTrace(ex); 
      } 
     } 
    }); 
} 
+1

我們能看到一些代碼嗎?你使用的是什麼佈局管理器?你在調用revalidate()嗎? – Revive

+1

@ I-LOVE-2-REVIVE您不需要在調整大小時手動調用重新驗證...但是,在計算佈局問題時,實際查看一些佈局代碼會很有用 – Ordous

+0

感謝所有人的回覆。我用一些代碼編輯我的問題。我希望能幫助你擺脫我的懷疑。 – rpirez

回答

-1

我認爲你有絕對位置和大小,添加組件:

mybutton.setBounds(x, y, width, height); 

如果您希望組件調整到可用空間,則必須使用佈局。

0

這是因爲Netbeans使用的默認GroupLayout。您可以改爲創建您在JPanel表單上的內容。然後對於框架類,更改佈局GridBagLayout,然後將JPanel表單添加到框架。

您可以方便地拖放面板,當你做了,因爲看到here

所有你需要做的改變幀的佈局管理器看起來選擇並右鍵單擊Navigator窗口中的框架和選擇設置佈局。只需將其更改爲GridBagLayout,然後添加面板。


旁白:如果你只是一個初學者,我強烈建議你學會手代碼,您開始使用IDE工具搞亂第一前。如果您不瞭解基本知識,那麼該工具非常複雜。你可以看到去The Official Swing Tutorial。佈局管理員是一個開始的好地方。然後轉到組件/事件監聽器