aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/dev/figboot/cuberender/test/TestWindow.java
blob: fc768a3c325eb86c4cefffbf9dca58782ee1707f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package dev.figboot.cuberender.test;

import javax.swing.*;
import java.awt.*;

public class TestWindow extends JFrame {
    public TestWindow() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Graphics test");
        setSize(300, 300);
        setLocationRelativeTo(null);

        JPanel panel = new JPanel();
        JSlider sliderY = new JSlider();
        JSlider sliderX = new JSlider();
        GraphicsPanel gp = new GraphicsPanel();

        sliderY.setMinimum(-180);
        sliderY.setMaximum(180);

        sliderX.setMinimum(-180);
        sliderX.setMaximum(180);
        sliderX.setOrientation(JSlider.VERTICAL);

        sliderX.setValue(0);
        sliderY.setValue(0);

        panel.setLayout(new BorderLayout());
        panel.add(gp, BorderLayout.CENTER);
        panel.add(sliderY, BorderLayout.SOUTH);
        panel.add(sliderX, BorderLayout.EAST);

        setContentPane(panel);

        sliderY.addChangeListener(e -> {
            gp.setYRot((float)Math.toRadians(sliderY.getValue()));
            gp.repaint();
        });

        sliderX.addChangeListener(e -> {
            gp.setXRot((float)Math.toRadians(sliderX.getValue()));
            gp.repaint();
        });
    }

    public static void main(String[] args) {
        new TestWindow().setVisible(true);
    }
}