JSlider regaiert unter Java 1.6 nicht mehr

Status
Nicht offen für weitere Antworten.

JPKI

Top Contributor
Hallo Leute, ich hab folgendes Problem:

in meinem Programm läuft ein JSlider mittels Thread nach dem Öffnen einer Datei von null bis 100. Wenn keine Datei geöffnet ist oder der Player auf Pause steht, deaktiviere ich den Slider mittels setEnabled(false).
Mein Problem ist nun, dass ich ihn beim erneuten Öffnen einer Datei nicht mehr mit setEnabled(true) aktivieren kann, wenn das Programm in einer JAR-Datei unter Java 1.6 läuft (ich entwickle mit 1.5!) :bahnhof: :bahnhof: :roll: . Unter Java 1.5 läuft alles ganz prima.

Weiss wer, warum dies so ist oder wie ich es beheben könnte? :?:

Edit: Upps, hab grade gemerkt, dass dieser Thread eigentlich ins AWT, Swing und SWT-Forum gehört... Tut mir leid :wink:
[Das kann man ändern - Beni]
 

André Uhres

Top Contributor
Ich hab jetzt ein Testprogramm unter 1.5 entwickelt und das jar mit 1.6 gestartet: läuft einwandfrei. Über einen Button kann ich den JSlider deaktivieren und wieder aktivieren.
Da müsste also imho dein Code her.
 

JPKI

Top Contributor
André Uhres hat gesagt.:
Ich hab jetzt ein Testprogramm unter 1.5 entwickelt und das jar mit 1.6 gestartet
Danke für die Mühe die ich dir gemacht habe :cool: :toll:

Wo hamwa' ihn denn... Da:

Code:
/*
 * @(#) JPKIMultimediaUserpanel.java
 *
 * Urheberrechtlich geschützt, Jan-Philipp Ki.
 * Alle Rechte vorbehalten.
 */

package gui;

import control.*;
import media.abstractclasses.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;

/**
 * Dient der Interaktion des Programms
 * mit dem Benutzer und umgekehrt.
 *
 * @author Jan-Philipp Ki.
 * @version 1.00, 11 03 2007
 */

public class JPKIMultimediaUserpanel extends JPanel implements ActionListener, ChangeListener, Runnable {

  private boolean isMute, isPressed;
  private int oldValue;
  private float currentVolume;

  private JLabel volDiscriptor, mediaDiscriptor;
  private JButton stop, play, pause;
  private JToggleButton mute;
  private JSlider volumeController, mediaSlider;

  private JPKIMultimediaMainpanel mainPan;
  private JPKIMultimediaFile file;

  private Thread thread;

  public JPKIMultimediaUserpanel(JPKIMultimediaMainpanel mainPan) {

   setBorder(new TitledBorder(JPKIMultimediaController.getString("borderName")));

   this.mainPan = mainPan;

   isMute = false;
   isPressed = false;
   oldValue = 0;
   currentVolume = 0.5f;

   volumeController = new JSlider(0,100,50);
   volumeController.setMinorTickSpacing(5);
   volumeController.setMajorTickSpacing(20);
   volumeController.setPaintTicks(true);
   volumeController.addChangeListener(this);

   mediaSlider = new JSlider(0,100,0);
   mediaSlider.setMinorTickSpacing(5);
   mediaSlider.setMajorTickSpacing(20);
   mediaSlider.setPaintTicks(true);
   mediaSlider.setEnabled(false);
   mediaSlider.addChangeListener(new ChangeListener() {

    public void stateChanged(ChangeEvent e) {

     stateChange();
   }
  });

   mediaSlider.addMouseListener(new MouseAdapter() {

    public void mousePressed(MouseEvent e) {

     isPressed = true;
   }

    public void mouseReleased(MouseEvent e) {

     isPressed = false;
   }
  });

   mute = new JToggleButton(new ImageIcon(getClass().getResource("images/mute_disabled.gif")));
   mute.setSelectedIcon(new ImageIcon(getClass().getResource("images/mute_enabled.gif")));
   mute.setRolloverIcon(new ImageIcon(getClass().getResource("images/mute_rollover.gif")));
   mute.setToolTipText(JPKIMultimediaController.getString("muteButton"));
   mute.setActionCommand("mute");
   mute.setContentAreaFilled(false);
   mute.setBorderPainted(false);
   mute.setFocusPainted(false);
   mute.addActionListener(this);

   stop = createJButton("stop");
   play = createJButton("play");
   pause = createJButton("pause");

   volDiscriptor = createJLabel(JPKIMultimediaController.getString("volumeSlider"));
   mediaDiscriptor = createJLabel(JPKIMultimediaController.getString("stateSlider"));

   JPanel sliderPanel = new JPanel(new GridLayout(1,2));

     JPanel volumePanel = new JPanel(new BorderLayout());
            volumePanel.add(volDiscriptor, BorderLayout.NORTH);
            volumePanel.add(volumeController, BorderLayout.CENTER);

     JPanel mediaPanel = new JPanel(new BorderLayout());
            mediaPanel.add(mediaDiscriptor, BorderLayout.NORTH);
            mediaPanel.add(mediaSlider, BorderLayout.CENTER);

          sliderPanel.add(volumePanel);
          sliderPanel.add(mediaPanel);

   JPanel buttonPanel = new JPanel(new GridLayout(1,4));
          buttonPanel.add(mute);
          buttonPanel.add(play);
          buttonPanel.add(stop);
          buttonPanel.add(pause);

   setLayout(new BorderLayout());

   add(sliderPanel, BorderLayout.CENTER);
   add(buttonPanel, BorderLayout.EAST);
 }

