Listener für Button auf JScrollbar

Status
Nicht offen für weitere Antworten.

MathiasBauer

Bekanntes Mitglied
Hallo,

ich möchte bei Mausklick auf den Button des Scrollbalkens reagieren. D.h. wenn der Scrollbalken unten angekommen ist und auf den Button geklickt wird, sich die Tabelle dynamisch wie in Excel erweitert (neue Zeilen hinzugefügt werden).
Jedoch dürfen keine neue Zeilen hinzugefügt werden, wenn der Balken mit der Maus verschoben wird.
Nur weiß ich nicht wie ich an den Buttonlistener rankomme. Hat einer eine Ahnung, wie das geht? Vielen Dank im Voraus.

scrollbalken.jpg
 

Tobias

Top Contributor
Ich kann mir nicht vorstellen, dass das überhaupt geht. Wie wäre es mit einer JScrollPane, der du in der unteren, rechten Ecke einen eigenen Button hinzufügst, mit dem man Zeilen adden kann?

mpG
Tobias
 

MathiasBauer

Bekanntes Mitglied
Schade...

Das ist leider nicht in meinem Sinne. Ich hätte gerne wie in Excel, dass sich neue Zeilen automatisch hinzufügen.

Dann muss ich mir wohl etwas anderes überlegen...
 

Tobias

Top Contributor
Du könntest mit AdjustmentListener experimentieren - IMHO ist es möglich, das der dir einen UNIT_INCREMENT / UNIT_DECREMENT auslöst wenn der Button gedrückt wurde und einen BLOCK_INCREMENT / BLOCK_DECREMENT wenn der Slider bewegt wird.
Vielleicht passiert aber auch gar nichts, weil sich die ScrollBar (wenn sie am Ende ist) ja nicht mehr bewegt. Oder der Slider löst manchmal BLOCK_* und manchmal UNIT_* aus - who knows.

Probier's aus.

mpG
Tobias
 

Marco13

Top Contributor
Mit einem Hack kommt man an die Buttons zwar dran...
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class JScrollBarButtonTest extends JFrame
{
    public static void main(String args[])
    {
        new JScrollBarButtonTest();
    }

    public JScrollBarButtonTest()
    {
        setSize(400,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JScrollBar bar = new JScrollBar();

        JButton b0 = (JButton)bar.getAccessibleContext().getAccessibleChild(0);
        b0.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("Down");
            }
        });

        JButton b1 = (JButton)bar.getAccessibleContext().getAccessibleChild(1);
        b1.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("Up");
            }
        });

        getContentPane().add(bar, BorderLayout.EAST);
        setVisible(true);
    }
}
... aber man sollte sich dafür eher eine andere Lösung überlegen ....
 

Tobias

Top Contributor
Naja, die meisten selbstgemachten Elektroinstallationen funktionieren auch und es wäre trotzdem besser sich was anderes zu überlegen ... Soll heißen: Marcos Lösung ist für einen Aussenstehenden nicht auf Anhieb verständlich und dementsprechend schwer zu warten. Darüberhinaus mißbraucht es den AccessableContext zu Dingen für die er nicht gemacht ist - was nicht unbedingt zukunftssicher sein muß.

mpG
Tobias
 

Marco13

Top Contributor
Ich sollte mit solchen Hacks (Anfängern gegeüber) vielleicht vorsichtiger sein :roll: Das ist WIRKLICH ein Hack. Niemand garantiert einem, dass die Buttons dort liegen, wo sie in diesem Beispiel rausgeholt werden. Niemand garantiert einem, dass das wirklich JButtons sind. Niemand garantiert einem, dass das Programm mit der nächsten Java-Version (oder auch schon bei einem geänderten Look&Feel!) noch funktioniert. Du solltest wirklich nach einer Lösung suchen, die sich an den Vorschlägen von Tobias orientiert.
 

MathiasBauer

Bekanntes Mitglied
Ich habe es jetzt mal mit dem AdjustmentListener probiert, so wie es unter folgendem Link beschrieben ist:

http://www.galileocomputing.de/openbook/javainsel7/javainsel_15_011.htm#mjbfe9509749c9e3c4be3799e95000f83b

Leider liefert er mir bei getAdjustmentType() nur AdjustmentEvent.TRACK und den jeweiligen Wert.

D.h. ich kann nicht zwischen Buttonklick und Verschieben des Scrollbalkens unterscheiden.

Ich bekomme kein UNIT_INCREMENT oder BLOCK_INCREMENT Event ausgegeben.

