Im very new to swing, but I tried making this program which creates a slider and a label. As the slider is moved (form 1 to 16), the label changes. However, my label doesn't get updated, and instead I get thread exceptions and other errors when I slide the slider. Here is the full code:
package edu.cuny.brooklyn.cisc3120;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.event.*;
public class Gui extends JFrame {
private static final int limit = 4;
private static final int minInteger = 1;
private static final int maxInteger = 16;
private static JLabel currentGuess;
private static JSlider slider;
public Gui()
{
setLayout(new FlowLayout());
JSlider slider = new JSlider(JSlider.HORIZONTAL, minInteger, maxInteger, 1);
add(slider);
slider.setMajorTickSpacing(1);
slider.setPaintLabels(true);
slider.setPaintTicks(true);
currentGuess = new JLabel("Current Guess: 1");
add(currentGuess);
SliderEvent e = new SliderEvent();
slider.addChangeListener(e);
}
public static class SliderEvent implements ChangeListener
{
public void stateChanged(ChangeEvent e)
{
currentGuess.setText("Current Guess: " + slider.getValue() );
}
}
public static void main(String[] args)
{
Gui guessingGame = new Gui();
guessingGame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
guessingGame.setTitle("Guessing Game");
guessingGame.setLocation(100, 100);
guessingGame.pack();
guessingGame.setVisible(true);
}
}
I reiterate that i'm very new to swing. So if I'm making some stupid mistake, go easy on me please.