Swing JSlider mit doppelter Value

O

olze

Gast
Hallo,

ich suche fuer meinen Player einen JSlider der einmal den Thumb/Knobb hat zum vorspielen, aber dann auch noch eine zweite Value hat mit der ich einen grauen balken ueber die horizontale des Sliders zeichnen kann. Klingt kompliziert, aber was ich meine ist einfach ein Balken der mitwandert waehrend der Stream langsam herunter geladen wird, wie bei zb. vielen Flash Playern ueblich, damit man weis wie weit der Stream inzwischen fortgeschritten ist und vorspielen kann.

Jemand eine Idee wie man sowas realisieren kann oder gibts da schon was fertiges?
Habe mir ueberlegt 2 Slider uebereinander zu legen, aber toll ist das nicht gerade. Kenne mich leider mit JSlider relativ wenig aus, die Doku zu einigen Methoden (zb. paintTrack()) ist praktisch nicht existent :/
 
O

olze

Gast
Zwei Knoepfe (Thumb/Knob) haben rein garnichts mit 2 Streams/Datenmodellen zu tun.

Die Einzige Moeglichkeit auf die ich bis jetzt gekommen bin, ist den BufferedInputStream selbst zu schreiben und ein Deque ByteArray zu verwenden. Dadurch kann der Stream solange gelesen werden bis ein EOF auftritt. read() liefert dann einen Teil aus dem internen Buffer (zb. wie beim BufferedInputStream 8096 Byte) von dem Deque ByteArray.
 

André Uhres

Top Contributor
Hallo olze,

Anstatt einen JSlider mit doppeltem Wert, können wir auch einen einfachen JSlider machen für den "playing progress" und darunter eine JProgressBar für den "download progress". Um an die jeweils korrekten Werte zu kommen, ist wieder ein anderes Thema, das nichts direkt mit Swing zu tun.

Gruß,
André
 
O

olze

Gast
Ich gehe davon aus dass wenn ich die beiden logisch zusammengehoerenden Informationen trenne, mir gewaltig viel Probleme mache. Ich denke nicht dass sich dadurch auf das Byte genau sagen laesst, ob der User soweit vorspielen darf oder nicht. Hinzu kommt, dass ich mir nicht vorstellen kann dass das wirklich schoen ist eine ProgressBar unter einem Slider. Es wird wohl geschickter sein innerhalb des JSliders eine zweite Spur zu zeichnen die Abhaengig vom internen Buffer ist, aber wie bereits erwaehnt hat das dann nichts mehr mit Swing zu tun.
 

André Uhres

Top Contributor
Ich gehe davon aus dass wenn ich die beiden logisch zusammengehoerenden Informationen trenne, mir gewaltig viel Probleme mache.

Ich glaube kaum, dass das große Probleme verursacht. Es geht ja lediglich um den Vergleich zweier Werte. Hier ist eine kleine Demo:

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.plaf.*;

public class ProgressSliderDemo extends JFrame {

    private final JPanel controlPanel;
    private final JSlider slider;
    private final JProgressBar progressBar;
    private final Timer player;
    private final Timer download;

