Monday morning, where I am, this means that I am not failing in Java Swing! But, in all seriousness, I can’t understand why my dynamically created JTable refuses to show itself after adding to JPanel on JFrame and will be very grateful for any help in isolating this unpleasant problem. As you can see from the code, I have named a dozen different methods, but it seems that I can’t get the right solution to display it ... maybe I am missing one?
package energizingemerald;
import javax.swing.*;
import java.awt.Dimension;
public class SectionManagerFrame extends javax.swing.JFrame {
public SectionManagerFrame() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
jButton_Cancel = new javax.swing.JButton();
jButton_OK = new javax.swing.JButton();
jLabel_Title = new javax.swing.JLabel();
jLabel_Description = new javax.swing.JLabel();
jTextField_Title = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea_Description = new javax.swing.JTextArea();
jButton_Remove = new javax.swing.JButton();
jButton_Add = new javax.swing.JButton();
jButton_Edit = new javax.swing.JButton();
jPanel_Grid = new javax.swing.JPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
jButton_Cancel.setText("Cancel");
jButton_Cancel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton_CancelMouseClicked(evt);
}
});
jButton_OK.setText("OK");
jButton_OK.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton_OKMouseClicked(evt);
}
});
jLabel_Title.setText("Review Title:");
jLabel_Description.setText("Review Description:");
jTextArea_Description.setColumns(20);
jTextArea_Description.setRows(5);
jScrollPane2.setViewportView(jTextArea_Description);
jButton_Remove.setText("Remove");
jButton_Add.setText("Add");
jButton_Edit.setText("Edit");
javax.swing.GroupLayout jPanel_GridLayout = new javax.swing.GroupLayout(jPanel_Grid);
jPanel_Grid.setLayout(jPanel_GridLayout);
jPanel_GridLayout.setHorizontalGroup(
jPanel_GridLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 0, Short.MAX_VALUE)
);
jPanel_GridLayout.setVerticalGroup(
jPanel_GridLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 268, 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(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(122, 122, 122)
.addComponent(jButton_Cancel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton_OK)
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel_Grid, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButton_Remove, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton_Add, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton_Edit, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel_Description)
.addComponent(jLabel_Title))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField_Title))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 587, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel_Title)
.addComponent(jTextField_Title, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel_Description)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 196, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton_Add)
.addGap(3, 3, 3)
.addComponent(jButton_Edit)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton_Remove))
.addComponent(jPanel_Grid, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton_Cancel)
.addComponent(jButton_OK))
.addContainerGap())
);
pack();
}
private void jButton_CancelMouseClicked(java.awt.event.MouseEvent evt) {
this.setVisible(false);
this.dispose();
}
private void jButton_OKMouseClicked(java.awt.event.MouseEvent evt) {
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
jTable_Sections = new JTable(5, 5);
jTable_Sections.setMinimumSize(new Dimension(200, 200));
jTable_Sections.setFillsViewportHeight(true);
jScrollPane_Sections = new JScrollPane(jTable_Sections);
jScrollPane_Sections.setMinimumSize(new Dimension(200, 200));
jPanel_Grid.add(jTable_Sections);
jPanel_Grid.add(jScrollPane_Sections);
jPanel_Grid.validate();
jPanel_Grid.repaint();
this.validate();
this.pack();
this.repaint();
}
private JTable jTable_Sections;
private JScrollPane jScrollPane_Sections;
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(SectionManagerFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(SectionManagerFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(SectionManagerFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(SectionManagerFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new SectionManagerFrame().setVisible(true);
}
});
}
private javax.swing.JButton jButton_Add;
private javax.swing.JButton jButton_Cancel;
private javax.swing.JButton jButton_Edit;
private javax.swing.JButton jButton_OK;
private javax.swing.JButton jButton_Remove;
private javax.swing.JLabel jLabel_Description;
private javax.swing.JLabel jLabel_Title;
private javax.swing.JPanel jPanel_Grid;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextArea jTextArea_Description;
private javax.swing.JTextField jTextField_Title;
}