diff --git a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/MainWindow.kt b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/MainWindow.kt index cc73d5d5..f1fb409f 100644 --- a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/MainWindow.kt +++ b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/MainWindow.kt @@ -45,6 +45,7 @@ class MainWindow : JFrame(), ServerComm.ServerChangeListener, LogPlayer.StateCha initializeMenu() initializeGLCanvas() + pack() isVisible = true // set visible after everything is initialized instance = this @@ -56,7 +57,6 @@ class MainWindow : JFrame(), ServerComm.ServerChangeListener, LogPlayer.StateCha private fun initializeWindow() { title = windowTitle defaultCloseOperation = EXIT_ON_CLOSE - size = Dimension(Graphics.frameWidth, Graphics.frameHeight) jMenuBar = JMenuBar() iconImage = ImageIO.read(MainWindow::class.java.getResource("/images/icon.png")) @@ -70,8 +70,8 @@ class MainWindow : JFrame(), ServerComm.ServerChangeListener, LogPlayer.StateCha addWindowListener(object : WindowAdapter() { override fun windowClosing(e: WindowEvent?) { - Graphics.frameWidth = width - Graphics.frameHeight = height + Graphics.frameWidth = glCanvas.width + Graphics.frameHeight = glCanvas.height Main.config.write() Renderer.instance.dispose(glCanvas) @@ -138,6 +138,7 @@ class MainWindow : JFrame(), ServerComm.ServerChangeListener, LogPlayer.StateCha glCanvas = GLCanvas(glCapabilities) glCanvas.focusTraversalKeysEnabled = false + glCanvas.preferredSize = Dimension(Graphics.frameWidth, Graphics.frameHeight) add(glCanvas, BorderLayout.CENTER) } diff --git a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/ControlsHelpWindow.kt b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/ControlsHelpWindow.kt index c89ae8eb..c2eb8066 100644 --- a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/ControlsHelpWindow.kt +++ b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/ControlsHelpWindow.kt @@ -14,13 +14,12 @@ object ControlsHelpWindow : JFrame() { init { initializeWindow() createTextArea() + pack() } private fun initializeWindow() { title = "Help" - size = Dimension(600, 800) iconImage = ImageIO.read(ControlsHelpWindow::class.java.getResource("/images/icon.png")) - minimumSize = Dimension(400, 500) } private fun createTextArea() { @@ -31,7 +30,10 @@ object ControlsHelpWindow : JFrame() { textArea.text = loadText() textArea.caretPosition = 0 - add(JScrollPane(textArea)) + add(JScrollPane(textArea).apply { + minimumSize = Dimension(400, 500) + preferredSize = Dimension(600, 800) + }) } private fun loadText(): String { diff --git a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/LogPlayerControlsPanel.kt b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/LogPlayerControlsPanel.kt index b7fedfba..4374e980 100644 --- a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/LogPlayerControlsPanel.kt +++ b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/LogPlayerControlsPanel.kt @@ -38,14 +38,14 @@ class LogPlayerControlsPanel : JFrame(), LogPlayer.StateChangeListener { init { initializeWindow() createControls() + + pack() } private fun initializeWindow() { title = "Log Player" defaultCloseOperation = DO_NOTHING_ON_CLOSE - size = Dimension(380, 120) isResizable = false - layout = FlowLayout(FlowLayout.LEADING, 5, 7) iconImage = ImageIO.read(MainWindow::class.java.getResource("/images/icon.png")) } @@ -58,22 +58,13 @@ class LogPlayerControlsPanel : JFrame(), LogPlayer.StateChangeListener { previousGoalBtn = createBtn(previousGoalIcon, "Previous goal") { previousGoal() } nextGoalBtn = createBtn(nextGoalIcon, "Next goal") { nextGoal() } - add(fileOpenBtn) - add(rewindBtn) - add(previousFrameBtn) - add(playPauseBtn) - add(nextFrameBtn) - add(previousGoalBtn) - add(nextGoalBtn) - add(Box.createHorizontalStrut(20)) playbackSpeedSpinner = JSpinner(SpinnerNumberModel(1.0, -10.0, 10.0, 0.25)).apply { toolTipText = "Playback speed factor" preferredSize = Dimension(60, 30) addChangeListener { setPlaybackSpeed(this.value as Double) } } - add(playbackSpeedSpinner) //slider = JSlider(0 ,logPlayer.numFrames, logPlayer.desiredFrame).apply { slider = JSlider(0 , 100, 1).apply { @@ -83,7 +74,23 @@ class LogPlayerControlsPanel : JFrame(), LogPlayer.StateChangeListener { if (!ignoreSliderEvent) selectFrame(this.value) } } - add(slider) + + add(JPanel(FlowLayout(FlowLayout.LEADING, 5, 7)).apply { + preferredSize = Dimension(380, 77) + + add(fileOpenBtn) + add(rewindBtn) + add(previousFrameBtn) + add(playPauseBtn) + add(nextFrameBtn) + add(previousGoalBtn) + add(nextGoalBtn) + + add(Box.createHorizontalStrut(20)) + + add(playbackSpeedSpinner) + add(slider) + }) } private fun fileOpen() { diff --git a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/config/ConfigWindow.kt b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/config/ConfigWindow.kt index 7b85e4ef..8846cead 100644 --- a/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/config/ConfigWindow.kt +++ b/src/main/kotlin/org/magmaoffenburg/roboviz/gui/windows/config/ConfigWindow.kt @@ -22,7 +22,6 @@ object ConfigWindow : JFrame() { private fun initializeWindow() { title = "RoboViz Configuration" - size = Dimension(350, 470) iconImage = ImageIO.read(ConfigWindow::class.java.getResource("/images/icon.png")) isResizable = false } @@ -62,9 +61,11 @@ object ConfigWindow : JFrame() { } this.rootPane.defaultButton = saveButton - this.layout = BorderLayout() - this.add(tabbedPane, BorderLayout.CENTER) - this.add(bottomPanel, BorderLayout.PAGE_END) + this.add(JPanel(BorderLayout()).apply { + preferredSize = Dimension(350, 444) + add(tabbedPane, BorderLayout.CENTER) + add(bottomPanel, BorderLayout.PAGE_END) + }) } /**