@@ -29,6 +29,7 @@ import java.awt.event.MouseListener
29
29
import java.text.DecimalFormat
30
30
import java.util.ArrayList
31
31
import java.util.regex.Pattern
32
+ import javax.swing.BorderFactory
32
33
import javax.swing.Box
33
34
import javax.swing.DefaultComboBoxModel
34
35
import javax.swing.JCheckBoxMenuItem
@@ -381,14 +382,23 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
381
382
}
382
383
383
384
private def isWindowsLookAndFeel () {
384
- val laf = UIManager . systemLookAndFeelClassName
385
- if (laf. toLowerCase . contains( " windows " ) ) {
385
+ val laf = UIManager . lookAndFeel ? . name
386
+ if (laf == " Windows " ) {
386
387
return true
387
388
} else {
388
389
return false
389
390
}
390
391
}
391
392
393
+ private def isMacLookAndFeel () {
394
+ val laf = UIManager . lookAndFeel? . name
395
+ if (laf == " Mac OS X" ) {
396
+ return true
397
+ } else {
398
+ return false
399
+ }
400
+ }
401
+
392
402
private def void fixCheckBoxMenuItem (JCheckBoxMenuItem item ) {
393
403
if (windowsLookAndFeel) {
394
404
if (item. selected) {
@@ -934,6 +944,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
934
944
testInfoPanel. add(testProcedureTextField, c)
935
945
// - Description
936
946
val testDescriptionLabel = new JLabel (UtplsqlResources . getString(" RUNNER_DESCRIPTION_LABEL" ))
947
+ testDescriptionLabel. border = BorderFactory . createEmptyBorder(if (macLookAndFeel) {5 } else {3 }, 0 , 0 , 0 )
937
948
c. gridx = 0
938
949
c. gridy = 3
939
950
c. gridwidth = 1
@@ -961,6 +972,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
961
972
testInfoPanel. add(testDescriptionTextArea, c)
962
973
// - Suitepath (id)
963
974
val testIdLabel = new JLabel (UtplsqlResources . getString(" RUNNER_TEST_ID_COLUMN" ))
975
+ testIdLabel. border = BorderFactory . createEmptyBorder(if (macLookAndFeel) {5 } else {3 }, 0 , 0 , 0 )
964
976
c. gridx = 0
965
977
c. gridy = 4
966
978
c. gridwidth = 1
@@ -1147,10 +1159,22 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
1147
1159
c. weighty = 1
1148
1160
basePanel. add(horizontalSplitPane, c)
1149
1161
1150
- // fix missing borders (e.g. on windows look and feel)
1151
- val referenceBorder = testOwnerTextField. border
1152
- testDescriptionTextArea. border = referenceBorder
1153
- testIdTextArea. border = referenceBorder
1162
+ // fix borders (colors, margins)
1163
+ if (macLookAndFeel) {
1164
+ val border = BorderFactory . createCompoundBorder(
1165
+ BorderFactory . createEmptyBorder(3 , 3 , 3 , 3 ),
1166
+ BorderFactory . createCompoundBorder(
1167
+ BorderFactory . createLineBorder(new Color (219 , 219 , 219 )),
1168
+ BorderFactory . createEmptyBorder(1 , 1 , 1 , 1 )
1169
+ )
1170
+ )
1171
+ testDescriptionTextArea. border = border
1172
+ testIdTextArea. border = border
1173
+ } else {
1174
+ val referenceBorder = testOwnerTextField. border
1175
+ testDescriptionTextArea. border = referenceBorder
1176
+ testIdTextArea. border = referenceBorder
1177
+ }
1154
1178
}
1155
1179
1156
1180
}
0 commit comments