JSlider und ChangeListener

Sz_Oskar

Mitglied
Hallo,
Ich komme nicht drauf wie ich die Werte eines JSliders in einem JLabel zeigen kann. Ganz unten ist der Code für den JSlider mit dem ChangeListener und dem JLabel aber ich stehe gerade auf dem Schlauch und komme nicht weiter. Freue mich sehr über eine Hilfe :)
Java:
import java.awt.EventQueue;


import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.JSpinner;
import javax.swing.JSlider;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import javax.swing.ImageIcon;
import java.awt.SystemColor;
import javax.swing.JTextPane;
import javax.swing.event.*;


import javax.swing.JTextArea;
import javax.swing.*;
import java.awt.*;

import java.awt.Font;

public class Class2 extends JPanel implements ActionListener{

    private JFrame frmClass;
    private JTextField textField;
    private JTextField textField_1;
    private JSlider slider;
    /**
     * Launch the application.
     */
    public static void NewScreen()  {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Class2 window = new Class2();
                    window.frmClass.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Class2() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frmClass = new JFrame();
        frmClass.getContentPane().setBackground(SystemColor.inactiveCaption);
        frmClass.setTitle("Eingabe der Variablen");
        frmClass.setBounds(100, 100, 600, 400);
        frmClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frmClass.getContentPane().setLayout(null);
       
        JButton btnWeiter = new JButton("Weiter");
        btnWeiter.setIcon(new ImageIcon(Class1.class.getResource("/com/sun/javafx/scene/web/skin/Redo_16x16_JFX.png")));
        btnWeiter.setFont(new Font("Times New Roman", Font.BOLD, 13));
        btnWeiter.setBounds(366, 291, 166, 25);
        btnWeiter.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                frmClass.dispose();   
            Class3 nw = new Class3();
            nw.NewScreen();
               
            }
        });
        btnWeiter.setBounds(366, 291, 130, 25);
        frmClass.getContentPane().add(btnWeiter);
       
        JButton btnAbbrechen = new JButton("Abbrechen");
        btnAbbrechen.setIcon(null);
        btnAbbrechen.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
               
                System.exit(0);
            }
        });
        btnAbbrechen.setBounds(102, 291, 130, 25);
        frmClass.getContentPane().add(btnAbbrechen);
       
       
        JLabel lblJdyfg = new JLabel("mm");
        lblJdyfg.setBounds(494, 49, 56, 22);
        frmClass.getContentPane().add(lblJdyfg);
       
        JLabel lblXjfygh = new JLabel("\u00B5m");
        lblXjfygh.setBounds(494, 124, 56, 22);
        frmClass.getContentPane().add(lblXjfygh);
       
        JLabel lblKjdfh = new JLabel("V");
        lblKjdfh.setBounds(516, 210, 33, 29);
        frmClass.getContentPane().add(lblKjdfh);
       
        JTextArea txtrGebenSieDie = new JTextArea();
        txtrGebenSieDie.setBackground(SystemColor.inactiveCaption);
        txtrGebenSieDie.setFont(new Font("Tahoma", Font.PLAIN, 13));
        txtrGebenSieDie.setEditable(false);
        txtrGebenSieDie.setLineWrap(true);
        txtrGebenSieDie.setText("Geben Sie die gew\u00FCnschte L\u00E4nge ein:\r\n(Nur ganze Zahlen)");
        txtrGebenSieDie.setBounds(6, 50, 226, 39);
        frmClass.getContentPane().add(txtrGebenSieDie);
       
        JTextArea txtrGebenSieDen = new JTextArea();
        txtrGebenSieDen.setText("Geben Sie den gew\u00FCnschten Durchmesser ein:\r\n(Nur ganze Zahlen)");
        txtrGebenSieDen.setLineWrap(true);
        txtrGebenSieDen.setFont(new Font("Tahoma", Font.PLAIN, 13));
        txtrGebenSieDen.setEditable(false);
        txtrGebenSieDen.setBackground(SystemColor.inactiveCaption);
        txtrGebenSieDen.setBounds(6, 124, 280, 39);
        frmClass.getContentPane().add(txtrGebenSieDen);
       
        JTextArea txtrBitteSpannungWhlen = new JTextArea();
        txtrBitteSpannungWhlen.setText("Bitte Spannung w\u00E4hlen:");
        txtrBitteSpannungWhlen.setLineWrap(true);
        txtrBitteSpannungWhlen.setFont(new Font("Tahoma", Font.PLAIN, 13));
        txtrBitteSpannungWhlen.setEditable(false);
        txtrBitteSpannungWhlen.setBackground(SystemColor.inactiveCaption);
        txtrBitteSpannungWhlen.setBounds(6, 214, 166, 25);
        frmClass.getContentPane().add(txtrBitteSpannungWhlen);
       
       
        textField = new JTextField();
        textField.setBounds(349, 49, 116, 22);
        frmClass.getContentPane().add(textField);
        textField.setColumns(10);
       
        textField_1 = new JTextField();
        textField_1.setBounds(349, 124, 116, 22);
        frmClass.getContentPane().add(textField_1);
        textField_1.setColumns(10);
       
        JSlider slider = new JSlider(0, 240);
        slider.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
                JSlider source = (JSlider) e.getSource();
            }
        });
        slider.setPaintTicks(true);
        slider.setMajorTickSpacing(10);
        slider.setBounds(276, 213, 200, 35);
        slider.setValue(0);
        slider.setMinorTickSpacing(5);
        slider.setMaximum(240);
       
        frmClass.getContentPane().add(slider);
       
        JLabel lblNewLabel = new JLabel("0");
        lblNewLabel.setBounds(48, 252, 56, 16);
        frmClass.getContentPane().add(lblNewLabel);
       
   
    }
    }
 