    public ProgressSliderDemo() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(400, 300);
        setLocationRelativeTo(null);
        controlPanel = new JPanel() {

            @Override
            public boolean isOptimizedDrawingEnabled() {
                return false;
            }
        };
        controlPanel.setLayout(new OverlayLayout(controlPanel));
        progressBar = new JProgressBar(0, 100);
        slider = new JSlider(0, 100, 30);
        controlPanel.add(slider);
        controlPanel.add(progressBar);
        slider.setOpaque(false);
        progressBar.setValue(50);
        add(controlPanel, BorderLayout.SOUTH);
        player = new Timer(1000, new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                int value = slider.getValue() + 2;
                slider.setValue(value);
                int maximum = slider.getMaximum();
                if (value >= maximum) {
                    download.stop();
                }
            }
        });
        player.start();
        download = new Timer(800, new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                int value = progressBar.getValue() + 2;
                progressBar.setValue(value);
                int maximum = progressBar.getMaximum();
                if (value >= maximum) {
                    download.stop();
                }
            }
        });
        download.start();
        slider.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                int valueDownload = progressBar.getValue();
                int valuePlayer = slider.getValue();
                if (valuePlayer > valueDownload) {
                    slider.setValue(valueDownload);
                }
            }
        });
    }

    public static void main(final String args[]) {
        UIManager.put("ProgressBar.foreground", new ColorUIResource(new Color(100, 100, 100, 100)));
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new ProgressSliderDemo().setVisible(true);
            }
        });
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Frage zum Schieberegler JSlider AWT, Swing, JavaFX & SWT 5
T Java: Zwei abhängige JSlider machen nicht das, was sie sollen AWT, Swing, JavaFX & SWT 4
D Swing JSlider Tip Anzahl AWT, Swing, JavaFX & SWT 3
J JSlider sichtbar AWT, Swing, JavaFX & SWT 7
J Swing JSlider - Form des Reglers AWT, Swing, JavaFX & SWT 6
J JSlider Color Ticks AWT, Swing, JavaFX & SWT 1
J JSlider - MajorTick AWT, Swing, JavaFX & SWT 0
Z JSlider im Modalen-Fenster AWT, Swing, JavaFX & SWT 0
A Swing JLabel/JTextField Inhalt mit JSlider verändern AWT, Swing, JavaFX & SWT 12
A Swing 2 JSlider verknüpfen und mit einem JTextField vergleichen, dann Ausgabe AWT, Swing, JavaFX & SWT 5
A Slider (JSlider?) AWT, Swing, JavaFX & SWT 7
D JSlider "laggt" nach überschreiben der paint methode AWT, Swing, JavaFX & SWT 2
A Swing JSlider erscheint doppelt AWT, Swing, JavaFX & SWT 2
K 2D-Grafik Kontrastanpassung über einen JSlider AWT, Swing, JavaFX & SWT 2
A Swing Bestimmte Werte anzeigen JSlider() AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
M JSlider-Wert ändern, ohne ein ChangeEvent auszulösen AWT, Swing, JavaFX & SWT 4
C Aussehen von JSlider ändern AWT, Swing, JavaFX & SWT 7
D Swing jSlider soll selber weiterwandern, je nach zeit der musik AWT, Swing, JavaFX & SWT 5
D JSlider und Textfeld AWT, Swing, JavaFX & SWT 2
C Swing Tickspacing in JSlider AWT, Swing, JavaFX & SWT 3
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
Y JSlider Wert auslesen (Kategorien) AWT, Swing, JavaFX & SWT 2
T jSlider-Value als Float in jLabel ausgeben AWT, Swing, JavaFX & SWT 2
F JSlider Design ändern AWT, Swing, JavaFX & SWT 6
D Swing JSlider AWT, Swing, JavaFX & SWT 11
B JSlider - Wert am Mouszeiger anzeigen lassen AWT, Swing, JavaFX & SWT 6
E JSlider synchron halten AWT, Swing, JavaFX & SWT 4
J Swing jSlider nur auf bestimmte werte beschränken AWT, Swing, JavaFX & SWT 15
X Audio Player: Fenster mit Play/Stop-Button erstellen, mit JSlider Lautstärke ändern AWT, Swing, JavaFX & SWT 6
R JSlider AWT, Swing, JavaFX & SWT 9
M Swing JSlider, Popup-Box AWT, Swing, JavaFX & SWT 3
J JSlider mit Double Werten AWT, Swing, JavaFX & SWT 5
J JSlider auf JTextPane? AWT, Swing, JavaFX & SWT 2
M Jslider Beschriftung AWT, Swing, JavaFX & SWT 6
R JLabel und JSlider dynamisch erzeugen? AWT, Swing, JavaFX & SWT 3
E jSlider und ChangeListener AWT, Swing, JavaFX & SWT 2
S JSlider Track Breite und Farbe AWT, Swing, JavaFX & SWT 2
T Swing JSlider und Adjustment-Listener wollen nicht so recht AWT, Swing, JavaFX & SWT 2
O JSlider - wie unterscheide ich mit Maus verändert und durch setValue verändert. AWT, Swing, JavaFX & SWT 16
T JSlider: ChangeListener löst dreimal aus? AWT, Swing, JavaFX & SWT 4
B JSlider in JCombobox AWT, Swing, JavaFX & SWT 9
J JSlider wird nicht neugezeichnet AWT, Swing, JavaFX & SWT 8
J Einen JSlider ähnlich wie in OO3 AWT, Swing, JavaFX & SWT 5
G JSlider in Applet AWT, Swing, JavaFX & SWT 4
K Unterschiedliches Aussehen der JSlider? AWT, Swing, JavaFX & SWT 4
I Listener für einen JSlider AWT, Swing, JavaFX & SWT 1
G beschriftung von JSlider AWT, Swing, JavaFX & SWT 7
H JSlider mit 2 Werten AWT, Swing, JavaFX & SWT 7
L JSlider Beschriftung AWT, Swing, JavaFX & SWT 1
A JSlider umdrehen AWT, Swing, JavaFX & SWT 15
D JSlider und JMF player verbinden AWT, Swing, JavaFX & SWT 6
J JSlider regaiert unter Java 1.6 nicht mehr AWT, Swing, JavaFX & SWT 7
N JSlider: Kosmetik - snapToTicks AWT, Swing, JavaFX & SWT 3
T JComponents abändern/modifizieren z.b. JSlider AWT, Swing, JavaFX & SWT 2
N Nicht linearer JSlider! AWT, Swing, JavaFX & SWT 4
T JSlider getValue() erst nach dem Loslassen des Mauszeigers AWT, Swing, JavaFX & SWT 3
Z JSlider-Knob wenden AWT, Swing, JavaFX & SWT 8
L JSlider stumm geworden? AWT, Swing, JavaFX & SWT 2
I JSlider - klick ignorieren AWT, Swing, JavaFX & SWT 4
I JSlider-Schieberegler AWT, Swing, JavaFX & SWT 7
T JSlider Schiebereglerbild ändern AWT, Swing, JavaFX & SWT 4
U JSlider - Probleme bei der Darstellung AWT, Swing, JavaFX & SWT 3
H ChangeListener für JSlider AWT, Swing, JavaFX & SWT 6
P JSlider automatisch bewegen AWT, Swing, JavaFX & SWT 3
G JSlider AWT, Swing, JavaFX & SWT 2
R Swing ComboBox und doppelter Event!? AWT, Swing, JavaFX & SWT 10
T Doppelter ActionListener? AWT, Swing, JavaFX & SWT 5
H doppelter Aufruf von selectionListener für JList AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
P JavaFX Key-Value-Paar auf TreeItem ermitteln AWT, Swing, JavaFX & SWT 6
N JavaFX TreeItem: Value-Binding AWT, Swing, JavaFX & SWT 1
J CheckTreeView mit eigenem Cell Value AWT, Swing, JavaFX & SWT 3
P JavaFX Slider soll Value erst ab einer bestimmten Bedinung aendern AWT, Swing, JavaFX & SWT 19
U Swing Jtable cells value editable AWT, Swing, JavaFX & SWT 1
G Swing Value von einer JScrollBar auf eine andere übertragen AWT, Swing, JavaFX & SWT 2
A Swing Slider-Value auslesen und weitergeben AWT, Swing, JavaFX & SWT 4
C Value eines RadioButtons ausgeben AWT, Swing, JavaFX & SWT 6
S SWT ProgressBar: Value/Selection anzeigen AWT, Swing, JavaFX & SWT 4
Semox Swing Slider mit Value Auswertung wird nicht angezeigt AWT, Swing, JavaFX & SWT 11
J Swing JXTable, vom CellRenderer gerendertes Value holen. AWT, Swing, JavaFX & SWT 5
G Value vom TreeCellEditor ist immer null AWT, Swing, JavaFX & SWT 3
O ScrollBar.setValue(int value); ? AWT, Swing, JavaFX & SWT 3
L Jcombobox + value Wert AWT, Swing, JavaFX & SWT 7
L JTable SelectRowByValue(Object Value)? AWT, Swing, JavaFX & SWT 3
L Button ändert eigenes Bild und Progressbar-Value nicht AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben