JSlider - wie unterscheide ich mit Maus verändert und durch setValue verändert.

Status
Nicht offen für weitere Antworten.

osix

Bekanntes Mitglied
Hallo,

wie kann ich unterscheiden, wenn der ActionListener "ChangeState" vom JSlider reagiert, ob das von einer Veränderung mit der Maus kam, oder durch setzten eines Wertes mit setValue() ?

Das Problem ist folgendes. Ich will einen Musikplayer schreiben, und ein JSlider ist der Fortschrittsbalken.
Somit muß ich einerseits, den Wert ständig neu setzen (0 - 100%) wenn das Lied abspielt.

Und darauf reagiert aber auch der "ChangeState" Listener. Der soll aber eigentlich nur reagieren, wenn ich mit der Maus den Slider ziehe (um das Lied vorzuspulen)

Wie kann ich das also abfragen, ob der Slider von der Maus gezogen wurde ?
 
M

MiDniGG

Gast
Du könntest mit dem MouseListener schaun ob die Maus gedrückt ist/wurde.
 
B

Beni

Gast
Entferne den Listener bevor du "setValue" aufrufst und fuege ihn danach wieder ein. Oder setz irgendeine Variable auf "jetzt wird der Slider veraendert" bevor du "setValue" aufrufst, und frage diese Variable im Listener ab.
 

Ebenius

Top Contributor
Implementier ein eigenes BoundedRangeModel. Dieses Modell kann zum Beispiel so aussehen:
Java:
public 
class MediaSliderModel extends DefaultBoundedRangeModel {

  /**
   * Called by the JSlider if the user drags the slider.
   * ...
   */
  @Override
  public void setValue(int n) {
    super.setValue(n);
    fireActionEvent(new ActionEvent(this, ActionEvent.ACTION_PERFORMED,
          "sliderValueChanged"));
  }

  /**
   * Call this method for media progress change.
   * ...
   */
  public void updateMediaProgress(int n) {
    super.setValue(n);
    fireActionEvent(new ActionEvent(this, ActionEvent.ACTION_PERFORMED,
          "mediaProgressChanged"));
  }

  /**
   * Fires the {@link ActionEvent} to all listeners.
   * 
   * @param event the event to fire
   */
  protected void fireActionEvent(ActionEvent event) {
    final Object[] list = listenerList.getListenerList();
    for (int idx = 0; idx < list.length; idx += 2) {
      if (list[idx] == ActionListener.class) {
        ((ActionListener) list[idx + 1]).actionPerformed(event);
      }
    }
  }

  /**
   * Adds the {@link ActionListener} to <code>this</code> instance.
   * 
   * @param listener the listener to add
   */
  public void addActionListener(ActionListener listener) {
    listenerList.add(ActionListener.class, listener);
  }

  /**
   * Removes the {@link ActionListener} from <code>this</code> instance.
   * 
   * @param listener the listener to remove
   */
  public void removeActionListener(ActionListener listener) {
    listenerList.remove(ActionListener.class, listener);
  }
}
Da kannst Du Dich dann als ActionListener dran hängen und anhand des ActionCommand entscheiden was Du tun willst.

Ebenius
 

osix

Bekanntes Mitglied
Danke, aber ich verstehe das letzte Beispiel nicht.
Mir scheint, daß wäre "schönes Java", das weiter oben, eher so ein paar Hilfstricks.

Wie mache ich dann ganz konrekt weiter, nachdem ich DefaultBoundedRange implementiert habe ?

Ist das dann selber ein neuer ActionListener, oder wie muß ich das verstehen ?
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Dein Media-Abspiel-Zeugs aktualisiert nicht den [c]JSlider[/c], sondern das Modell selbst per [c]updateMediaProgress(progress)[/c]. Du hängst einen [c]ActionListener[/c] an das Modell und reagiert auf die [c]ActionEvent[/c]s und weiß anhand des im [c]ActionEvent[/c] mitgelieferten [c]getActionCommand()[/c]-Strings wer an der Änderung schuld ist.

Ebenius
 

osix

Bekanntes Mitglied
...wie verbinde ich dann den JSlider mit dem MediaSliderModel ?

Ich möchte es gerne so machen, weil das glaub ich echt "sehr sauber" ist.

