package org.jhove2.module.assess; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JScrollPane; import java.awt.BorderLayout; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JTable; import javax.swing.JPanel; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableModel; import javax.swing.ButtonGroup; import java.awt.GridBagLayout; import java.awt.GridBagConstraints; import javax.swing.JTextField; import java.awt.Insets; import javax.swing.BoxLayout; public class RuleSetConfigurator { private JFrame frmRulesetConfigurator; private JTable tableRules; private final ButtonGroup buttonGroup = new ButtonGroup(); private JTextField textName; private JTextField textDescription; private JTextField textObjectFilter; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { RuleSetConfigurator window = new RuleSetConfigurator(); window.frmRulesetConfigurator.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public RuleSetConfigurator() { initialize(); } /** * Initialize the contents of the frame. */ private void initialize() { frmRulesetConfigurator = new JFrame(); frmRulesetConfigurator.setTitle("RuleSet Configurator"); frmRulesetConfigurator.setBounds(100, 100, 442, 300); frmRulesetConfigurator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panelMetadata = new JPanel(); frmRulesetConfigurator.getContentPane().add(panelMetadata, BorderLayout.NORTH); GridBagLayout gbl_panelMetadata = new GridBagLayout(); gbl_panelMetadata.columnWidths = new int[]{0, 0, 0}; gbl_panelMetadata.rowHeights = new int[]{0, 0, 0, 0, 0, 0}; gbl_panelMetadata.columnWeights = new double[]{1.0, 1.0, Double.MIN_VALUE}; gbl_panelMetadata.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE}; panelMetadata.setLayout(gbl_panelMetadata); JLabel lblName = new JLabel("Name:"); GridBagConstraints gbc_lblName = new GridBagConstraints(); gbc_lblName.anchor = GridBagConstraints.EAST; gbc_lblName.insets = new Insets(0, 0, 5, 5); gbc_lblName.gridx = 0; gbc_lblName.gridy = 1; panelMetadata.add(lblName, gbc_lblName); textName = new JTextField(); GridBagConstraints gbc_textName = new GridBagConstraints(); gbc_textName.insets = new Insets(0, 0, 5, 0); gbc_textName.fill = GridBagConstraints.HORIZONTAL; gbc_textName.gridx = 1; gbc_textName.gridy = 1; panelMetadata.add(textName, gbc_textName); textName.setColumns(40); JLabel lblDescription = new JLabel("Description:"); GridBagConstraints gbc_lblDescription = new GridBagConstraints(); gbc_lblDescription.anchor = GridBagConstraints.EAST; gbc_lblDescription.insets = new Insets(0, 0, 5, 5); gbc_lblDescription.gridx = 0; gbc_lblDescription.gridy = 2; panelMetadata.add(lblDescription, gbc_lblDescription); textDescription = new JTextField(); GridBagConstraints gbc_textDescription = new GridBagConstraints(); gbc_textDescription.insets = new Insets(0, 0, 5, 0); gbc_textDescription.fill = GridBagConstraints.HORIZONTAL; gbc_textDescription.gridx = 1; gbc_textDescription.gridy = 2; panelMetadata.add(textDescription, gbc_textDescription); textDescription.setColumns(40); JLabel lblObjectFilter = new JLabel("Object Filter:"); GridBagConstraints gbc_lblObjectFilter = new GridBagConstraints(); gbc_lblObjectFilter.anchor = GridBagConstraints.EAST; gbc_lblObjectFilter.insets = new Insets(0, 0, 5, 5); gbc_lblObjectFilter.gridx = 0; gbc_lblObjectFilter.gridy = 3; panelMetadata.add(lblObjectFilter, gbc_lblObjectFilter); textObjectFilter = new JTextField(); GridBagConstraints gbc_textObjectFilter = new GridBagConstraints(); gbc_textObjectFilter.insets = new Insets(0, 0, 5, 0); gbc_textObjectFilter.fill = GridBagConstraints.HORIZONTAL; gbc_textObjectFilter.gridx = 1; gbc_textObjectFilter.gridy = 3; panelMetadata.add(textObjectFilter, gbc_textObjectFilter); textObjectFilter.setColumns(10); JPanel panelRules = new JPanel(); frmRulesetConfigurator.getContentPane().add(panelRules, BorderLayout.CENTER); panelRules.setLayout(new BorderLayout(0, 0)); JLabel lblRules = new JLabel("Rules"); lblRules.setHorizontalAlignment(SwingConstants.CENTER); panelRules.add(lblRules, BorderLayout.NORTH); JPanel panelRuleTable = new JPanel(); panelRules.add(panelRuleTable); panelRuleTable.setLayout(new BorderLayout(0, 0)); JScrollPane scrollPaneRuleTable = new JScrollPane(); panelRuleTable.add(scrollPaneRuleTable); tableRules = new JTable(); tableRules.setModel(new DefaultTableModel( new Object[][] { {null, null}, }, new String[] { "Name", "Description" } )); tableRules.getColumnModel().getColumn(0).setPreferredWidth(30); scrollPaneRuleTable.setViewportView(tableRules); JPanel panelButtons = new JPanel(); frmRulesetConfigurator.getContentPane().add(panelButtons, BorderLayout.SOUTH); JButton btnAddRule = new JButton("Add Rule"); buttonGroup.add(btnAddRule); panelButtons.add(btnAddRule); JButton btnEditRule = new JButton("Edit Rule"); buttonGroup.add(btnEditRule); panelButtons.add(btnEditRule); JButton btnDeleteRule = new JButton("Delete Rule"); buttonGroup.add(btnDeleteRule); panelButtons.add(btnDeleteRule); } }