开发者

Java Swing Table questions

Hey guys, working on an event calendar. I'm having some trouble getting my column heads to display.. here is the code

private JTable calendarTable;
private DefaultTableModel calendarTableModel; 

final private String [] days = {"Sunday", "Monday", "Tuesday",
                                    "Wednesday", "Thursday", "Friday",
                                    "Saturday"};
//////////////////////////////////////////////////////////////////////
/* Setup the actual calendar table */


calendarTableModel = new DefaultTableModel() {
    public boolean isCellEditable(int row, int col){
             return false;
    }
};

// setup columns
for(int i = 0; i < 7; i++)
    calendarTableModel.addColumn(days[i]); 

calendarTable = new JTable(calendarTableModel);

calendarTable.getTableHeader().setResizingAllowed(false);
calendarTable.getTableHeader().setReorderingAllowed(false);

calendarTable.setColumnSelectionAllowed(true);
calendarTable.setRowSelectionAllowed(true);
calendarTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

calendarTable.setRowHeight(105开发者_如何学C);
calendarTableModel.setColumnCount(7);
calendarTableModel.setRowCount(6);

Also, Im sort of new with tables.. how can I make the rowHeight split between the max size of the table?


Table header

Either put calendarTable in a JScrollPane, or add calendarTable.getTableHeader() as well.

Row height

Add a listener to change row height whenever the table is resized.

calendarTable.addComponentListener(new ComponentAdapter() {
    public void componentResized(ComponentEvent evt) {
        if (evt.getID() == ComponentEvent.COMPONENT_RESIZED) {
            calendarTable.setRowHeight(calendarTable.getHeight() / calendarTable.getRowCount());
        }
    }
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