WIe gesagt, ich verstehe es soweit schon, daß das MediaSliderModell zwei neue Methoden hat, die beide den Wert setzen, sich aber jeweils unterschiedlich "ausweisen" was ich abfragen kann.

Das ist wirklich schön sauberer Code. Aber wie krieg ich den JSlider dann da mit rein ?
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Das ist das Modell des [c]JSlider[/c]s. Ein Modell wird bei den meisten Swing-Komponenten über die Methode [c]setModel(...)[/c] gesetzt.
Java:
final MediaSliderModel sliderModel = new MediaSliderModel();
mySlider.setModel(sliderModel);
Oder gleich im Konstruktor mitgegeben, wenn man den Slider erzeugt (geht auch bei den meisten Swing-Komponenten):
Java:
final MediaSliderModel sliderModel = new MediaSliderModel();
final JSlider mySlider = new JSlider(sliderModel);
Ebenius
 

osix

Bekanntes Mitglied
Das ist dann ähnlich wie JList und JListModell !

Achso, dann wird mir jetzt was klar.
Dann ersetzte ich quasi das "Standard-Modell" vom JSlider durch das MediaSliderModell, weil ich halt in meinem speziellen Fall des Players, so einen besonderen JSlider brauche.

Und mein speziell JSlider, der auf dem MediaModell beruht, hat dann auch die neuen Methoden

Java:
JSlider playerSlider = new JSlider(MediaSliderModell)

playerSlider.updateMediaprogress()


Achsoachsoachso....

Vielen Dank für Deine Hilfe, mensch, das Forum hier ist ja klasse !


P.S: Zusatzfrage: Kann ich auch den JSlider grafisch so verändern, daß er wie eine Progressbar aussieht ?
Denn als Fortschrittsbalken sieht ein JSlider halt nicht so gut aus. Eine Progressbar kann ich aber nicht "ziehen".

Kann ich das neue Aussehen vielleicht nicht gleich auch in das MediaSliderModell reingeben ?
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Es heißt "ListModel" ohne "J" und ohne zweites "l". :-D

