如何更改自定义表模型的列标题本地化

时间:2019-03-28 19:24:58

标签: java resourcebundle abstracttablemodel

我有一个扩展AbstractTableModel的表模型,并创建了一种更改标题的方法

public void ChangeHeader(Locale l){
        ResourceBundle r = ResourceBundle.getBundle("newpackage/Bundle", l);
        this.Column[1] = r.getString("TableModel.header1.text");
        this.Column[2] = r.getString("TableModel.header2.text");
        this.Column[3] = r.getString("TableModel.header3.text");
\\      System.out.println(r.getString("TableModel.header1.text"));
    }

我没有几个按钮可以更改标题,但是由于它们都是相同的,所以我只显示一个,这是我在JFrame中执行ActionPerformed的方法,

private void jButtonVNActionPerformed(java.awt.event.ActionEvent evt) {                                          
        Locale l = new Locale("vi", "VN");
        ResourceBundle r = ResourceBundle.getBundle("newpackage/Bundle", l);
        tableModel.ChangeHeader(l);
        jTable1.updateUI();
    }

问题是,它确实打印出标题的名称,但在表中没有更改

1 个答案:

答案 0 :(得分:0)

nvm我找到了解决方案,不需要在表模型中创建方法,只需要在ActionPerformed方法中先getTableHeader()然后setHeaderValue()即可。哑巴