【问题标题】:Jgoodies JTable Binding,SwingJgoodies JTable Binding,Swing
【发布时间】:2012-02-26 15:30:27
【问题描述】:

谁能提供jgoodies Jtable绑定简单示例,使用swing获取扩展Jgoodies Model类的javabeans列表。我找不到一个简单的例子。

提前致谢

【问题讨论】:

标签: swing jgoodies


【解决方案1】:

对于JTable绑定,你需要为你的JTable写一个TableModel

例如,您有一个 java bean,例如

public class Employee {
     private String employeeName;
     private String employeeNumber;

     // And the getters and setters for both the variables
}

创建一个表,

List <Employee> myList = new ArrayList<Employee>(); 
// add few Employee objects to this list and pass it into MyTableModel class
Jtable t1 = new Jtable();
t1.setModel(new MyTableModel(myList));

MyTableModel 类将列表作为参数,它将扩展 com.jgoodies.binding.adapter.AbstractTableAdapter

MyTableModel.java

public class MyTableModel extends AbstractTableAdapter<Employee> {

SelectionInList<Employee> listModel = new SelectionInList<Employee>();

   public SourceCodeFolderTableAdapter(SelectionInList<Employee> listModel) {
     super(listModel, new String [] {"Employee Name","Employee Number"});
     this.listModel = listModel;
   }

    @Override
public Object getValueAt(int rowIndex, int columnIndex) {
    Employee emp = (Employee) getRow(rowIndex);
    if (columnIndex == 0) {
        return emp.getEmployeeName();
    } else if (columnIndex == 1) {
        return emp.getEmployeeNumber();
    } 
}

}

希望这会有所帮助。

【讨论】:

  • 这段代码无法编译。将“else if (columnIndex == 1)”改为“else”。
  • 还应该将一个新的 SelectionInList 对象(不仅仅是 List)传递给 MyTableModel 构造函数。
猜你喜欢
  • 2013-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多