Hat jemand eine Idee wie es doch noch klappen könnte? Danke.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
A Listener für JGTextField AWT, Swing, JavaFX & SWT 2
A Swing Suche Listener für beliebige Änderung an GUI Items/Controls AWT, Swing, JavaFX & SWT 8
M Ansätze zur Kombination mehrerer Listener für Interaktion AWT, Swing, JavaFX & SWT 19
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
N Listener für Variable AWT, Swing, JavaFX & SWT 4
C Swing Listener für TabPanel AWT, Swing, JavaFX & SWT 8
hdi Welche Klasse + Listener für JMenu AWT, Swing, JavaFX & SWT 2
V Welcher Listener für JTable? AWT, Swing, JavaFX & SWT 3
I Listener für einen JSlider AWT, Swing, JavaFX & SWT 1
G Listener Suche für F1 AWT, Swing, JavaFX & SWT 25
J jTable, welcher listener für Änderung der Spaltenbreite AWT, Swing, JavaFX & SWT 2
M Welcher Listener für JLabel? AWT, Swing, JavaFX & SWT 4
N Listener für Grössenänderungen JFrame? AWT, Swing, JavaFX & SWT 3
M Listener für alle inneren Elemente gültig machen? AWT, Swing, JavaFX & SWT 5
T listener für tabellen bei selektierung AWT, Swing, JavaFX & SWT 7
G Welchen Listener für JEditorPane ? AWT, Swing, JavaFX & SWT 3
M listener für komponente AWT, Swing, JavaFX & SWT 3
F Listener für Fenstergröße (SWT) AWT, Swing, JavaFX & SWT 5
F InnerClasses für Listener AWT, Swing, JavaFX & SWT 4
T JTextPane: Listener für Zeilenumbrüche AWT, Swing, JavaFX & SWT 4
K listener für jcombobox AWT, Swing, JavaFX & SWT 4
F Listener für JPanel im JInternalFrame AWT, Swing, JavaFX & SWT 5
K Probleme mit Listener für JTree AWT, Swing, JavaFX & SWT 4
T Frage zu Listener für JTable AWT, Swing, JavaFX & SWT 19
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
M List Listener AWT, Swing, JavaFX & SWT 37
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
U Funktionsweise Listener AWT, Swing, JavaFX & SWT 1
L TextField Listener AWT, Swing, JavaFX & SWT 13
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Tabellen - Listener & richtige Row AWT, Swing, JavaFX & SWT 3
S Erste Schritte mit GUI - Fileverarbeitung, Listener,... AWT, Swing, JavaFX & SWT 10
M JButton - Listener AWT, Swing, JavaFX & SWT 1
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
M Listener funktioniert nicht AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
llabusch Event Handling Listener spielt verrückt AWT, Swing, JavaFX & SWT 8
kaoZ Swing Architektonisches Problem / Listener / MVC AWT, Swing, JavaFX & SWT 14
H org.eclipse.swt.widgets.Scale MouseRelease listener AWT, Swing, JavaFX & SWT 1
MaDDin-94 Swing Listener reagiert nicht immer AWT, Swing, JavaFX & SWT 2
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
M Key-,... Listener funktioniert nicht immer AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
J Programmierstil: Kommunikation Listener und GUI AWT, Swing, JavaFX & SWT 3
B JTable Renderer / Listener AWT, Swing, JavaFX & SWT 7
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
E Listener AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
P Listener Auswahl Tabelle AWT, Swing, JavaFX & SWT 6
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
J Swing dragging listener AWT, Swing, JavaFX & SWT 5
H Problem mit dem Action listener.... AWT, Swing, JavaFX & SWT 2
J Frame mit Button erstellen - Warum ist es nötig, Frame über Unterklasse zu erstellen? (Reg Listener) AWT, Swing, JavaFX & SWT 2
M Fenster schließen - Listener AWT, Swing, JavaFX & SWT 5
G SWT TreeViewer - drop listener austauschen AWT, Swing, JavaFX & SWT 2
S Action Listener in innerer Klasse ausführen. AWT, Swing, JavaFX & SWT 8
J Sinn eines Selection Listener AWT, Swing, JavaFX & SWT 5
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
T Listener in anderen Panel deaktivieren AWT, Swing, JavaFX & SWT 3
T SWT: Listener auf einem Button reagiert nicht AWT, Swing, JavaFX & SWT 2
L Swing JTextField Content-Listener AWT, Swing, JavaFX & SWT 4
P AWT Wie kann mein listener den Inhalt eines anderen Textfelds ändern? AWT, Swing, JavaFX & SWT 10
C JLabel Listener auf Textänderung? AWT, Swing, JavaFX & SWT 5
M Mouse Wheel Listener reagiert mehrmals AWT, Swing, JavaFX & SWT 5
F SWT Button listener richtig erstellen AWT, Swing, JavaFX & SWT 2
El_Lobo Swing Problem bei Methodenaufruf in innerer Klasse bei Listener AWT, Swing, JavaFX & SWT 3
S Wem füge ich welchen Listener hinzu? AWT, Swing, JavaFX & SWT 4
R Durch Listener lässt sich Programm nicht mehr ausführen AWT, Swing, JavaFX & SWT 4
T Callback vs. Event listener AWT, Swing, JavaFX & SWT 7
S Swing JTree und seine Listener... AWT, Swing, JavaFX & SWT 4
E JComboBox Listener AWT, Swing, JavaFX & SWT 2
AyKay SWT (alle) Listener bzw. ModifyEventListener entfernen AWT, Swing, JavaFX & SWT 2
S jTextField Listener AWT, Swing, JavaFX & SWT 7
E Listener, werte in andere Klasse übernehmen AWT, Swing, JavaFX & SWT 11
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
J AWT Action Listener etc. AWT, Swing, JavaFX & SWT 7
F JCalendar mouseclick listener AWT, Swing, JavaFX & SWT 2
W AWT Listener bei TrayIcon AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben