/** Add an event to the model * */ private void addEvent() { mModel.addEvent( new EventDetails( mTimeStamp, mLevel, mCategoryName, mNDC, mThreadName, mMessage, mThrowableStrRep, mLocationDetails)); mNumEvents++; }
/** * Creates a new <code>ControlPanel</code> instance. * * @param aModel the model to control */ ControlPanel(final MyTableModel aModel) { setBorder(BorderFactory.createTitledBorder("Controls: ")); final GridBagLayout gridbag = new GridBagLayout(); final GridBagConstraints c = new GridBagConstraints(); setLayout(gridbag); // Pad everything c.ipadx = 5; c.ipady = 5; // Add the 1st column of labels c.gridx = 0; c.anchor = GridBagConstraints.EAST; c.gridy = 0; JLabel label = new JLabel("Filter Level:"); gridbag.setConstraints(label, c); add(label); c.gridy++; label = new JLabel("Filter Thread:"); gridbag.setConstraints(label, c); add(label); c.gridy++; label = new JLabel("Filter Logger:"); gridbag.setConstraints(label, c); add(label); c.gridy++; label = new JLabel("Filter NDC:"); gridbag.setConstraints(label, c); add(label); c.gridy++; label = new JLabel("Filter Message:"); gridbag.setConstraints(label, c); add(label); // Add the 2nd column of filters c.weightx = 1; // c.weighty = 1; c.gridx = 1; c.anchor = GridBagConstraints.WEST; c.gridy = 0; final Level[] allPriorities = new Level[] {Level.FATAL, Level.ERROR, Level.WARN, Level.INFO, Level.DEBUG, Level.TRACE}; final JComboBox priorities = new JComboBox(allPriorities); final Level lowest = allPriorities[allPriorities.length - 1]; priorities.setSelectedItem(lowest); aModel.setPriorityFilter(lowest); gridbag.setConstraints(priorities, c); add(priorities); priorities.setEditable(false); priorities.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent aEvent) { aModel.setPriorityFilter((Priority) priorities.getSelectedItem()); } }); c.fill = GridBagConstraints.HORIZONTAL; c.gridy++; final JTextField threadField = new JTextField(""); threadField .getDocument() .addDocumentListener( new DocumentListener() { public void insertUpdate(DocumentEvent aEvent) { aModel.setThreadFilter(threadField.getText()); } public void removeUpdate(DocumentEvent aEvente) { aModel.setThreadFilter(threadField.getText()); } public void changedUpdate(DocumentEvent aEvent) { aModel.setThreadFilter(threadField.getText()); } }); gridbag.setConstraints(threadField, c); add(threadField); c.gridy++; final JTextField catField = new JTextField(""); catField .getDocument() .addDocumentListener( new DocumentListener() { public void insertUpdate(DocumentEvent aEvent) { aModel.setCategoryFilter(catField.getText()); } public void removeUpdate(DocumentEvent aEvent) { aModel.setCategoryFilter(catField.getText()); } public void changedUpdate(DocumentEvent aEvent) { aModel.setCategoryFilter(catField.getText()); } }); gridbag.setConstraints(catField, c); add(catField); c.gridy++; final JTextField ndcField = new JTextField(""); ndcField .getDocument() .addDocumentListener( new DocumentListener() { public void insertUpdate(DocumentEvent aEvent) { aModel.setNDCFilter(ndcField.getText()); } public void removeUpdate(DocumentEvent aEvent) { aModel.setNDCFilter(ndcField.getText()); } public void changedUpdate(DocumentEvent aEvent) { aModel.setNDCFilter(ndcField.getText()); } }); gridbag.setConstraints(ndcField, c); add(ndcField); c.gridy++; final JTextField msgField = new JTextField(""); msgField .getDocument() .addDocumentListener( new DocumentListener() { public void insertUpdate(DocumentEvent aEvent) { aModel.setMessageFilter(msgField.getText()); } public void removeUpdate(DocumentEvent aEvent) { aModel.setMessageFilter(msgField.getText()); } public void changedUpdate(DocumentEvent aEvent) { aModel.setMessageFilter(msgField.getText()); } }); gridbag.setConstraints(msgField, c); add(msgField); // Add the 3rd column of buttons c.weightx = 0; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.EAST; c.gridx = 2; c.gridy = 0; final JButton exitButton = new JButton("Exit"); exitButton.setMnemonic('x'); exitButton.addActionListener(ExitAction.INSTANCE); gridbag.setConstraints(exitButton, c); add(exitButton); c.gridy++; final JButton clearButton = new JButton("Clear"); clearButton.setMnemonic('c'); clearButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent aEvent) { aModel.clear(); } }); gridbag.setConstraints(clearButton, c); add(clearButton); c.gridy++; final JButton toggleButton = new JButton("Pause"); toggleButton.setMnemonic('p'); toggleButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent aEvent) { aModel.toggle(); toggleButton.setText(aModel.isPaused() ? "Resume" : "Pause"); } }); gridbag.setConstraints(toggleButton, c); add(toggleButton); }