Gui improvement:

Mnemonics for buttons added.
Now user can expand/collapse tree node using ENTER.
This commit is contained in:
Oleg Sukhodolsky 2003-09-07 17:50:10 +00:00
parent e21177aefe
commit 3bee3800f4
2 changed files with 26 additions and 0 deletions

View File

@ -36,10 +36,14 @@ package com.puppycrawl.tools.checkstyle.gui;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.util.EventObject;
import javax.swing.Action;
import javax.swing.AbstractAction;
import javax.swing.JTable;
import javax.swing.JTree;
import javax.swing.KeyStroke;
import javax.swing.ListSelectionModel;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
@ -101,6 +105,23 @@ public class JTreeTable extends JTable
// Metal looks better like this.
setRowHeight(getRowHeight());
}
Action expand = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
TreePath selected = tree.getSelectionPath();
if (tree.isExpanded(selected)) {
tree.collapsePath(selected);
}
else {
tree.expandPath(selected);
}
tree.setSelectionPath(selected);
}
};
KeyStroke stroke = KeyStroke.getKeyStroke("ENTER");
String command = "expand/collapse";
getInputMap().put(stroke, command);
getActionMap().put(command, expand);
}
/**
@ -296,6 +317,7 @@ public class JTreeTable extends JTable
}
}
}
return false;
}
}

View File

@ -23,6 +23,7 @@ import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.IOException;
import java.util.TooManyListenersException;
@ -34,6 +35,7 @@ import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.filechooser.FileFilter;
@ -79,6 +81,7 @@ public class ParseTreeInfoPanel extends JPanel
public FileSelectionAction()
{
super("Select Java File");
putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_S));
}
public void actionPerformed(ActionEvent e)
@ -99,6 +102,7 @@ public class ParseTreeInfoPanel extends JPanel
public ReloadAction()
{
super("Reload Java File");
putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_R));
}
public void actionPerformed(ActionEvent e)