View Javadoc
1 package net.sourceforge.pmd.swingui; 2 3 import net.sourceforge.pmd.PMDDirectory; 4 import net.sourceforge.pmd.PMDException; 5 6 import javax.swing.JButton; 7 import javax.swing.JDialog; 8 import javax.swing.JFrame; 9 import javax.swing.JPanel; 10 import javax.swing.JScrollPane; 11 import javax.swing.JSplitPane; 12 import javax.swing.UIManager; 13 import java.awt.BorderLayout; 14 import java.awt.Color; 15 import java.awt.event.ActionEvent; 16 import java.awt.event.ActionListener; 17 import java.io.File; 18 19 /*** 20 * 21 * @author Donald A. Leckie 22 * @since August 29, 2002 23 * @version $Revision: 1.11 $, $Date: 2003/05/28 18:08:35 $ 24 */ 25 class RulesClassSelectDialog extends JDialog { 26 27 private DirectoryTree m_tree; 28 private DirectoryTable m_table; 29 private JSplitPane m_splitPane; 30 private JScrollPane m_treeScrollPane; 31 private JScrollPane m_tableScrollPane; 32 private File m_selectedClassFile; 33 private boolean m_selectWasPressed; 34 35 /*** 36 ******************************************************************************* 37 * 38 * @param parentWindow 39 */ 40 protected RulesClassSelectDialog(JFrame parentWindow) throws PMDException { 41 super(parentWindow, "Rules Class File Selector", true); 42 43 setSize(ComponentFactory.adjustWindowSize(1200, 800)); 44 setLocationRelativeTo(PMDViewer.getViewer()); 45 setResizable(true); 46 setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); 47 createDirectoryTreeScrollPane(); 48 createDirectoryTableScrollPane(); 49 createDirectorySplitPane(); 50 buildTree(); 51 JPanel buttonPanel = createButtonPanel(); 52 JPanel contentPanel = new JPanel(new BorderLayout()); 53 contentPanel.add(m_splitPane, BorderLayout.CENTER); 54 contentPanel.add(buttonPanel, BorderLayout.SOUTH); 55 56 getContentPane().add(contentPanel); 57 } 58 59 /*** 60 ********************************************************************************* 61 * 62 */ 63 private void createDirectoryTreeScrollPane() { 64 Color background; 65 66 m_tree = new DirectoryTree("Rules Repository"); 67 m_treeScrollPane = ComponentFactory.createScrollPane(m_tree); 68 background = UIManager.getColor("pmdTreeBackground"); 69 70 m_treeScrollPane.getViewport().setBackground(background); 71 } 72 73 /*** 74 ********************************************************************************* 75 * 76 */ 77 private void createDirectoryTableScrollPane() { 78 Color background; 79 80 m_table = new DirectoryTable(m_tree, ".class"); 81 m_tableScrollPane = ComponentFactory.createScrollPane(m_table); 82 background = UIManager.getColor("pmdTableBackground"); 83 84 m_tableScrollPane.getViewport().setBackground(background); 85 } 86 87 /*** 88 ********************************************************************************* 89 * 90 */ 91 private void createDirectorySplitPane() { 92 m_splitPane = ComponentFactory.createHorizontalSplitPane(m_treeScrollPane, m_tableScrollPane); 93 } 94 95 /*** 96 ******************************************************************************* 97 * 98 */ 99 private void buildTree() throws PMDException { 100 PMDDirectory pmdDirectory = PMDDirectory.getDirectory(); 101 String rulesDirectoryPath = pmdDirectory.getRuleSetsDirectoryPath(); 102 File[] rulesDirectory = {new File(rulesDirectoryPath)}; 103 ((DirectoryTreeModel) m_tree.getModel()).setupFiles(rulesDirectory); 104 m_tree.expandRootNode(); 105 } 106 107 /*** 108 ******************************************************************************* 109 * 110 */ 111 private JPanel createButtonPanel() { 112 ActionListener selectActionListener = new SelectButtonActionListener(); 113 ActionListener cancelActionListener = new CancelButtonActionListener(); 114 JPanel buttonPanel = ComponentFactory.createButtonPanel(); 115 JButton selectButton = ComponentFactory.createSaveButton(selectActionListener); 116 JButton cancelButton = ComponentFactory.createCancelButton(cancelActionListener); 117 selectButton.setText("Select"); 118 buttonPanel.add(selectButton); 119 buttonPanel.add(cancelButton); 120 121 return buttonPanel; 122 } 123 124 /*** 125 ******************************************************************************* 126 * 127 * @return 128 */ 129 protected File getSelectedClassFile() { 130 return m_selectedClassFile; 131 } 132 133 /*** 134 ******************************************************************************* 135 * 136 * @return 137 */ 138 protected boolean selectWasPressed() { 139 return m_selectWasPressed; 140 } 141 142 /*** 143 ******************************************************************************* 144 ******************************************************************************* 145 ******************************************************************************* 146 */ 147 private class SelectButtonActionListener implements ActionListener { 148 149 /*** 150 ******************************************************************** 151 * 152 * @param event 153 */ 154 public void actionPerformed(ActionEvent event) { 155 m_selectWasPressed = true; 156 m_selectedClassFile = m_table.getSelectedFile(); 157 RulesClassSelectDialog.this.setVisible(false); 158 } 159 } 160 161 /*** 162 ******************************************************************************* 163 ******************************************************************************* 164 ******************************************************************************* 165 */ 166 private class CancelButtonActionListener implements ActionListener { 167 168 /*** 169 ******************************************************************** 170 * 171 * @param event 172 */ 173 public void actionPerformed(ActionEvent event) { 174 RulesClassSelectDialog.this.setVisible(false); 175 } 176 } 177 }

This page was automatically generated by Maven