我基本上是想创建一个可以在面板之间切换的显示器(有不同的设计)。我知道适合在面板之间切换的布局是CardLayout,所以我创建了一个扩展JPanel的Lienzo类,并将其布局设置为 CardLayout
,然后初始化多个面板,并将其添加到Lienzo构造函数内部的甲板上。关于 JFrame
扩展类,它的名字叫VentanaDesarrollo,在它的构造函数里面,我创建了一个新的Lienzo,并试图把它添加到框架中,但当我运行项目时,它是全部空白的,并没有按照计划显示出甲板的第一个面板。如果说Lienzo和VentanaDesarrollo是在Netbeans选项右击包>新建>JPanelJFrame形式后创建的,可能会有帮助。
这是Lienzo类,它的构造函数运行initComponents(),创建子面板并将它们添加到卡组中。
public class Lienzo extends JPanel {
ArrayList<EfectoDeSonido> efectos;
Mary mary;
Katherin katherin;
Inicio inicio;
Ayuda ayuda;
Configuracion config;
Seleccion selec;
Dorothy dorothy;
public Lienzo() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
Inicio = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
Ayuda = new javax.swing.JPanel();
Configuracion = new javax.swing.JPanel();
Seleccion = new javax.swing.JPanel();
HistoriaKatherin = new javax.swing.JPanel();
HistoriaMary = new javax.swing.JPanel();
HistoriaDorothy = new javax.swing.JPanel();
setMaximumSize(new java.awt.Dimension(1400, 800));
setMinimumSize(new java.awt.Dimension(1400, 800));
setLayout(new java.awt.CardLayout());
jButton1.setText("jButton1");
javax.swing.GroupLayout InicioLayout = new javax.swing.GroupLayout(Inicio);
Inicio.setLayout(InicioLayout);
InicioLayout.setHorizontalGroup(
InicioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(InicioLayout.createSequentialGroup()
.addGap(605, 605, 605)
.addComponent(jButton1)
.addContainerGap(716, Short.MAX_VALUE))
);
InicioLayout.setVerticalGroup(
InicioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(InicioLayout.createSequentialGroup()
.addGap(315, 315, 315)
.addComponent(jButton1)
.addContainerGap(460, Short.MAX_VALUE))
);
add(Inicio, "INICIO");
javax.swing.GroupLayout AyudaLayout = new javax.swing.GroupLayout(Ayuda);
Ayuda.setLayout(AyudaLayout);
AyudaLayout.setHorizontalGroup(
AyudaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 1400, Short.MAX_VALUE)
);
AyudaLayout.setVerticalGroup(
AyudaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 800, Short.MAX_VALUE)
);
add(Ayuda, "AYUDA");
javax.swing.GroupLayout ConfiguracionLayout = new javax.swing.GroupLayout(Configuracion);
Configuracion.setLayout(ConfiguracionLayout);
ConfiguracionLayout.setHorizontalGroup(
ConfiguracionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 1400, Short.MAX_VALUE)
);
ConfiguracionLayout.setVerticalGroup(
ConfiguracionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 800, Short.MAX_VALUE)
);
add(Configuracion, "CONFIG");
javax.swing.GroupLayout SeleccionLayout = new javax.swing.GroupLayout(Seleccion);
Seleccion.setLayout(SeleccionLayout);
SeleccionLayout.setHorizontalGroup(
SeleccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 1400, Short.MAX_VALUE)
);
SeleccionLayout.setVerticalGroup(
SeleccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 800, Short.MAX_VALUE)
);
add(Seleccion, "SELECCION");
javax.swing.GroupLayout HistoriaKatherinLayout = new javax.swing.GroupLayout(HistoriaKatherin);
HistoriaKatherin.setLayout(HistoriaKatherinLayout);
HistoriaKatherinLayout.setHorizontalGroup(
HistoriaKatherinLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 1400, Short.MAX_VALUE)
);
HistoriaKatherinLayout.setVerticalGroup(
HistoriaKatherinLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 800, Short.MAX_VALUE)
);
add(HistoriaKatherin, "HISK");
javax.swing.GroupLayout HistoriaMaryLayout = new javax.swing.GroupLayout(HistoriaMary);
HistoriaMary.setLayout(HistoriaMaryLayout);
HistoriaMaryLayout.setHorizontalGroup(
HistoriaMaryLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 1400, Short.MAX_VALUE)
);
HistoriaMaryLayout.setVerticalGroup(
HistoriaMaryLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 800, Short.MAX_VALUE)
);
add(HistoriaMary, "HISM");
javax.swing.GroupLayout HistoriaDorothyLayout = new javax.swing.GroupLayout(HistoriaDorothy);
HistoriaDorothy.setLayout(HistoriaDorothyLayout);
HistoriaDorothyLayout.setHorizontalGroup(
HistoriaDorothyLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 1400, Short.MAX_VALUE)
);
HistoriaDorothyLayout.setVerticalGroup(
HistoriaDorothyLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 800, Short.MAX_VALUE)
);
add(HistoriaDorothy, "HISD");
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JPanel Ayuda;
private javax.swing.JPanel Configuracion;
private javax.swing.JPanel HistoriaDorothy;
private javax.swing.JPanel HistoriaKatherin;
private javax.swing.JPanel HistoriaMary;
private javax.swing.JPanel Inicio;
private javax.swing.JPanel Seleccion;
private javax.swing.JButton jButton1;
// End of variables declaration
}
另一个是VentanaDesarrollo类 Lienzo被创建并 "添加 "到框架中,但它没有出现,没有显示任何东西。
public class VentanaDesarrollo extends javax.swing.JFrame {
Lienzo lienzo;
EstadoJuego estado;
public VentanaDesarrollo() {
initComponents();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Estellar G: Beta");
setLocationRelativeTo(null);
lienzo = new Lienzo ();
add(lienzo);
revalidate();
repaint();
setVisible(true);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMaximumSize(new java.awt.Dimension(1400, 800));
setMinimumSize(new java.awt.Dimension(1400, 800));
setResizable(false);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 577, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 550, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
// Variables declaration - do not modify
// End of variables declaration
}
我真的不知道问题出在哪里,由于我根本不是编程高手,我几乎可以肯定这可能是一些逻辑错误。