ui(settings): add volume sliders
This commit is contained in:
@@ -3,6 +3,10 @@ package eu.midnightdust.yaytris.ui;
|
|||||||
import eu.midnightdust.yaytris.Settings;
|
import eu.midnightdust.yaytris.Settings;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
import static eu.midnightdust.yaytris.ui.TetrisUI.scale;
|
||||||
|
import static eu.midnightdust.yaytris.ui.TetrisUI.setFontScale;
|
||||||
|
|
||||||
public class SettingsMenu extends AbstractMenu {
|
public class SettingsMenu extends AbstractMenu {
|
||||||
final TetrisUI ui;
|
final TetrisUI ui;
|
||||||
@@ -12,6 +16,23 @@ public class SettingsMenu extends AbstractMenu {
|
|||||||
this.setBounds(x, y, width, height);
|
this.setBounds(x, y, width, height);
|
||||||
this.setLayout(null);
|
this.setLayout(null);
|
||||||
|
|
||||||
|
this.add(new JLabel("Musik-Lautstärke:"));
|
||||||
|
JSlider musicVolumeSlider = new JSlider(0, 100, Settings.musicVolume);
|
||||||
|
musicVolumeSlider.addChangeListener(change -> {
|
||||||
|
Settings.musicVolume = musicVolumeSlider.getValue();
|
||||||
|
Settings.write();
|
||||||
|
});
|
||||||
|
this.add(musicVolumeSlider);
|
||||||
|
|
||||||
|
this.add(new JLabel("Sound-Lautstärke:"));
|
||||||
|
JSlider soundVolumeSlider = new JSlider(0, 100, Settings.soundVolume);
|
||||||
|
soundVolumeSlider.addChangeListener(change -> {
|
||||||
|
Settings.soundVolume = soundVolumeSlider.getValue();
|
||||||
|
Settings.write();
|
||||||
|
});
|
||||||
|
this.add(soundVolumeSlider);
|
||||||
|
|
||||||
|
this.add(new JLabel("Skalierung:"));
|
||||||
JSlider scaleSlider = new JSlider(100, 500, (int) (Settings.guiScale * 100));
|
JSlider scaleSlider = new JSlider(100, 500, (int) (Settings.guiScale * 100));
|
||||||
scaleSlider.addChangeListener(change -> {
|
scaleSlider.addChangeListener(change -> {
|
||||||
Settings.guiScale = scaleSlider.getValue() / 100f;
|
Settings.guiScale = scaleSlider.getValue() / 100f;
|
||||||
@@ -23,4 +44,11 @@ public class SettingsMenu extends AbstractMenu {
|
|||||||
backButton.addActionListener(ui::openMainMenu);
|
backButton.addActionListener(ui::openMainMenu);
|
||||||
this.add(backButton);
|
this.add(backButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Component add(Component comp) {
|
||||||
|
Component ret = super.add(comp);
|
||||||
|
if (comp instanceof JLabel) comp.setBounds(scale(60), scale(40+23*(this.getComponentCount()-1)), scale(100), scale(10));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user