summaryrefslogtreecommitdiffstats
path: root/src/main/java/dev/figboot/cuberender/test/TestWindow.java
blob: 770648fe5b473a61c2b29ecf67dab056d3aa630f (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
50
51
52
53
54
55
56
57
58
59
60
61
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();
        JSlider sliderCape = new JSlider();
        GraphicsPanel gp = new GraphicsPanel();

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

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

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

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

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

        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();
        });

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

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