Setting the height of a row in a JTable in java

前端 未结 4 1635
小蘑菇
小蘑菇 2021-02-19 13:04

I have been searching for a solution to be able to increase the height of a row in a JTable. I have been using the setRowHeight(int int) method which compiles and runs OK, but n

相关标签:
4条回答
  • 2021-02-19 13:46

    Right click on the JTable in JFrame and click Properties. Scroll down and set the rowHeight value.

    0 讨论(0)
  • 2021-02-19 13:51

    You can use:

    table.setRowHeight(int par1);

    or if you wanted to set the row height for a specific row, use:

    table.setRowHeight(int par1, int par2);

    0 讨论(0)
  • 2021-02-19 14:03

    Not sure what is the intention of leaving the first row at index 0 empty. Rows in JTable run from index 0. It is best if you could post a complete example (ie SSCCE) that demonstrates the issues. Compare to this simple example that works OK:

    enter image description here

    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
    
    public class DemoTable {
        private static void createAndShowGUI() {
            JFrame frame = new JFrame("DemoTable");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            DefaultTableModel model = new DefaultTableModel();
            model.setColumnIdentifiers(new Object[] {
                    "Column 1", "Column 2", "Column 3" });
    
            JTable table = new JTable(model);
            for (int count = 0; count < 3; count++){
                model.insertRow(count, new Object[] { count, "name", "age"});
            }
            table.setRowHeight(1, 30);
    
            frame.add(new JScrollPane(table));
            frame.setLocationByPlatform(true);
            frame.pack();
            frame.setVisible(true);
        }
    
        public static void main(String args[]) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
    }
    
    0 讨论(0)
  • 2021-02-19 14:05

    You can also add a tableModelListener?

    model.addTableModelListener(new TableModelListener() {
        @Override public void tableChanged(final TableModelEvent e) {
            EventQueue.invokeLater(new Runnable() {
                @Override public void run() {
                    table.setRowHeight(e.getFirstRow(), 15); //replace 15 with your own height
                }
            });
        }
    });
    
    0 讨论(0)
提交回复
热议问题