が表示されません親JDialog
:GridLayoutには、私が作成時に<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()を呼び出します。 どうしたのですか?前もって感謝します!
ただし、gamePane自体に何かを追加していますか? –
[mcve]を含めてください。 –
@CoderinoJavarino私は、netbeansスイングエディタを使用してGamePaneを追加しました。必要に応じてnetbeans生成コードを含めることができます。 – Chapi