1

Below is my code. It shows Row Data but not Column Names despite of I am using the code as it was given on Oracle Website

JPanel panel = new JPanel(new GridLayout(1, 1));
            JTextField txtFilter = new JTextField("1234.56");
            //panel.add(txtFilter);
            //TableModel model = new BibTexModel();
           String[] columnNames = {
                            "First Name",
                            "Last Name",
                            "Sport",
                            "# of Years",
                            "Vegetarian"
             };
           Object[][] data = {
                {"Kathy", "Smith",
                 "Snowboarding", new Integer(5), new Boolean(false)},
                {"John", "Doe",
                 "Rowing", new Integer(3), new Boolean(true)},
                {"Sue", "Black",
                 "Knitting", new Integer(2), new Boolean(false)},
                {"Jane", "White",
                 "Speed reading", new Integer(20), new Boolean(true)},
                {"Joe", "Brown",
                 "Pool", new Integer(10), new Boolean(false)}
};
            JTable table = new JTable(data, columnNames);
            JScrollPane scrollPane = new JScrollPane(table);
            table.setFillsViewportHeight(true);
            panel.add(table);
Volatil3
  • 14,253
  • 38
  • 134
  • 263

1 Answers1

6

You need to add scrollPane to panel instead of adding table to panel.

JTable table = new JTable(data, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true);
panel.add(scrollPane);
Kevin Workman
  • 41,537
  • 9
  • 68
  • 107