我将 JScrollPane 添加到我的 JTable 以及
HORIZONTAL_SCROLLBAR_AS_NEEDED
和VERTICAL_SCROLLBAR_AS_NEEDED
。
并设置 JTable.AUTO_RESIZE_OFF 。但是当我添加一堆列时,列的名称无法正确显示,它们会缩小以适应表格。并且水平卷轴没有显示。
这是代码和它的外观图片:
tableForDay1 = new JTable();
tableForDay1.setBounds(0, 619, 1337, -619);
tableForDay1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
tableForDay1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane scrollBar1 = new JScrollPane (tableForDay1, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollBar1.setVisible(true);
day1.setLayout(new BoxLayout(day1, BoxLayout.X_AXIS));
createColumns(tableForDay1);
这里是我添加的列:(我将表作为参数传递)
private void createColumns(JTable table)
{
//get table model
DefaultTableModel tableModel = new DefaultTableModel();
table.setModel(tableModel);
tableModel.addColumn("אזור");
tableModel.addColumn("מוביל");
tableModel.addColumn("ת.ה");
tableModel.addColumn("מ.ה");
tableModel.addColumn("קוד מוצר");
tableModel.addColumn("יישוב");
tableModel.addColumn("שעת תאום");
tableModel.addColumn("תוספות למוצר");
tableModel.addColumn("כתובת");
tableModel.addColumn("קומה");
tableModel.addColumn("דירה");
tableModel.addColumn("שם הלקוח");
tableModel.addColumn("תאור מוצר");
tableModel.addColumn("פלאפון");
tableModel.addColumn("אישר קשר נוסף");
tableModel.addColumn("פירוט מחיר");
table.getTableHeader().setFont(new Font("Ariel", Font.BOLD, 27));
String[]row = { "something", "something", "something", "something" ,
"something" , "something" , "something" , "something", "something",
"something", "something" , "something" , "something" , "something" };
tableModel.addRow(row);
}
这里是图片:列的名称无法正确显示,列未分配
我该如何解决这个问题?
答案 0 :(得分:2)
getColumnModel().getColumn(0).setPreferredWidth(*insert your width here*);
您必须为每个列执行此操作。