JLabel only shows if initComponents() is deleted

你。 提交于 2019-12-02 09:35:36

The problem is that when using GroupLayout all components on the container must be added to both the horizontal & vertical parallel groups of the layout:

In Letters.java, you have added the JLabel to the container but have not attached it to the 2 groups of the layout, so nothing will be displayed as a result.

To fix, you could move the label creation to the initComponents method and add to the groups:

layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(25, 25, 25)
    .addComponent(jLabelLetters)
    .addGap(75, 75, 75)
    .addComponent(jLabelNumbers)
    .addGap(76, 76, 76)
    .addComponent(jLabelFlashcards)
    .addGap(75, 75, 75)
    .addComponent(jLabelStories)
    .addGap(89, 89, 89)
    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addContainerGap(32, Short.MAX_VALUE))
    .addComponent(label)
);

layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(jLabelFlashcards)
    .addComponent(jLabelStories))
    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
    .addGap(4, 4, 4)
    .addComponent(jComboBox1, javax.swing.GroupLayout.DEFAULT_SIZE, 20, Short.MAX_VALUE))
    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(jLabelLetters)
    .addComponent(jLabelNumbers)))
    .addComponent(label)
    .addGap(565, 565, 565))
);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!