Robat

Top Contributor
Willst du den Wert in einem JLabel anzeigen lassen der gerade ausgewählt ist?
Dann kannst du im ChangeLister den neuen Wert mittels slider.getValue() bekommen und ihn mittels lbl.setText(..) in dein JLabel schreiben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M ChangeListener Problem bei JSlider Java Basics - Anfänger-Themen 3
S OOP Zwei JSlider in einer Klasse Java Basics - Anfänger-Themen 2
Z JSlider - Text wird nich angezeigt Java Basics - Anfänger-Themen 0
S JSlider Schritt Größe Java Basics - Anfänger-Themen 5
F JSlider korrekt implementieren Java Basics - Anfänger-Themen 19
C Aktueller Wert von einem JSlider auf ein Label Java Basics - Anfänger-Themen 2
C JSlider und JRadioButton auf Label anzeigen? Java Basics - Anfänger-Themen 10
I Rückgabewert von JSlider Java Basics - Anfänger-Themen 15
R Zeitachse mit JSlider Java Basics - Anfänger-Themen 13
V JSlider wird nicht angezeigt Java Basics - Anfänger-Themen 12
H Swing: JSlider wird nicht angezeigt Java Basics - Anfänger-Themen 5
G JSlider + Lautstärke Java Basics - Anfänger-Themen 10
S Graphic im Panel änder durch JSlider Java Basics - Anfänger-Themen 2
S Schieberegler (JSlider) funktioniert nicht Java Basics - Anfänger-Themen 5
K Farbenspiel mit dem jSlider Java Basics - Anfänger-Themen 5
? JSlider Java Basics - Anfänger-Themen 9
G JSlider Wert auslesen Java Basics - Anfänger-Themen 1
S undo auf JSlider Java Basics - Anfänger-Themen 9
J Warum löst der Changelistener nicht aus ? Java Basics - Anfänger-Themen 5
L Mit ChangeListener JSpinner Loop erstellen Java Basics - Anfänger-Themen 2
Hindi93 Merkwürdiger ChangeListener-Fehler Java Basics - Anfänger-Themen 4
T ChangeListener Java Basics - Anfänger-Themen 2
T ChangeListener cannot find Symbol? Java Basics - Anfänger-Themen 2
B Changelistener Problem Java Basics - Anfänger-Themen 4

Ähnliche Java Themen


Oben