X-Git-Url: https://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2Fdistance%2FDistanceFunction.java;h=5fe6e7e7d9e307d901ad25c23b2a4ea021acc3d3;hb=4d5796d02a15808311c09448d79e6e7d1de9d636;hp=b41ab8bc5d012469607ff552b864443707b38dfd;hpb=54b9d8bc8f0025ccf97a67d9dd217ef1f9cf082f;p=GpsPrune.git diff --git a/tim/prune/function/distance/DistanceFunction.java b/tim/prune/function/distance/DistanceFunction.java index b41ab8b..5fe6e7e 100644 --- a/tim/prune/function/distance/DistanceFunction.java +++ b/tim/prune/function/distance/DistanceFunction.java @@ -7,6 +7,8 @@ import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; import java.util.ArrayList; import javax.swing.BorderFactory; @@ -112,12 +114,28 @@ public class DistanceFunction extends GenericFunction // second table for distances _distModel = new DistanceTableModel(); JTable distTable = new JTable(_distModel); - distTable.setAutoCreateRowSorter(true); + // Use reflection to call distTable.setAutoCreateRowSorter(true) which is new with Java 1.6 + try { + Class d = Class.forName("javax.swing.JTable"); + d.getDeclaredMethod("setAutoCreateRowSorter", new Class[]{Boolean.TYPE}).invoke(distTable, Boolean.TRUE); + } + catch (Exception e) {} scrollPane = new JScrollPane(distTable); scrollPane.setPreferredSize(new Dimension(200, 250)); mainPanel.add(scrollPane); dialogPanel.add(mainPanel, BorderLayout.CENTER); + // close window if escape pressed + KeyAdapter escListener = new KeyAdapter() { + public void keyReleased(KeyEvent inE) { + if (inE.getKeyCode() == KeyEvent.VK_ESCAPE) { + _dialog.dispose(); + } + } + }; + _pointTable.addKeyListener(escListener); + distTable.addKeyListener(escListener); + // button panel at bottom JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));