简体   繁体   English

JTable列标题的本地化

[英]JTable column headers localization

我有一个javax.swing.table.AbstractTableModel子类,它定义表列标题,如下所示: protected String[] columnNames = new String[] { "Column1", "Column2};如何从资源包中本地化columnNames我想从.properties文件中读取列标题,而不是在代码中对其进行硬编码,是否有更好的方法呢?

You override the getColumnName() in order to return the localized value of the column name. 重写getColumnName()以便返回列名称的本地化值。

For example : 例如 :

private ResourceBundle res = ResourceBundle.getBundle("MyResource");

@Override
public String getColumnName( int column ) {
    return res.getString(columnNames[column]);
}

Easiest way is to modify your assignment of columnNames: 最简单的方法是修改columnNames的分配:

protected String[] columnNames = getColumnNames();
//...
private static String[] getColumnNames() {
  return ResourceBundle.getBundle("AppResources").getString("headings").split(",");
}

Where AppResources (or AppResources_en, AppResources_fr_FR etc.) is a class that extends ResourceBundle and contains a key called "headings" which returns a comma separated list of headings. 其中AppResources(或AppResources_en,AppResources_fr_FR等)是扩展ResourceBundle的类,并包含一个名为“标题”的键,该键返回逗号分隔的标题列表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM