java swing插件JTable的标题及宽度设置

标题设置为外部配置文件控制,可更改

 

先从配置文件中按顺序读出来,将标题组合发送到前台页面类

其中columns为标题排列的顺序

    public Map readTableHeader(){
        Map headerMap = new HashMap<>();
        Properties properties = new Properties();
        try {
            Reader reader = new InputStreamReader(new FileInputStream(filePath),"UTF-8");
            properties.load(reader);
            headerMap.put("Column1",properties.getProperty("Column1"));
            headerMap.put("Column2",properties.getProperty("Column2"));
            headerMap.put("Column3",properties.getProperty("Column3"));
            headerMap.put("Column4",properties.getProperty("Column4"));
            headerMap.put("Column5",properties.getProperty("Column5"));
            headerMap.put("columns",properties.getProperty("columns"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return headerMap;
    }

 

前台页面接收并且根据顺序排好序

//读取配置
propertiesHandler = new PropertiesHandler();
talbeHeaderMap = propertiesHandler.readTableHeader();
names = talbeHeaderMap.get("columns").split(",");
identifyName = talbeHeaderMap.get("Column1");
columnName1 = talbeHeaderMap.get("Column2");
columnName2 = talbeHeaderMap.get("Column3");
columnName3 =talbeHeaderMap.get("Column4"); 
columnName4 = talbeHeaderMap.get("Column5");
columnMap = new HashMap<>();
dataTable = new JTable();
//组织表格
vName = new Vector();
for(int i =0;i

由于此时宽度是平均得,有的列我需要更宽一些,而也有一些用不到这么宽,

可以在页面上面手动拖动,但是数据一刷新上去就又恢复默认了,所以最后找了大神

方法如下:

        dataTable.getColumnModel().getColumn(0).setPreferredWidth(400);
        dataTable.getColumnModel().getColumn(1).setPreferredWidth(150);
        dataTable.getColumnModel().getColumn(2).setPreferredWidth(150);
        dataTable.getColumnModel().getColumn(3).setPreferredWidth(150);
        dataTable.getColumnModel().getColumn(4).setPreferredWidth(1500);

 

 

 

 

 

 

你可能感兴趣的:(java)