0
スイングにはとても新しいですが、スライダとラベルを作成するこのプログラムを作成しようとしました。スライダが移動すると(フォーム1〜16)、ラベルが変わります。しかし、私のラベルは更新されず、スライダをスライドさせるとスレッドの例外やその他のエラーが発生します。ここに完全なコードがあります:Slider Not Labeling Label
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);
}
}
私は非常にスイングすることを繰り返します。だから私が愚かな間違いをしているなら、私の上で楽に行ってください。
*「私は非常に新しくスイングすることを繰り返し言います」*クロスプラットフォームのGUIを作成することは高度なトピックであり、実際には例外に慣れる前に理解と解決に慣れるべきです。 [スタックトレースとは何ですか?アプリケーションエラーをデバッグするにはどうすれば使用できますか?](http://stackoverflow.com/q/3988788/418556)&[Null Pointer Exceptionとは何ですか?それは?](http://stackoverflow.com/q/218384/418556)別のヒント:常にコピーとエラーと例外出力を貼り付けてください! –