Changeset 16940 in josm
- Timestamp:
- 2020-08-26T23:18:46+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/gpx/ChooseTrackVisibilityAction.java
r16625 r16940 13 13 import java.awt.event.MouseEvent; 14 14 import java.awt.event.MouseListener; 15 import java.io.Serializable;16 15 import java.util.Arrays; 17 16 import java.util.Comparator; … … 34 33 import javax.swing.ListSelectionModel; 35 34 import javax.swing.event.TableModelEvent; 35 import javax.swing.table.DefaultTableCellRenderer; 36 36 import javax.swing.table.DefaultTableModel; 37 37 import javax.swing.table.TableCellRenderer; … … 75 75 76 76 /** 77 * Class to format a length according to SystemOfMesurement.78 */79 private static final class TrackLength {80 private final double value;81 82 /**83 * Constructs a new {@code TrackLength} object with a given length.84 * @param value length of the track85 */86 TrackLength(double value) {87 this.value = value;88 }89 90 /**91 * Provides string representation.92 * @return String representation depending of SystemOfMeasurement93 */94 @Override95 public String toString() {96 return SystemOfMeasurement.getSystemOfMeasurement().getDistText(value);97 }98 }99 100 /**101 * Comparator for TrackLength objects102 */103 private static final class LengthContentComparator implements Comparator<TrackLength>, Serializable {104 105 private static final long serialVersionUID = 1L;106 107 /**108 * Compare 2 TrackLength objects relative to the real length109 */110 @Override111 public int compare(TrackLength l0, TrackLength l1) {112 return Double.compare(l0.value, l1.value);113 }114 }115 116 /**117 77 * Gathers all available data for the tracks and returns them as array of arrays 118 78 * in the expected column order. … … 127 87 String desc = (String) Optional.ofNullable(attr.get(GpxConstants.GPX_DESC)).orElse(""); 128 88 String time = GpxLayer.getTimespanForTrack(trk); 129 TrackLength length = new TrackLength(trk.length());130 89 String url = (String) Optional.ofNullable(attr.get("url")).orElse(""); 131 tracks[i] = new Object[]{name, desc, time, length, url, trk};90 tracks[i] = new Object[]{name, desc, time, trk.length(), url, trk}; 132 91 i++; 133 92 } … … 179 138 t.setRowSorter(rowSorter); 180 139 rowSorter.setModel(model); 181 rowSorter.setComparator(3, new LengthContentComparator());140 rowSorter.setComparator(3, Comparator.comparingDouble(length -> (double) length)); 182 141 // default column widths 183 142 t.getColumnModel().getColumn(0).setPreferredWidth(220); … … 185 144 t.getColumnModel().getColumn(2).setPreferredWidth(200); 186 145 t.getColumnModel().getColumn(3).setPreferredWidth(50); 146 t.getColumnModel().getColumn(3).setCellRenderer(new DefaultTableCellRenderer() { 147 @Override 148 public Component getTableCellRendererComponent( 149 JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { 150 value = SystemOfMeasurement.getSystemOfMeasurement().getDistText((Double) value); 151 return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 152 } 153 }); 187 154 t.getColumnModel().getColumn(4).setPreferredWidth(100); 188 155 // make the link clickable
Note:
See TracChangeset
for help on using the changeset viewer.