refactored shitty unusable code
Signed-off-by: rattatwinko <seppmutterman@gmail.com>
This commit is contained in:
45
src/main/java/io/swtc/proccessing/ui/LabeledSlider.java
Normal file
45
src/main/java/io/swtc/proccessing/ui/LabeledSlider.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package io.swtc.proccessing.ui;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
import java.awt.*;
|
||||
|
||||
public class LabeledSlider extends JPanel {
|
||||
private final JSlider slider;
|
||||
private final JLabel label;
|
||||
private final String title;
|
||||
private final String unit;
|
||||
|
||||
public LabeledSlider(String title, int min, int max, int value, String unit) {
|
||||
this.title = title;
|
||||
this.unit = unit;
|
||||
setLayout(new BorderLayout());
|
||||
|
||||
label = new JLabel(title + ": " + value + unit);
|
||||
slider = new JSlider(min, max, value);
|
||||
|
||||
// Internal listener to update the text label as user drags
|
||||
slider.addChangeListener(e -> updateLabel());
|
||||
|
||||
add(label, BorderLayout.NORTH);
|
||||
add(slider, BorderLayout.CENTER);
|
||||
setBorder(new EmptyBorder(5, 0, 5, 0));
|
||||
}
|
||||
|
||||
private void updateLabel() {
|
||||
label.setText(title + ": " + slider.getValue() + unit);
|
||||
}
|
||||
|
||||
public int getValue() { return slider.getValue(); }
|
||||
|
||||
public void setValue(int val) {
|
||||
slider.setValue(val);
|
||||
updateLabel();
|
||||
}
|
||||
|
||||
public JSlider getSlider() { return slider; }
|
||||
|
||||
public void addChangeListener(javax.swing.event.ChangeListener cl) {
|
||||
slider.addChangeListener(cl);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user