2016-06-20 4 views
-1

が表示されません親JDialogGridLayoutには、私が作成時に<code>GridLayout</code>にレイアウトを設定し、一度にボタン1を加算<code>GamePane</code>と呼ばれる<code>JPanel</code>を拡張するクラスを作成したボタン

gamePane = new GamePane(sizeX, sizeY, parentPartida); 

そして、ここでは、NetBeansのエディタでどのように見えるかです:(選択したフレームがGamePaneのインスタンスである) それは、ボタンが表示されないことをテストするとき

は次に:

これはGamePaneが配置されている子は、コードのほとんどはNetbeansのにより自動生成された親のJDialogのクラスです。

public class gameDialog extends javax.swing.JDialog { 

private final int sizeX, sizeY; 
private Partida parentPartida; 

public gameDialog(java.awt.Frame parent, boolean modal, int sizeX, int sizeY, Partida parentPartida) 
{ 
    super(parent, modal); 
    this.parentPartida = parentPartida; 
    this.sizeX = sizeX; 
    this.sizeY = sizeY; 
    initComponents(); 
} 

@SuppressWarnings("unchecked") 
// <editor-fold defaultstate="collapsed" desc="Generated Code">       
private void initComponents() { 

    logoPane = new javax.swing.JPanel(); 
    jLabel1 = new javax.swing.JLabel(); 
    gamePane = new GamePane(sizeX, sizeY, parentPartida); 

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 
    setTitle("Partida en curso"); 
    setModal(true); 
    setResizable(false); 

    logoPane.setBackground(new java.awt.Color(95, 143, 191)); 

    jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 
    jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/GUI/logo.png"))); // NOI18N 
    jLabel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED, new java.awt.Color(0, 0, 0), new java.awt.Color(0, 0, 0), new java.awt.Color(0, 0, 0), new java.awt.Color(0, 0, 0))); 
    jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); 

    javax.swing.GroupLayout logoPaneLayout = new javax.swing.GroupLayout(logoPane); 
    logoPane.setLayout(logoPaneLayout); 
    logoPaneLayout.setHorizontalGroup(
     logoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
    ); 
    logoPaneLayout.setVerticalGroup(
     logoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE) 
    ); 

    javax.swing.GroupLayout gamePaneLayout = new javax.swing.GroupLayout(gamePane); 
    gamePane.setLayout(gamePaneLayout); 
    gamePaneLayout.setHorizontalGroup(
     gamePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 437, Short.MAX_VALUE) 
    ); 
    gamePaneLayout.setVerticalGroup(
     gamePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 353, Short.MAX_VALUE) 
    ); 

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
    getContentPane().setLayout(layout); 
    layout.setHorizontalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
      .addContainerGap() 
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
       .addComponent(gamePane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
       .addComponent(logoPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
      .addContainerGap()) 
    ); 
    layout.setVerticalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
      .addContainerGap() 
      .addComponent(logoPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
      .addGap(18, 18, 18) 
      .addComponent(gamePane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
      .addContainerGap()) 
    ); 

    pack(); 
}// </editor-fold>       

// Variables declaration - do not modify      
private GUI.GamePane gamePane; 
private javax.swing.JLabel jLabel1; 
private javax.swing.JPanel logoPane; 
// End of variables declaration     

}

initComponents()メソッドは、NetBeansによって生成され、GamePaneが作成され、それ以降のフレームではinitComponentsの端部に充填されているところです()を呼び出してpack()を呼び出します。 どうしたのですか?前もって感謝します!

+2

ただし、gamePane自体に何かを追加していますか? –

+4

[mcve]を含めてください。 –

+0

@CoderinoJavarino私は、netbeansスイングエディタを使用してGamePaneを追加しました。必要に応じてnetbeans生成コードを含めることができます。 – Chapi

答えて

2

コードに問題はありません。それは完全に正常に動作しています。

JDialog dialog = new JDialog(); 
dialog.getContentPane().add(new GamePane(10, 10)); 
dialog.pack(); 
dialog.setVisible(true); 

私は以下を取得しました。

enter image description here

+0

よろしくお願いいたします。あなたの答えはnetbeansによって生成されたコードを見て、そこに問題があります。私はGamePaneのコンストラクタのレイアウトを設定し、次にnetbeansをデフォルトのものに置き換えました。すべてのnetbeansコード – Chapi

+0

の後にボタンを作成しました。とにかく素晴らしい一日があります。 – Beniton

+3

@チャピ:それは理由だと推測するはずです、どうですか?将来的に**すべての**関連コードをリンクとしてではなく[mcve]として投稿してください。 –

関連する問題

 関連する問題