  public void actionPerformed(ActionEvent e) {

   if (isMute) {

    isMute = false;

    if (file != null)
     file.setVolume(currentVolume);
  }
   else {

    isMute = true;

    if (file != null)
     file.setVolume(0.0f);
  }
 }

  public void stateChanged(ChangeEvent e) {

   currentVolume = (float)volumeController.getValue()/100;

   if (isMute)
    return;

   if (file != null)
    file.setVolume(currentVolume);
 }

  public void run() {

   double duration = file.getDuration();
   int i = oldValue;

   while (i < (int)duration) {

    i = (int)file.getMediaTime();
    mediaSlider.setValue(i);
    oldValue = i;
    try { Thread.sleep(1000); } catch (InterruptedException ex) {}
  }

   i = 0;
   oldValue = 0;
   mediaSlider.setValue(oldValue);
 }

  public void play() {

   mediaSlider.setEnabled(true);
   thread = new Thread(this);
   thread.start();
 }

  public void stop(boolean paused) {

   thread.stop();

   if (!paused)
    oldValue = 0;

   mediaSlider.setEnabled(false);
   mediaSlider.setValue(oldValue);
 }

  public void set(JPKIMultimediaFile file) {

   if (isMute)
    file.setVolume(0.0f);
   else
    file.setVolume(currentVolume);

   mediaSlider.setMaximum((int)file.getDuration());
   mediaSlider.setMinorTickSpacing((int)Math.ceil(file.getDuration()/20));
   mediaSlider.setMajorTickSpacing((int)Math.ceil(file.getDuration()/5));

   this.file = file;
   stop.setEnabled(true);
   play.setEnabled(true);
   pause.setEnabled(true);
 }

  private void stateChange() {

   if (isPressed && file != null)
    file.setMediaTime((double)mediaSlider.getValue());
 }

  private JButton createJButton(String image) {

   JButton button = new JButton(new ImageIcon(getClass().getResource("images/" + image + "_enabled.gif")));
           button.setDisabledIcon(new ImageIcon(getClass().getResource("images/" + image + "_disabled.gif")));
           button.setPressedIcon(new ImageIcon(getClass().getResource("images/" + image + "_click.gif")));
           button.setRolloverIcon(new ImageIcon(getClass().getResource("images/" + image + "_rollover.gif")));
           button.setToolTipText(JPKIMultimediaController.getString(image + "Button"));
           button.setActionCommand(image);
           button.setBorderPainted(false);
           button.setContentAreaFilled(false);
           button.setFocusPainted(false);
           button.setEnabled(false);
           button.addActionListener(mainPan);

   return button;
 }

  private JLabel createJLabel(String labeltext) {

   JLabel label = new JLabel(labeltext);
          label.setFont(new Font("Courier",Font.BOLD,10));
          label.setHorizontalAlignment(JLabel.CENTER);

   return label;
 }
}
 

JPKI

Top Contributor
So ne Sch*****.
Naja, ich bedanke mich. Ich werd Java mal neu installieren, hab nämlich gemerkt, dass es nur auf meinem neuen PC nicht funzt.

Vielleicht gehts danach. :?
 

JPKI

Top Contributor
Leroy42 hat gesagt.:
:shock: Also, daß ist mir jetzt, am frühen Morgen, zu kompliziert!
Man sollte hier einigen Leuten mal nen Deutsch-Rechtschreibkurs verpassen... :bae: :wink: :wink:
Was das da oben angeht: Ich hab mich bei André bedankt dass er sich diesem Problem annahm und extra dafür ein Programm entwickelt hat. Denn auch wenn er sowas schnell mal tippen kann, kostet's doch ein wenig Zeit.
 
Status
Nicht offen für weitere Antworten.
Ä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
O Swing JSlider mit doppelter Value AWT, Swing, JavaFX & SWT 6
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
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
X Swing Anwendung regaiert auf keine Buttons mehr wärend while(scanner.hasNextLine()) ausgeführt wird. AWT, Swing, JavaFX & SWT 4
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
N JavaFX Installation unter IntelliJ IDEA AWT, Swing, JavaFX & SWT 5
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
B JavaFX openjfx11: intelliJ unter Ubuntu 18.10 kann nicht auflösen AWT, Swing, JavaFX & SWT 4
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
Blender3D Meine Swing Anwendung läuft unter Windows 10 und Ubuntu aber nicht auf Windows 7 AWT, Swing, JavaFX & SWT 16
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
V Swing Button soll unter anderem Button sein AWT, Swing, JavaFX & SWT 2
L DoubleBuffering unter Swing AWT, Swing, JavaFX & SWT 0
L JavaFX Scene wechseln unter FX AWT, Swing, JavaFX & SWT 5
Avarion Swing JFrame unter Windows 10 kleiner ?! AWT, Swing, JavaFX & SWT 2
T ThreadPool sicher beenden unter Verwendung von swt.widgets.Display.syncExec AWT, Swing, JavaFX & SWT 1
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
M Swing Bildbearbeitung unter Java AWT, Swing, JavaFX & SWT 22
S (Swing)Vollbild anzeigen unter Linux/Mac AWT, Swing, JavaFX & SWT 6
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
T JFrame Icon unter Linux/Ubuntu AWT, Swing, JavaFX & SWT 11
S JMenu unter JPanel versteckt AWT, Swing, JavaFX & SWT 5
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
SexyPenny90 JLabel liegt unter meiner Turtle AWT, Swing, JavaFX & SWT 5
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
J AWT setBackground(Color.orange) ist unter Win7 Aero nicht orange AWT, Swing, JavaFX & SWT 3
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
R Problem mit TrayIcon unter Windows/Linux AWT, Swing, JavaFX & SWT 7
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
T JButtons indexiert unter NetBeans anlegen AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben