@@ -655,6 +655,7 @@ class SettingsDialogWrapper(
655655 androidTemplateScrollPane.preferredSize = Dimension (WINDOW_WIDTH , WINDOW_HEIGHT / 3 - EXTRA_PADDING * 2 )
656656
657657 val templateDefaultPanel = JPanel ()
658+
658659 val templateDefaultPanelLayout = SpringLayout ()
659660 templateDefaultPanel.layout = templateDefaultPanelLayout
660661 templateDefaultPanel.add(kotlinTemplateLabel)
@@ -768,7 +769,13 @@ class SettingsDialogWrapper(
768769 templateDefaultPanel
769770 )
770771
771- return templateDefaultPanel
772+ templateDefaultPanel.preferredSize = templateDefaultPanel.getPreferredDimensionForComponent()
773+
774+ return JScrollPane (
775+ templateDefaultPanel,
776+ ScrollPaneConstants .VERTICAL_SCROLLBAR_ALWAYS ,
777+ ScrollPaneConstants .HORIZONTAL_SCROLLBAR_ALWAYS
778+ )
772779 }
773780
774781 private fun createEnhancedTemplateDefaultComponent (): JComponent {
@@ -1091,7 +1098,13 @@ class SettingsDialogWrapper(
10911098 glueModuleNameTextArea
10921099 )
10931100
1094- return templateDefaultPanel
1101+ templateDefaultPanel.preferredSize = templateDefaultPanel.getPreferredDimensionForComponent()
1102+
1103+ return JScrollPane (
1104+ templateDefaultPanel,
1105+ ScrollPaneConstants .VERTICAL_SCROLLBAR_ALWAYS ,
1106+ ScrollPaneConstants .HORIZONTAL_SCROLLBAR_ALWAYS
1107+ )
10951108 }
10961109
10971110 override fun createActions (): Array <Action > {
@@ -1198,4 +1211,14 @@ class SettingsDialogWrapper(
11981211 }
11991212 }
12001213 }
1214+
1215+ private fun JComponent.getPreferredDimensionForComponent (): Dimension {
1216+ var totalHeight = 0
1217+ for (component in this .components) {
1218+ val preferredSize = component.preferredSize
1219+ totalHeight + = preferredSize.height
1220+ }
1221+
1222+ return Dimension (WINDOW_WIDTH - SCROLLBAR_WIDTH , totalHeight + SCROLLBAR_WIDTH * 2 )
1223+ }
12011224}
0 commit comments