Center windows, change custom expression logpanel text field to a textarea
git-svn-id: https://svn.apache.org/repos/asf/logging/chainsaw/trunk@954712 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
index f0fe9a7..e012336 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
@@ -48,6 +48,7 @@
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
+import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
@@ -650,7 +651,7 @@
Action createExpressionPanel =
new AbstractAction("", ChainsawIcons.ICON_HELP) {
public void actionPerformed(ActionEvent arg0) {
- dialog.setVisible(true);
+ LogPanel.centerAndSetVisible(dialog);
}
};
@@ -1051,10 +1052,10 @@
panel.add(
new JLabel("Enter expression for new tab: "), BorderLayout.NORTH);
- final JTextField textField = new JTextField();
- textField.addKeyListener(
- new ExpressionRuleContext(new FilterModel(), textField));
- panel.add(textField, BorderLayout.CENTER);
+ final JTextArea textArea = new JTextArea(4, 75);
+ textArea.addKeyListener(
+ new ExpressionRuleContext(new FilterModel(), textArea));
+ panel.add(textArea, BorderLayout.CENTER);
JButton ok = new JButton("OK");
JButton close = new JButton("Close");
@@ -1067,7 +1068,7 @@
ok.addActionListener(
new AbstractAction() {
public void actionPerformed(ActionEvent evt) {
- logui.createCustomExpressionLogPanel(textField.getText());
+ logui.createCustomExpressionLogPanel(textArea.getText());
SwingUtilities.getAncestorOfClass(JDialog.class, panel).setVisible(
false);
}
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
index 39170c6..2fd5597 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
@@ -29,6 +29,7 @@
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Toolkit;
+import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
@@ -1931,7 +1932,15 @@
* Display the panel preferences frame
*/
void showPreferences() {
- logPanelPreferencesFrame.setVisible(true);
+ //don't pack this frame
+ centerAndSetVisible(logPanelPreferencesFrame);
+ }
+
+ public static void centerAndSetVisible(Window window) {
+ Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+ window.setLocation(new Point((screenDimension.width / 2) - (window.getSize().width / 2),
+ (screenDimension.height / 2) - (window.getSize().height / 2)));
+ window.setVisible(true);
}
/**
@@ -1940,7 +1949,7 @@
void showColorPreferences() {
colorPanel.loadLogPanelColorizers();
colorFrame.pack();
- colorFrame.setVisible(true);
+ centerAndSetVisible(colorFrame);
}
/**
diff --git a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
index 2616c7c..b7746ef 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
@@ -321,13 +321,13 @@
Action showIgnoreDialogAction = new AbstractAction("...") {
public void actionPerformed(ActionEvent e) {
- ignoreDialog.setVisible(true);
+ LogPanel.centerAndSetVisible(ignoreDialog);
}
};
Action showIgnoreExpressionDialogAction = new AbstractAction("...") {
public void actionPerformed(ActionEvent e) {
- ignoreExpressionDialog.setVisible(true);
+ LogPanel.centerAndSetVisible(ignoreExpressionDialog);
}
};
showIgnoreDialogAction.putValue(Action.SHORT_DESCRIPTION, "Click to view and manage your hidden/ignored loggers");