Im Prinzip wiederholt sich das bei allen nicht-trivialen Swing-Komponenten so oder ähnlich:
  • [c]JTable[/c] → [c]TableModel[/c] (abstrakte Implementierung: [c]AbstractTableModel[/c], eine Standardimplementierung: [c]DefaultTableModel[/c]
  • [c]JList[/c] → [c]ListModel[/c] (abstrakte Implementierung: [c]AbstractListModel[/c], eine Standardimplementierung: [c]DefaultListModel[/c]
  • [c]JButton[/c] → [c]ButtonModel[/c] (eine Standardimplementierung: [c]DefaultButtonModel[/c]
  • [c]JSlider[/c] → [c]BoundedRangeModel[/c] (eine Standardimplementierung: [c]DefaultBoundedRangeModel[/c]
  • [c]JSpinner[/c] → [c]SpinnerModel[/c] (abstrakte Implementierung: [c]AbstractSpinnerModel[/c], einige Standardimplementierungen:
    Code:
    SpinnerDateModel
    ,
    Code:
    SpinnerListModel
    ,
    Code:
    SpinnerNumberModel
    )
  • [c]JComboBox[/c] → [c]ComboBoxModel[/c] und [c]MutableComboBoxModel[/c] (eine Standardimplementierung: [c]DefaultComboBoxModel[/c])
Bei den Textkomponenten ([c]JTextComponent[/c], also [c]JTextField[/c], [c]JTextArea[/c], [c]JTextPane[/c], [c]JEditorPane[/c]) ist das fast genauso, aber hier gibt's als Modell immer ein [c]Document[/c]. Überraschungsfrei heißen dann die entsprechenden Methoden [c]setDocument(...)[/c].

Ebenius
 

Ebenius

Top Contributor
P.S: Zusatzfrage: Kann ich auch den JSlider grafisch so verändern, daß er wie eine Progressbar aussieht ?
Denn als Fortschrittsbalken sieht ein JSlider halt nicht so gut aus. Eine Progressbar kann ich aber nicht "ziehen".
Die saubere Variante wäre, selbst ein SliderUI zu implementieren und das Zeichnen selbst zu übernehmen. Der Aufwand ist recht hoch und kompliziert ist's obendrein.

Du könntest etwas in der Art zaubern, aber das solltest Du gegen jedes LookAndFeel einzeln testen. Metal funktionierts. Aber sinnvoll finde ich's nicht:
Java:
/* (@)JSliderStyledAsProgressBar.java */

/* Copyright 2009 Sebastian Haufe

 * Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       [url]http://www.apache.org/licenses/LICENSE-2.0[/url]

 * Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License. */

package com.ebenius;

import java.awt.BorderLayout;
import java.awt.Graphics;

import javax.swing.*;

/**
 * Strange hack to paint a progress bar above a {@link JSlider}.
 * 
 * @version $Revision$ as of $Date$
 * @author Sebastian Haufe
 * @since Playground-3.8
 */
public class JSliderStyledAsProgressBar extends JSlider {

  private JProgressBar progressBar;

  // -------------------------------------------------------------------------
  // Constructors
  // -------------------------------------------------------------------------

  /** Creates a new <code>JSliderStyledAsProgressBar</code>. */
  public JSliderStyledAsProgressBar() {
    installProgressBar();
  }

  /**
   * Creates a new <code>JSliderStyledAsProgressBar</code>.
   * 
   * @param brm the model
   * @see JSlider#JSlider(BoundedRangeModel)
   */
  public JSliderStyledAsProgressBar(BoundedRangeModel brm) {
    super(brm);
    installProgressBar();
  }

  /**
   * Creates a new <code>JSliderStyledAsProgressBar</code>.
   * 
   * @param orientation orientation
   * @param min minimum value
   * @param max maximum value
   * @param value current value
   * @see JSlider#JSlider(int, int, int, int)
   */
  public JSliderStyledAsProgressBar(
        int orientation,
        int min,
        int max,
        int value) {
    super(orientation, min, max, value);
    installProgressBar();
  }

  /**
   * Creates a new <code>JSliderStyledAsProgressBar</code>.
   * 
   * @param min minimum value
   * @param max maximum value
   * @param value current value
   * @see JSlider#JSlider(int, int, int, int)
   */
  public JSliderStyledAsProgressBar(int min, int max, int value) {
    super(min, max, value);
    installProgressBar();
  }

  /**
   * Creates a new <code>JSliderStyledAsProgressBar</code>.
   * 
   * @param min minimum value
   * @param max maximum value
   * @see JSlider#JSlider(int, int, int, int)
   */
  public JSliderStyledAsProgressBar(int min, int max) {
    super(min, max);
    installProgressBar();
  }

  /**
   * Creates a new <code>JSliderStyledAsProgressBar</code>.
   * 
   * @param orientation orientation
   */
  public JSliderStyledAsProgressBar(int orientation) {
    super(orientation);
    installProgressBar();
  }

  // -------------------------------------------------------------------------
  // Progress bar look
  // -------------------------------------------------------------------------

  private void installProgressBar() {
    progressBar = new JProgressBar(getModel());
    progressBar.setOrientation(getOrientation());
    add(progressBar);
  }

  @Override
  public void invalidate() {
    super.invalidate();
    progressBar.invalidate();
  }

  @Override
  protected void validateTree() {
    super.validateTree();
    progressBar.setBounds(getBounds());
    progressBar.validate();
  }

  @Override
  public void setModel(BoundedRangeModel newModel) {
    super.setModel(newModel);
    if (progressBar != null) { // might be null during initialization
      progressBar.setModel(newModel);
    }
  }

  @Override
  public void setOrientation(int orientation) {
    super.setOrientation(orientation);
    if (progressBar != null) { // might be null during initialization
      progressBar.setOrientation(orientation);
    }
  }

  @Override
  protected void paintComponent(Graphics g) {
    progressBar.paint(g);
  }

  // -------------------------------------------------------------------------
  // Program Entry Point
  // -------------------------------------------------------------------------

  /**
   * Test main method.
   * 
   * @param args ignored
   */
  public static void main(String[] args) {
    final JPanel contentPane = new JPanel(new BorderLayout(6, 6));
    contentPane.add(new JSliderStyledAsProgressBar(0, 100, 36));

    final JFrame f = new JFrame("Test Frame: JSliderStyledAsProgressBar"); //$NON-NLS-1$
    f.setContentPane(contentPane);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    f.setVisible(true);
  }
}

Kann ich das neue Aussehen vielleicht nicht gleich auch in das MediaSliderModell reingeben ?
Auf keinen Fall. Ein Modell verwaltet die Daten einer Komponente. Nichts anderes. Diese Trennung ist wichtig, um Sackgassen zu vermeiden.

Ebenius
 

osix

Bekanntes Mitglied
WOW Ebenius. Vielen Dank nochmal für deine ausführliche Antwort !

Mir ist mit dem Model und der Ausführung echt was wesentliches klar geworden !
Jetzt weiß ich auch, daß man "Sonderwünsche" bei Swing-Komponenten immer nur so "sauber" bekommen kann,
indem man ein eigenes Model programmiert, das von einem Abstrakten ModellInterface abgeleitet wird.

Das mit dem Grafischen Aussehen mit einer Progressbar hab ich mal überflogen und werde drüber nachdenken.
Hauptsache es funktioniert erstmal, da kann der JSlider auch noch so aussehen wie ein JSlider.
 
Zuletzt bearbeitet:

osix

Bekanntes Mitglied
Es gibt ein Problem.


proSlider hat nicht die mögliche neue Methode "updateMediaprogress"

Obwohl ich proSlider (für progressbarSlider) in analogie zur list mit dem MediaSliderModell als eigene Klasse initialisiert habe. Die Klasse MediaSliderModell ist fehlerfrei.

Auch tut der Code wie bisher, aber ich kann eben die neue Methode nicht aufrufen.

Java:
    DefaultListModel listModel = new DefaultListModel();
    MediaSliderModel sliderModel = new MediaSliderModel();

    JProgressBar pb = new JProgressBar();

    JList listenfeld;
    JSlider proSlider;

[Java]
proSlider = new JSlider(sliderModel);
proSlider.setModel(sliderModel);
proSlider.setMajorTickSpacing(50);
proSlider.setMinorTickSpacing(10);
proSlider.setPaintLabels(true);
proSlider.setPaintTicks(true);
//proSlider.setFocusable(false);
proSlider.addChangeListener(this);
[/code]
 

osix

Bekanntes Mitglied
[Java]
public void actionPerformed(ActionEvent event)
{
Object source = event.getSource();

if (source == this.sliderModel)
{
if (event.getActionCommand().equals("sliderValueChanged"))
{
System.out.println("Slider-Wert wurde gesetzt");
}

if (event.getActionCommand().equals("mediaProgressChanged"))
{
System.out.println("Slider wurde gezogen");
}

}
[/code]

Noch ein Problem: es gibt keine Unterscheidung, es tritt immer der erste Fall auf, egal ob Wert vom Programm gesetzt wird oder mit der Maus. Immer Fall 1 tritt auf.

Hab kapiert, daß ich mit einem ActionListener mich ans sliderModel dranhänge. Den ChangeStateListener hab ich dann nicht mehr verwendet. Richtig so ?
 

osix

Bekanntes Mitglied
Hab grade noch rumgespielt.

klar, ich muß ja: slidermodell.updateMediaProgress machen, dann geht es.

Achso, weil ja das Model die Daten trägt und JSlider beruht auf diesem Modell.

Hab alles eingebaut - und OH WUNDER ! Es FUNZT WUNDERBAR. Der JSlider funktioniert und ich kann tatsächlich in MP3 Liedern vor und zurückspulen.

Allerdings nur mit Verzögerung. Aber das liegt an der langsamen MP3 Library die ich verwende...
 

Paddelpirat

Bekanntes Mitglied
Noch eine Idee, wenn dir die JSlider nicht gefällt: Du könntest einer JProgressBar auch einen Mouse(Motion)Listener hinzufügen und anschlißend mit e.getPoint().x den Wert für die JProgressBar bestimmen.

Edit: noch etwas Code (nicht schön aber sollte so in etwa gehen):

Java:
    JProgressBar bar = new JProgressBar( 0, 1000000 );
    
    bar.addMouseMotionListener(new MouseMotionListener() {
    	public void mouseDragged(MouseEvent e) {
    		int factor = bar.getMaximum() / bar.getSize().width;
    		bar.setValue( e.getPoint().x *factor);
    	}
    	public void mouseMoved(MouseEvent e) {
    		
    	}
    });

entsprechend dann noch mit MouseListener für mouseReleased, bzw mouseClicked.
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Ich rate von solchen Funktionalitätsänderungen eher ab. Den veränderten [c]JProgressBar[/c] kann ich nicht mit der Tastatur bedienen. Außerdem kann ein behinderter den auch nicht alternativ bedienen. Wenn man innerhalb eines [c]BoundedRangeModel[/c]s editieren will, sollte man einen [c]JSlider[/c] benutzen, der ist genau dafür da. Aussehen ändern ist immer besser, als Funktionalität in die falschen Komponenten einzuschrauben. Dabei muss man leider wirklich viel beachten.

osix, wenn das Thema erledigt ist, bitte den Knopf neben dem "Antworten"-Knopf drücken.

Ebenius
 
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
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
G Linie mit der Maus auswählen AWT, Swing, JavaFX & SWT 5
B mit maus Objekt bewegen AWT, Swing, JavaFX & SWT 3
R Swing Panel nur bei Maus sichtbar AWT, Swing, JavaFX & SWT 2
B mit Maus verschiebbares Panel AWT, Swing, JavaFX & SWT 2
C JTextField Inhalt mit Maus selektieren wenn disabled AWT, Swing, JavaFX & SWT 2
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
T Timer und GIF Animationen pausieren während Maus sich bewegt AWT, Swing, JavaFX & SWT 4
M Bild in JPanel mit Maus einfügen AWT, Swing, JavaFX & SWT 0
B Swing Form undecorated: Beim Bewegen geht die Maus immer automatisch zur linken Seite. AWT, Swing, JavaFX & SWT 7
L 2D-Grafik Bild in Richtung Maus drehen AWT, Swing, JavaFX & SWT 18
K Swing Maus in Panel einsperren AWT, Swing, JavaFX & SWT 8
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
A JFrame Größenänderung mit Maus und GridLayout AWT, Swing, JavaFX & SWT 10
J Maus "locken" für Menü AWT, Swing, JavaFX & SWT 8
D Grafiken an Maus anhängen AWT, Swing, JavaFX & SWT 2
P Pfeilpolygon per Maus rotierbar machen - Kleine Schwierigkeiten AWT, Swing, JavaFX & SWT 29
P Event Handling Gedrückte Maus Blockiert MausEvents AWT, Swing, JavaFX & SWT 2
R Swing Per Maus JLabel resizen AWT, Swing, JavaFX & SWT 6
F Maus von alleine bewegen! AWT, Swing, JavaFX & SWT 8
G Swing JPanel per Maus verschieben AWT, Swing, JavaFX & SWT 5
A SWT Tooltip soll nicht verschwinden, solange User mit Maus auf Control ist AWT, Swing, JavaFX & SWT 5
C AWT Mausbarriere Maus fangen AWT, Swing, JavaFX & SWT 10
J "Auswahlfenster" mit Maus auf JLabel zeichnen AWT, Swing, JavaFX & SWT 4
W Swing Bild zeichnen wenn Maus an bestimmter Position ist AWT, Swing, JavaFX & SWT 4
J Inaktivität von Maus und Tastatur AWT, Swing, JavaFX & SWT 4
G AWT Images aus Imagearray an die Maus pappen und bewegen AWT, Swing, JavaFX & SWT 4
F Element anzeigen / erstellen. Maus vs Controller AWT, Swing, JavaFX & SWT 7
M 3D-Grafik Bewegung mit der Maus ohne Klicken AWT, Swing, JavaFX & SWT 10
F Swing Objekte mit Maus verschieben AWT, Swing, JavaFX & SWT 8
O Swing JButton werden richtig gewechselt aber die Maus macht die alten wieder Sichtbar?? AWT, Swing, JavaFX & SWT 5
Y AWT Maus Koordinaten abspeichern in eine Textfile AWT, Swing, JavaFX & SWT 3
Weltall 7 AWT Maus-Events werden doppelt ausgeführt AWT, Swing, JavaFX & SWT 12
C permanente aktualisierung der Koordinaten der Maus auf einem Panel AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben