forked from phoedos/pmd
added file chooser
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@2884 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
@@ -70,8 +70,14 @@
|
|||||||
<artifactId>pmd</artifactId>
|
<artifactId>pmd</artifactId>
|
||||||
<version>1.9</version>
|
<version>1.9</version>
|
||||||
<url>http://pmd.sourceforge.net/</url>
|
<url>http://pmd.sourceforge.net/</url>
|
||||||
</dependency>
|
</dependency>-->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
<groupId>commons-cli</groupId>
|
||||||
|
<artifactId>commons-cli</artifactId>
|
||||||
|
<version>1.0</version>
|
||||||
|
<url>http://jakarta.apache.org/commons/cli/</url>
|
||||||
|
</dependency>
|
||||||
|
<!--<dependency>
|
||||||
<groupId>jaxen</groupId>
|
<groupId>jaxen</groupId>
|
||||||
<artifactId>jaxen</artifactId>
|
<artifactId>jaxen</artifactId>
|
||||||
<version>1.1-beta-4</version>
|
<version>1.1-beta-4</version>
|
||||||
|
|||||||
269
pmd-swingui/src/java/net/sourceforge/pmd/swingui/FileLocator.java
Executable file
269
pmd-swingui/src/java/net/sourceforge/pmd/swingui/FileLocator.java
Executable file
@@ -0,0 +1,269 @@
|
|||||||
|
package net.sourceforge.pmd.swingui;
|
||||||
|
|
||||||
|
import java.awt.Container;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Vector;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import javax.swing.AbstractAction;
|
||||||
|
import javax.swing.BoxLayout;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
|
import javax.swing.JList;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.KeyStroke;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a file locator. On the graphics end, it provides a listing of files
|
||||||
|
* as well as list modification controls. On the programming end, it provides
|
||||||
|
* a means for retrieving the list of selected files.
|
||||||
|
*
|
||||||
|
* @author Brant Gurganus
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
public class FileLocator extends TitledPanel {
|
||||||
|
/**
|
||||||
|
* This is the resource bundle for this UI component.
|
||||||
|
*/
|
||||||
|
private static final ResourceBundle UI_STRINGS = ResourceBundle
|
||||||
|
.getBundle("net.sourceforge.pmd.swingui.l10n.FileLocator");
|
||||||
|
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(FileLocator.class
|
||||||
|
.getName(),
|
||||||
|
"net.sourceforge.pmd.swingui.l10n.Logging");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the location list.
|
||||||
|
*/
|
||||||
|
private JList locationList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the location list scroller.
|
||||||
|
*/
|
||||||
|
private JScrollPane locationScroller;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* These are the chosen locations.
|
||||||
|
*/
|
||||||
|
private Vector locations;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the reset button.
|
||||||
|
*/
|
||||||
|
private JButton resetButton;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the reset action.
|
||||||
|
*/
|
||||||
|
private AbstractAction resetAction;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the add button.
|
||||||
|
*/
|
||||||
|
private JButton addButton;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the add action.
|
||||||
|
*/
|
||||||
|
private AbstractAction addAction;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the control panel.
|
||||||
|
*/
|
||||||
|
private JPanel controlPanel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a file locator with default title.
|
||||||
|
*/
|
||||||
|
public FileLocator() {
|
||||||
|
this(UI_STRINGS.getString("title"));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a file locator titled with <code>title</code>.
|
||||||
|
*
|
||||||
|
* @param title title for file locator
|
||||||
|
*/
|
||||||
|
public FileLocator(final String title) {
|
||||||
|
super(title);
|
||||||
|
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
|
||||||
|
locationScrollerInit();
|
||||||
|
add(locationScroller);
|
||||||
|
controlPanelInit();
|
||||||
|
add(controlPanel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the location list scroller.
|
||||||
|
*/
|
||||||
|
private void locationScrollerInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "locationScrollerInit");
|
||||||
|
assert locationScroller == null :
|
||||||
|
"locationScroller already initialized.";
|
||||||
|
locationListInit();
|
||||||
|
locationScroller = new JScrollPane(locationList);
|
||||||
|
LOGGER.exiting(getClass().getName(), "locationScrollerInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the location list.
|
||||||
|
*
|
||||||
|
* @todo determine if an initial capacity or increment should be used
|
||||||
|
*/
|
||||||
|
private void locationListInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "locationListInit");
|
||||||
|
assert locationList == null : "locationList already initalized.";
|
||||||
|
locations = new Vector();
|
||||||
|
locationList = new JList(locations);
|
||||||
|
LOGGER.exiting(getClass().getName(), "locationListInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the control panel.
|
||||||
|
*/
|
||||||
|
private void controlPanelInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "controlPanelInit");
|
||||||
|
assert controlPanel == null : "controlPanel already initialized.";
|
||||||
|
controlPanel = new JPanel();
|
||||||
|
controlPanel.setLayout(new BoxLayout(controlPanel, BoxLayout.X_AXIS));
|
||||||
|
resetButtonInit();
|
||||||
|
controlPanel.add(resetButton);
|
||||||
|
addButtonInit();
|
||||||
|
controlPanel.add(addButton);
|
||||||
|
LOGGER.exiting(getClass().getName(), "controlPanelInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the add button.
|
||||||
|
*/
|
||||||
|
private void addButtonInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "addButtonInit");
|
||||||
|
assert addButton == null : "addButton already initialized.";
|
||||||
|
addActionInit();
|
||||||
|
addButton = new JButton(addAction);
|
||||||
|
LOGGER.exiting(getClass().getName(), "addButtonInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the add action.
|
||||||
|
*/
|
||||||
|
private void addActionInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "addActionInit");
|
||||||
|
assert addAction == null : "addAction already initialized.";
|
||||||
|
addAction = new AbstractAction(UI_STRINGS.getString("add")) {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
LOGGER.entering(getClass().getName(), "actionPerformed", e);
|
||||||
|
assert e.getActionCommand().equals(getValue(ACTION_COMMAND_KEY))
|
||||||
|
: "event source unexpected";
|
||||||
|
promptForFiles();
|
||||||
|
LOGGER.exiting(getClass().getName(), "actionPerformed");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
addAction.putValue(addAction.ACTION_COMMAND_KEY, "add");
|
||||||
|
addAction.putValue(addAction.ACCELERATOR_KEY,
|
||||||
|
KeyStroke.getKeyStroke(UI_STRINGS
|
||||||
|
.getString("add.accelerator")));
|
||||||
|
addAction.putValue(addAction.MNEMONIC_KEY, Integer
|
||||||
|
.valueOf(PMDViewer.translateKey(UI_STRINGS
|
||||||
|
.getString("add.mnemonic"))));
|
||||||
|
addAction.putValue(addAction.SHORT_DESCRIPTION, UI_STRINGS
|
||||||
|
.getString("add.tooltip"));
|
||||||
|
addAction.putValue(addAction.LONG_DESCRIPTION, UI_STRINGS
|
||||||
|
.getString("add.description"));
|
||||||
|
LOGGER.exiting(getClass().getName(), "addActionInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prompts for files.
|
||||||
|
*/
|
||||||
|
private void promptForFiles() {
|
||||||
|
LOGGER.entering(getClass().getName(), "promptForFiles");
|
||||||
|
assert locations != null : "locations not initialized.";
|
||||||
|
assert locationList != null : "locationList not initialized.";
|
||||||
|
assert resetAction != null : "resetAction not initialized.";
|
||||||
|
final JFileChooser fileChooser = new JFileChooser();
|
||||||
|
final JavaFileFilter filter = new JavaFileFilter();
|
||||||
|
fileChooser.setFileFilter(filter);
|
||||||
|
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
||||||
|
fileChooser.setAcceptAllFileFilterUsed(false);
|
||||||
|
final int returnVal = fileChooser.showOpenDialog(this);
|
||||||
|
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
||||||
|
final File selectedFile = fileChooser.getSelectedFile();
|
||||||
|
locations.add(selectedFile);
|
||||||
|
locationList.setListData(locations);
|
||||||
|
resetAction.setEnabled(true);
|
||||||
|
}
|
||||||
|
LOGGER.exiting(getClass().getName(), "promptForFiles");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the reset button.
|
||||||
|
*/
|
||||||
|
private void resetButtonInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "resetButtonInit");
|
||||||
|
assert resetButton == null : "resetButton already initialized.";
|
||||||
|
resetActionInit();
|
||||||
|
resetButton = new JButton(resetAction);
|
||||||
|
LOGGER.exiting(getClass().getName(), "resetButtonInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the reset action.
|
||||||
|
*/
|
||||||
|
private void resetActionInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "resetActionInit");
|
||||||
|
assert resetAction == null : "resetAction already initialized.";
|
||||||
|
resetAction = new AbstractAction(UI_STRINGS.getString("reset")) {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
LOGGER.entering(getClass().getName(), "actionPerformed", e);
|
||||||
|
assert e.getActionCommand().equals(getValue(ACTION_COMMAND_KEY))
|
||||||
|
: "event source unexpected";
|
||||||
|
resetList();
|
||||||
|
LOGGER.exiting(getClass().getName(), "actionPerformed");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
resetAction.putValue(resetAction.ACTION_COMMAND_KEY, "reset");
|
||||||
|
resetAction.putValue(resetAction.ACCELERATOR_KEY,
|
||||||
|
KeyStroke.getKeyStroke(UI_STRINGS
|
||||||
|
.getString("reset.accelerator")));
|
||||||
|
resetAction.putValue(resetAction.MNEMONIC_KEY, Integer
|
||||||
|
.valueOf(PMDViewer.translateKey(UI_STRINGS
|
||||||
|
.getString("reset.mnemonic"))));
|
||||||
|
resetAction.putValue(resetAction.SHORT_DESCRIPTION, UI_STRINGS
|
||||||
|
.getString("reset.tooltip"));
|
||||||
|
resetAction.putValue(resetAction.LONG_DESCRIPTION, UI_STRINGS
|
||||||
|
.getString("reset.description"));
|
||||||
|
resetAction.setEnabled(false);
|
||||||
|
LOGGER.exiting(getClass().getName(), "resetActionInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the list of files.
|
||||||
|
*
|
||||||
|
* @return copy of list of files
|
||||||
|
*/
|
||||||
|
public Vector getList() {
|
||||||
|
LOGGER.entering(getClass().getName(), "getList");
|
||||||
|
final Vector returnedList = (Vector) locations.clone();
|
||||||
|
LOGGER.exiting(getClass().getName(), "getList", returnedList);
|
||||||
|
return returnedList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets the list.
|
||||||
|
*/
|
||||||
|
private void resetList() {
|
||||||
|
LOGGER.entering(getClass().getName(), "resetList");
|
||||||
|
assert locations != null : "locations is not initialized.";
|
||||||
|
assert locationList != null : "locationList is not initialized.";
|
||||||
|
assert resetAction != null : "resetAction is not initialized.";
|
||||||
|
locations.removeAllElements();
|
||||||
|
locationList.setListData(locations);
|
||||||
|
resetAction.setEnabled(false);
|
||||||
|
LOGGER.exiting(getClass().getName(), "resetList");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@ public class JARFileFilter extends FileFilter {
|
|||||||
* This is the logger for the filter.
|
* This is the logger for the filter.
|
||||||
*/
|
*/
|
||||||
private static final Logger LOGGER = Logger.getLogger(
|
private static final Logger LOGGER = Logger.getLogger(
|
||||||
"net.sourceforge.pmd.swingui.JARFileFilter",
|
JARFileFilter.class.getName(),
|
||||||
"net.sourceforge.pmd.swingui.l10n.Logging");
|
"net.sourceforge.pmd.swingui.l10n.Logging");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -41,8 +41,10 @@ public class JARFileFilter extends FileFilter {
|
|||||||
*/
|
*/
|
||||||
public boolean accept(File f) {
|
public boolean accept(File f) {
|
||||||
LOGGER.entering(getClass().getName(), "accept", f);
|
LOGGER.entering(getClass().getName(), "accept", f);
|
||||||
final boolean acceptable =
|
final boolean acceptableFile = f.getName().endsWith(".jar") &&
|
||||||
f.getName().endsWith(".jar") || f.isDirectory();
|
!f.isDirectory();
|
||||||
|
final boolean acceptableDir = f.isDirectory();
|
||||||
|
final boolean acceptable = acceptableFile || acceptableDir;
|
||||||
LOGGER.exiting(getClass().getName(), "accept",
|
LOGGER.exiting(getClass().getName(), "accept",
|
||||||
Boolean.valueOf(acceptable));
|
Boolean.valueOf(acceptable));
|
||||||
return acceptable;
|
return acceptable;
|
||||||
|
|||||||
67
pmd-swingui/src/java/net/sourceforge/pmd/swingui/JavaFileFilter.java
Executable file
67
pmd-swingui/src/java/net/sourceforge/pmd/swingui/JavaFileFilter.java
Executable file
@@ -0,0 +1,67 @@
|
|||||||
|
package net.sourceforge.pmd.swingui;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import javax.swing.filechooser.FileFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a Java file filter.
|
||||||
|
*
|
||||||
|
* @author Brant Gurganus
|
||||||
|
* @since 0.1
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
public class JavaFileFilter extends FileFilter implements java.io.FileFilter {
|
||||||
|
/**
|
||||||
|
* This is the resource bundle for the filter.
|
||||||
|
*/
|
||||||
|
private static final ResourceBundle UI_STRINGS = ResourceBundle
|
||||||
|
.getBundle("net.sourceforge.pmd.swingui.l10n.JavaFileFilter");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the logger for the filter.
|
||||||
|
*/
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(
|
||||||
|
JavaFileFilter.class.getName(),
|
||||||
|
"net.sourceforge.pmd.swingui.l10n.Logging");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the filter.
|
||||||
|
*/
|
||||||
|
public JavaFileFilter() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates whether the file is accepted by the filter.
|
||||||
|
*
|
||||||
|
* @param f file
|
||||||
|
* @return acceptability
|
||||||
|
*/
|
||||||
|
public boolean accept(File f) {
|
||||||
|
LOGGER.entering(getClass().getName(), "accept", f);
|
||||||
|
final boolean acceptableFile =
|
||||||
|
!f.isDirectory() && f.getName().endsWith(".java");
|
||||||
|
System.out.println(f.isDirectory());
|
||||||
|
System.out.println(f);
|
||||||
|
final boolean acceptableDir =
|
||||||
|
f.isDirectory() && f.listFiles(this).length > 0;
|
||||||
|
final boolean acceptable = acceptableFile || acceptableDir;
|
||||||
|
LOGGER.exiting(getClass().getName(), "accept",
|
||||||
|
Boolean.valueOf(acceptable));
|
||||||
|
return acceptable;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the description of the filter.
|
||||||
|
*
|
||||||
|
* @return description of filter
|
||||||
|
*/
|
||||||
|
public String getDescription() {
|
||||||
|
LOGGER.entering(getClass().getName(), "getDescription");
|
||||||
|
final String description = UI_STRINGS.getString("description");
|
||||||
|
LOGGER.exiting(getClass().getName(), "getDescription", description);
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,25 +24,25 @@ import javax.swing.border.TitledBorder;
|
|||||||
* @version 0.1
|
* @version 0.1
|
||||||
* @since 0.1
|
* @since 0.1
|
||||||
*/
|
*/
|
||||||
class PMDLocator extends JPanel {
|
class PMDLocator extends TitledPanel {
|
||||||
/**
|
/**
|
||||||
* This is the resource bundle for this UI component.
|
* This is the resource bundle for this UI component.
|
||||||
*/
|
*/
|
||||||
private ResourceBundle UI_STRINGS =
|
private static final ResourceBundle UI_STRINGS =
|
||||||
ResourceBundle.getBundle("net.sourceforge.pmd.swingui.l10n.PMDLocator");
|
ResourceBundle.getBundle("net.sourceforge.pmd.swingui.l10n.PMDLocator");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These are the preferences for this component.
|
* These are the preferences for this component.
|
||||||
*/
|
*/
|
||||||
private Preferences PREFS =
|
private static final Preferences PREFS =
|
||||||
Preferences.userNodeForPackage(PMDLocator.class);
|
Preferences.userNodeForPackage(PMDLocator.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the logger for the PMD Locator.
|
* This is the logger for the PMD Locator.
|
||||||
*/
|
*/
|
||||||
private Logger LOGGER =
|
private static final Logger LOGGER = Logger.getLogger(PMDLocator.class
|
||||||
Logger.getLogger("net.sourceforge.pmd.swingui.PMDLocator",
|
.getName(),
|
||||||
"net.sourceforge.pmd.swingui.l10n.Logging");
|
"net.sourceforge.pmd.swingui.l10n.Logging");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the label.
|
* This is the label.
|
||||||
@@ -68,9 +68,8 @@ class PMDLocator extends JPanel {
|
|||||||
* This creates the PMD Locator.
|
* This creates the PMD Locator.
|
||||||
*/
|
*/
|
||||||
public PMDLocator() {
|
public PMDLocator() {
|
||||||
super();
|
super(UI_STRINGS.getString("title"));
|
||||||
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
|
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
|
||||||
setBorder(new TitledBorder(UI_STRINGS.getString("title")));
|
|
||||||
locationFieldInit();
|
locationFieldInit();
|
||||||
locationLabelInit();
|
locationLabelInit();
|
||||||
locationButtonInit();
|
locationButtonInit();
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ class PMDViewer extends JFrame {
|
|||||||
/**
|
/**
|
||||||
* This is the logger.
|
* This is the logger.
|
||||||
*/
|
*/
|
||||||
private static final Logger LOGGER = Logger.getLogger(
|
private static final Logger LOGGER = Logger.getLogger(PMDViewer.class
|
||||||
"net.sourceforge.pmd.swingui.PMDViewer",
|
.getName(),
|
||||||
"net.sourceforge.pmd.swingui.l10n.Logging");
|
"net.sourceforge.pmd.swingui.l10n.Logging");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the application menu bar.
|
* This is the application menu bar.
|
||||||
@@ -67,6 +67,11 @@ class PMDViewer extends JFrame {
|
|||||||
*/
|
*/
|
||||||
private PMDLocator pmdLocator;
|
private PMDLocator pmdLocator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the file locator.
|
||||||
|
*/
|
||||||
|
private FileLocator fileLocator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the PMD Viewer.
|
* Creates the PMD Viewer.
|
||||||
*/
|
*/
|
||||||
@@ -101,9 +106,22 @@ class PMDViewer extends JFrame {
|
|||||||
contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
|
contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
|
||||||
pmdLocatorInit();
|
pmdLocatorInit();
|
||||||
contentPane.add(pmdLocator);
|
contentPane.add(pmdLocator);
|
||||||
|
fileLocatorInit();
|
||||||
|
contentPane.add(fileLocator);
|
||||||
|
pack();
|
||||||
LOGGER.exiting(getClass().getName(), "contentPaneInit");
|
LOGGER.exiting(getClass().getName(), "contentPaneInit");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the file locator.
|
||||||
|
*/
|
||||||
|
private void fileLocatorInit() {
|
||||||
|
LOGGER.entering(getClass().getName(), "fileLocatorInit");
|
||||||
|
assert fileLocator == null : "fileLocator already initialized.";
|
||||||
|
fileLocator = new FileLocator();
|
||||||
|
LOGGER.exiting(getClass().getName(), "fileLocatorInit");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the PMD Locator.
|
* Initializes the PMD Locator.
|
||||||
*/
|
*/
|
||||||
|
|||||||
23
pmd-swingui/src/java/net/sourceforge/pmd/swingui/TitledPanel.java
Executable file
23
pmd-swingui/src/java/net/sourceforge/pmd/swingui/TitledPanel.java
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
package net.sourceforge.pmd.swingui;
|
||||||
|
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.TitledBorder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a titled panel.
|
||||||
|
*
|
||||||
|
* @author Brant Gurganus
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
public class TitledPanel extends JPanel {
|
||||||
|
/**
|
||||||
|
* Creates the titled panel.
|
||||||
|
*
|
||||||
|
* @param title title of panel
|
||||||
|
*/
|
||||||
|
public TitledPanel(String title) {
|
||||||
|
super();
|
||||||
|
setBorder(new TitledBorder(title));
|
||||||
|
}
|
||||||
|
}
|
||||||
12
pmd-swingui/src/java/net/sourceforge/pmd/swingui/l10n/FileLocator.properties
Executable file
12
pmd-swingui/src/java/net/sourceforge/pmd/swingui/l10n/FileLocator.properties
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
# These are localized strings for the File Locator.
|
||||||
|
add = Add
|
||||||
|
add.accelerator = ctrl typed A
|
||||||
|
add.mnemonic = A
|
||||||
|
add.tooltip = Add files to the list.
|
||||||
|
add.description = Prompts for a file or directory to add to the list.
|
||||||
|
reset = Reset
|
||||||
|
reset.accelerator = ctrl typed R
|
||||||
|
reset.mnemonic = R
|
||||||
|
reset.tooltip = Resets the list.
|
||||||
|
reset.description = Clears the location list of all entries.
|
||||||
|
title = Locate Files
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# These are localized strings for the JARFileFilter.
|
||||||
|
description = Java Source Code
|
||||||
@@ -9,6 +9,9 @@
|
|||||||
<action dev="brantgurga" type="add">
|
<action dev="brantgurga" type="add">
|
||||||
Initial working PMD Viewer, not complete.
|
Initial working PMD Viewer, not complete.
|
||||||
</action>
|
</action>
|
||||||
|
<action dev="brantgurga" type="add">
|
||||||
|
Added a file chooser.
|
||||||
|
</action>
|
||||||
</release>
|
</release>
|
||||||
</body>
|
</body>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
Reference in New Issue
Block a user