|
@@ -58,6 +58,7 @@ import com.dmdirc.ui.interfaces.Window;
|
58
|
58
|
import com.dmdirc.ui.messages.Formatter;
|
59
|
59
|
import com.dmdirc.util.URLHandler;
|
60
|
60
|
|
|
61
|
+import java.awt.Container;
|
61
|
62
|
import java.awt.Dimension;
|
62
|
63
|
import java.awt.Point;
|
63
|
64
|
import java.awt.event.KeyEvent;
|
|
@@ -75,13 +76,13 @@ import java.nio.charset.UnsupportedCharsetException;
|
75
|
76
|
import java.util.Date;
|
76
|
77
|
import java.util.LinkedList;
|
77
|
78
|
import java.util.List;
|
78
|
|
-
|
79
|
79
|
import java.util.concurrent.atomic.AtomicBoolean;
|
80
|
80
|
import javax.swing.BorderFactory;
|
81
|
81
|
import javax.swing.JComponent;
|
82
|
82
|
import javax.swing.JInternalFrame;
|
83
|
83
|
import javax.swing.JMenu;
|
84
|
84
|
import javax.swing.JMenuItem;
|
|
85
|
+import javax.swing.JPanel;
|
85
|
86
|
import javax.swing.JPopupMenu;
|
86
|
87
|
import javax.swing.JSeparator;
|
87
|
88
|
import javax.swing.KeyStroke;
|
|
@@ -93,6 +94,9 @@ import javax.swing.event.InternalFrameListener;
|
93
|
94
|
import javax.swing.plaf.basic.BasicInternalFrameUI;
|
94
|
95
|
import javax.swing.plaf.synth.SynthLookAndFeel;
|
95
|
96
|
|
|
97
|
+import net.miginfocom.layout.PlatformDefaults;
|
|
98
|
+import net.miginfocom.swing.MigLayout;
|
|
99
|
+
|
96
|
100
|
/**
|
97
|
101
|
* Implements a generic (internal) frame.
|
98
|
102
|
*/
|
|
@@ -129,6 +133,8 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
129
|
133
|
private SwingController controller;
|
130
|
134
|
/** Are we maximising/restoring? */
|
131
|
135
|
private AtomicBoolean maximiseRestoreInProgress = new AtomicBoolean(false);
|
|
136
|
+ /** Content pane. */
|
|
137
|
+ private final JPanel panel;
|
132
|
138
|
|
133
|
139
|
/** Click types. */
|
134
|
140
|
public enum MouseClickType {
|
|
@@ -208,6 +214,15 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
208
|
214
|
config.addChangeListener("ui", "frameBufferSize", this);
|
209
|
215
|
|
210
|
216
|
addPropertyChangeListener("maximum", this);
|
|
217
|
+
|
|
218
|
+ panel = new JPanel(new MigLayout("fill"));
|
|
219
|
+ super.getContentPane().add(panel);
|
|
220
|
+ }
|
|
221
|
+
|
|
222
|
+ /** {@inheritDoc} */
|
|
223
|
+ @Override
|
|
224
|
+ public Container getContentPane() {
|
|
225
|
+ return panel;
|
211
|
226
|
}
|
212
|
227
|
|
213
|
228
|
/**
|
|
@@ -567,6 +582,7 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
567
|
582
|
/** {@inheritDoc} */
|
568
|
583
|
@Override
|
569
|
584
|
public void run() {
|
|
585
|
+ panel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
|
570
|
586
|
setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
|
571
|
587
|
((BasicInternalFrameUI) getUI()).setNorthPane(null);
|
572
|
588
|
}
|
|
@@ -628,6 +644,10 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
628
|
644
|
}
|
629
|
645
|
|
630
|
646
|
setUI((BasicInternalFrameUI) temp);
|
|
647
|
+ final int size = (int) PlatformDefaults.getPanelInsets(0).
|
|
648
|
+ getValue();
|
|
649
|
+ panel.setBorder(BorderFactory.createEmptyBorder(size, size,
|
|
650
|
+ size, size));
|
631
|
651
|
}
|
632
|
652
|
});
|
633
|
653
|
}
|