Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. package model;
  2.  
  3. import apartmentsapp.Flat;
  4.  
  5. import javax.swing.table.AbstractTableModel;
  6. import java.util.List;
  7.  
  8. /**
  9. * Created by clear on 18.10.2016.
  10. */
  11. public class ApartmentsTableModel extends AbstractTableModel {
  12.  
  13. private String[] columnNames =
  14. {"district", "address", "area (sq.m)", "rooms", "price (USD)"};
  15.  
  16. private List<Flat> flats;
  17.  
  18. public ApartmentsTableModel(List<Flat> flats) {
  19. this.flats = flats;
  20. }
  21.  
  22. @Override
  23. public int getColumnCount() {
  24. return columnNames.length;
  25. }
  26.  
  27. @Override
  28. public String getColumnName(int column) {
  29. return columnNames[column];
  30. }
  31.  
  32. @Override
  33. public int getRowCount() {
  34. return flats.size();
  35. }
  36.  
  37. @Override
  38. public Class<?> getColumnClass(int column) {
  39. Class clazz = String.class;
  40.  
  41. if (column == 3) {
  42. clazz = Integer.class;
  43. } else if (column == 2 || column == 4) {
  44. clazz = Double.class;
  45. } else {
  46. clazz = String.class;
  47. }
  48. return clazz;
  49. }
  50.  
  51. @Override
  52. public boolean isCellEditable(int row, int column) {
  53. return false;
  54. }
  55.  
  56. @Override
  57. public Object getValueAt(int row, int column) {
  58. Flat item = getFlatItem(row);
  59.  
  60. switch (column) {
  61. case 0:
  62. return item.getDistrict();
  63. case 1:
  64. return item.getAddress();
  65. case 2:
  66. return item.getArea();
  67. case 3:
  68. return item.getRooms();
  69. case 4:
  70. return item.getPrice();
  71. default:
  72. return null;
  73. }
  74. }
  75.  
  76. @Override
  77. public void setValueAt(Object value, int row, int column) {
  78. Flat item = getFlatItem(row);
  79. switch (column) {
  80. case 0:
  81. item.setDistrict((String) value);
  82. break;
  83. case 1:
  84. item.setAddress((String) value);
  85. break;
  86. case 2:
  87. item.setArea((Double) value);
  88. break;
  89. case 3:
  90. item.setRooms((Integer) value);
  91. break;
  92. case 4:
  93. item.setPrice((Double) value);
  94. break;
  95. }
  96. fireTableCellUpdated(row, column);
  97. }
  98.  
  99. public Flat getFlatItem(int row) {
  100. return flats.get(row);
  101. }
  102.  
  103. public void addFlatItem(Flat flat) {
  104. insertFlatItem(getRowCount(), flat);
  105. }
  106.  
  107. public void addFlatItems(List<Flat> tempItems) {
  108. int rowCount = getRowCount();
  109. flats.addAll(tempItems);
  110. fireTableRowsInserted(rowCount, getRowCount() - 1);
  111. }
  112.  
  113. public void clearAllItems() {
  114. flats.clear();
  115. fireTableRowsDeleted(0, getRowCount());
  116. }
  117.  
  118. public void insertFlatItem(int row, Flat order) {
  119. flats.add(row, order);
  120. fireTableRowsInserted(row, row);
  121. }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement