@@ -29,6 +29,7 @@ import java.awt.event.MouseListener
2929import java.text.DecimalFormat
3030import java.util.ArrayList
3131import java.util.regex.Pattern
32+ import javax.swing.BorderFactory
3233import javax.swing.Box
3334import javax.swing.DefaultComboBoxModel
3435import javax.swing.JCheckBoxMenuItem
@@ -381,14 +382,23 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
381382 }
382383
383384 private def isWindowsLookAndFeel () {
384- val laf = UIManager . systemLookAndFeelClassName
385- if (laf. toLowerCase . contains( " windows " ) ) {
385+ val laf = UIManager . lookAndFeel ? . name
386+ if (laf == " Windows " ) {
386387 return true
387388 } else {
388389 return false
389390 }
390391 }
391392
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+
392402 private def void fixCheckBoxMenuItem (JCheckBoxMenuItem item ) {
393403 if (windowsLookAndFeel) {
394404 if (item. selected) {
@@ -934,6 +944,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
934944 testInfoPanel. add(testProcedureTextField, c)
935945 // - Description
936946 val testDescriptionLabel = new JLabel (UtplsqlResources . getString(" RUNNER_DESCRIPTION_LABEL" ))
947+ testDescriptionLabel. border = BorderFactory . createEmptyBorder(if (macLookAndFeel) {5 } else {3 }, 0 , 0 , 0 )
937948 c. gridx = 0
938949 c. gridy = 3
939950 c. gridwidth = 1
@@ -961,6 +972,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
961972 testInfoPanel. add(testDescriptionTextArea, c)
962973 // - Suitepath (id)
963974 val testIdLabel = new JLabel (UtplsqlResources . getString(" RUNNER_TEST_ID_COLUMN" ))
975+ testIdLabel. border = BorderFactory . createEmptyBorder(if (macLookAndFeel) {5 } else {3 }, 0 , 0 , 0 )
964976 c. gridx = 0
965977 c. gridy = 4
966978 c. gridwidth = 1
@@ -1147,10 +1159,22 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
11471159 c. weighty = 1
11481160 basePanel. add(horizontalSplitPane, c)
11491161
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+ }
11541178 }
11551179
11561180}
0 commit comments