Button Text in JList neue Zeile

ChrisR

Mitglied
Hallo liebe Java Gemeinde.

Da ich noch nicht solange dabei bin (blutiger Anfänger) ergeben sich natürlich auch Probleme,
die meistens durch lesen behoben werden können ... (Meistens) :oops:

Mein derzeitiges Problem, sieht wie folgt aus:
Ich habe mehrere Button. Ich nehme jetzt einfach mal 2 Button. Dazu ein DefaultListModel.
Beide Button haben einen eigenen ActionListener.
Jetzt füge ich den Text des ersten Button durch klicken in das Model ein. Klappt!
Das gleiche mache ich mit dem zweiten Button. Klappt! (fast reibungslos) ...
Denn durch das klicken des zweiten Button wird der Text des ersten Button in dem Model
überschrieben anstatt eine neue Zeile zu beginnen ... Und dort ist mein Problem.

Frage: Was muss ich machen, damit durch klicken beliebiger Button jedesmal eine neue Zeile beginnt - ich quasi eine Auflistung erhalte?

Derweil sieht es so aus:

Java:
private void jbASaftActionPerformed(ActionEvent evt) {
                   DefaultListModel model = new DefaultListModel();
                   model.addElement(jbASaft.getText().toString());
                   jList1.setModel(model);
}

private void jbKirscheActionPerformed(ActionEvent evt) {
                   DefaultListModel model = new DefaultListModel();
                   model.addElement(jbKirsche.getText().toString());
                   jList1.setModel(model);
}

MfG
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Du erstellst jedes mal ein neues ListModel, anstatt dem bestehenden deinen Text hinzuzufügen.
DefaultModel als Feld deklarieren einmal initialisieren und dann verwenden.

Hier ein Beispiel:

Java:
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;

public class Test {

  public static void main(String[] args) {
    SwingUtilities.invokeLater(() -> new Test());
  }

  public Test() {
    JFrame frame = new JFrame("Test");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationByPlatform(true);
    frame.setSize(600, 400);

    JPanel mainPanel = new JPanel();
    mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
    DefaultListModel<String> model = new DefaultListModel<>();
    JList<String> list = new JList<>(model);
    mainPanel.add(Box.createRigidArea(new Dimension(0, 20)));
    mainPanel.add(new JScrollPane(list));
    mainPanel.add(Box.createVerticalGlue());
    mainPanel.add(Box.createRigidArea(new Dimension(0, 20)));
    mainPanel.add(Box.createVerticalBox());

    Box buttonBox = Box.createHorizontalBox();
    ActionListener btnAction = (ActionEvent e) -> {
      if (e.getSource() instanceof JButton) {
        JButton btn = (JButton) e.getSource();
        model.addElement(btn.getText());
      }
    };
    JButton cherry = new JButton("Kirsche");
    JButton apple = new JButton("Apfel");
    cherry.addActionListener(btnAction);
    apple.addActionListener(btnAction);

    buttonBox.add(Box.createHorizontalGlue());
    buttonBox.add(cherry);
    buttonBox.add(Box.createRigidArea(new Dimension(20, 0)));
    buttonBox.add(apple);
    buttonBox.add(Box.createHorizontalGlue());

    mainPanel.add(buttonBox);
    mainPanel.add(Box.createRigidArea(new Dimension(0, 20)));

    frame.add(mainPanel);
    frame.setVisible(true);
  }
}
 

Skarflex

Mitglied
Moin bin ebenfalls Anfänger, hoffe jedoch ich kann helfen.
Hast du schon mal probiert das DeafaultListModel auserhalb deiner ActionListener zu defenieren und im Action Listener dann nur noch zu adden. Jetzt sieht es so aus als würdest du deine Variable model jedesmal überschreiben und überschreibst somit natürlich auch deine zuvorigen Einträge
 

ChrisR

Mitglied
Grüß Euch Flown u. Skarflex.

Erstmal vielen Dank für die schnellen Antworten!

Ja, das ist so eine Sache, wenns richtig blutet in Anspielung auf meiner Erfahrung in Sachen Java.
Ich weiß grad nicht, wohin ich den Code von dir drücken soll, Flown.
Zumal ich keine Button Box habe sondern ein einziges Fenster mit rund 50 Button.

Skarflex, ich hab das schonmal versucht. Sah in etwa so aus als würde 'nen Bäcker nen Haus baun ...
sah also nicht soooo gut aus ...

Mal eine andere Frage:

Ich habe ein DefaultTableModel mit Zwei Spalten. Einmal Sorte und einmal Anzahl.
Wie realisiere ich dass, das wenn ich 5 mal auf den Button Fanta drücke, in der Spalte ''Sorte''
Fanta steht und bei ''Anzahl'' 5?

Beispiel:

Sorte | Anzahl
Fanta | 5

Edit:

Ich habs so versucht:

Java:
private int Fanta = 0;

Java:
private void jbFantaActionPerformed(ActionEvent evt) {
Fanta++;
DefaultTableModel model=(DefaultTableModel) jTable1.getModel();
model.addRow(new Object[]{jbFanta.getText(), Integer.toString(Fanta)});
 
Zuletzt bearbeitet:

Harry Kane

Top Contributor
Ich weiß grad nicht, wohin ich den Code von dir drücken soll, Flown.
Zumal ich keine Button Box habe sondern ein einziges Fenster mit rund 50 Button.
Den Code sollst du nirgendwohin drücken, sondern du sollst ihn anschauen, compilieren, laufen lassen, verstehen, und dann schauen warum der Code das macht was er soll und deiner nicht. Ggf. kannst du auch den Code von Flown nehmen und ihn erweitern.
Und mit deinen 50 JButtons hast du dich eindeutig übernommen. Mache erstmal einen oder zwei (wie im COde von Flown), und verstehe, was da passiert.
Aus den Methodennanmen für die ActionListener kann man ableiten, daß dir ein GUI Builder einen Code hingehauen hast, den Du nicht verstehst. Deshalb: zurück auf Anfang.

Skarflex, ich hab das schonmal versucht. Sah in etwa so aus als würde 'nen Bäcker nen Haus baun ...
sah also nicht soooo gut aus ...
*Nerv*Von einer brauchbaren Beschreibung ist das Sätzchen aber so was von weit weg....

Mal eine andere Frage:

Ich habe ein DefaultTableModel mit Zwei Spalten. Einmal Sorte und einmal Anzahl.
Wie realisiere ich dass, das wenn ich 5 mal auf den Button Fanta drücke, in der Spalte ''Sorte''
Fanta steht und bei ''Anzahl'' 5?
Andere Frage, anderer Thread. Und das aus dem Zusammenhang gerissene Vierzeilen-Schnipsels ist für die Ursachenforschung warum es nicht klappt, nicht wirklich hilfreich. Wobei du ja nich nicht mal explizit gesagt hast, ob es nicht klappt.
Google mal nach "Wie man Fragen richtig stellt".
 

ChrisR

Mitglied
Hallo Flown.

Vielen Dank erstmal!

Ich habe deinen Code in NetBeans ausprobiert - funktioniert!
Den Code habe ich im Source eingegeben und würde das Ergebnis gerne auch im Designe Fenster sehen.
Das Designe Fester ist derzeit leer...

Wie kriege ich das eingegebene auch im Designe Fenster zu sehen?

Mfg

edit:

Harry Kane: danke für deine sehr hilfreiche Antwort. Gibt halt Menschen,
die konnten auch ohne Hilfe Rechnen und Fahrrad fahren. Ich gehe davon aus, das du einer von denen bist ....
 
Zuletzt bearbeitet:

Harry Kane

Top Contributor
Harry Kane: danke für deine sehr hilfreiche Antwort. Gibt halt Menschen,
die konnten auch ohne Hilfe Rechnen und Fahrrad fahren. Ich gehe davon aus, das du einer von denen bist ....
Nein, aber ich kann dir sagen, wie ich programmieren gelernt habe, nämlich so, wie ich es oben beschrieben habe: Code anschauen, kompileren, laufen lassen. Code und Ergebnis anschauen und versuchen zu verstehen. Bei Fehlermeldungen auch diese versuchen zu verstehen. Dann die Komplexität der Probleme, denen man sich widmet, langsam erhöhen. Usw.
Das ist zwar mühsamer, als in einem Designer eine Gui zusammenzudraggen, deren Code man nicht versteht, aber dafür nachhaltiger.

Edit: Wenn ich es recht bedenke, habe ich so wahrscheinlich auch rechnen gelernt: erst plus und minus, dann mal und geteilt. Zuerst das kleine 1x1, dann das große. Muss aber jeder selber wissen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
K JavaFX TextInputDialog Button Text ändern AWT, Swing, JavaFX & SWT 1
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
F Dialog mit Titel, Text und Ok Button AWT, Swing, JavaFX & SWT 2
J Button soll nach Klick Text ändern und Programm in 3 Sekunden beenden AWT, Swing, JavaFX & SWT 6
S SWT WizardPage - Button anzeigen und Text-Widgets dynamisch aktualisieren AWT, Swing, JavaFX & SWT 12
F Problem beim Positionieren von Icon und Text in Button AWT, Swing, JavaFX & SWT 2
L SWT Button Text verändern AWT, Swing, JavaFX & SWT 16
P [SWT] Button-ToolItem mit Text und Bild AWT, Swing, JavaFX & SWT 2
J Button (NOR-Text, CEN-Image, SOU-Text) AWT, Swing, JavaFX & SWT 7
R SWT: Button mit Text und Image AWT, Swing, JavaFX & SWT 10
W Bei hinzufügen der Action verliert Button Text,Tooltip, etc AWT, Swing, JavaFX & SWT 5
D Button Text per Mausclick ändern AWT, Swing, JavaFX & SWT 3
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
G Button auswerten und ausgeben ob richtig oder falsch AWT, Swing, JavaFX & SWT 1
D Button und Textfeld Darstellung AWT, Swing, JavaFX & SWT 3
H Button / Design Ideen AWT, Swing, JavaFX & SWT 2
B JavaFX Sprachumschaltung mit Button auf der HMI AWT, Swing, JavaFX & SWT 6
T TableView Button onAction AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
J Button-Keyboard Interaktion AWT, Swing, JavaFX & SWT 7
EinNickname9 Swing Button mittig positionieren AWT, Swing, JavaFX & SWT 4
L actionListener für Button AWT, Swing, JavaFX & SWT 97
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
I JavaFX Hover-Effekt bei Button AWT, Swing, JavaFX & SWT 11
Zeppi Swing Button soll Spiel zurücksetzen AWT, Swing, JavaFX & SWT 5
G Button Strings Effektiver setzen AWT, Swing, JavaFX & SWT 3
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
W JavaFX Button - optimale Breite berechnen AWT, Swing, JavaFX & SWT 1
L Swing Button Farbe ändern/wechseln AWT, Swing, JavaFX & SWT 2
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
S JavaFx Zufallsfarbe beim Button-Klick AWT, Swing, JavaFX & SWT 22
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
Z Button bewegen und Plätze tauschen AWT, Swing, JavaFX & SWT 4
Z Swing Button anklicken und bewegen AWT, Swing, JavaFX & SWT 2
K JavaFX Button verbinden AWT, Swing, JavaFX & SWT 6
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
M JavaFX Button action abhängigkeit von Tab AWT, Swing, JavaFX & SWT 1
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
H Eigener Dialog mit Rückgabe -> Warten auf Button AWT, Swing, JavaFX & SWT 3
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
L Button Funktion zuweisen in WindowBuilder AWT, Swing, JavaFX & SWT 22
A Button mit Speicher-Funktion AWT, Swing, JavaFX & SWT 8
krgewb Swing Icon von Button AWT, Swing, JavaFX & SWT 12
J Schriftart über einen Button ändern AWT, Swing, JavaFX & SWT 1
Bluedaishi JavaFX Button Image aus Datenbank AWT, Swing, JavaFX & SWT 13
Ø Swing Button in anderer Klassen ausführen AWT, Swing, JavaFX & SWT 6
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
cool_brivk24 Swing Button Farbe ändern AWT, Swing, JavaFX & SWT 2
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
J Aus welchen Grund wird der Button nicht angezeigt im GridPane? AWT, Swing, JavaFX & SWT 1
S GUI Schließen Button auf der linken Seite AWT, Swing, JavaFX & SWT 2
J Swing Bild in Button AWT, Swing, JavaFX & SWT 11
das_leon AWT Button Design ändern AWT, Swing, JavaFX & SWT 5
J Thread per Button starten AWT, Swing, JavaFX & SWT 10
E Button verschwindet nachdem ein Rechteck gezeichnet wurde AWT, Swing, JavaFX & SWT 5
G JComboBox: Arrow-Button permanent anzeigen AWT, Swing, JavaFX & SWT 4
emma_louisa JavaFX MenuBar Zweitfenster; bei Button "Abbrechen" nur das Zweitfenster schließen AWT, Swing, JavaFX & SWT 2
I JavaFX: "globaler Button" AWT, Swing, JavaFX & SWT 0
M JavaFX ActionEvent Button AWT, Swing, JavaFX & SWT 6
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
Q AWT TicTacToe Image auf Button hinzufügen AWT, Swing, JavaFX & SWT 5
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
it_is_all Swing Button, ComboBox,... -- Unterschied: NetBeans Design <-> Ausführung AWT, Swing, JavaFX & SWT 2
B FXML GUI - Button ausblenden AWT, Swing, JavaFX & SWT 1
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
L Suchergebnisse variabel mit Button anzeigen lassen AWT, Swing, JavaFX & SWT 3
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
J Event Handling Button "enablen" wenn Eingaben in Textfeldern korrekt sind AWT, Swing, JavaFX & SWT 1
Ksanatos Swing Bild (.jpg) einlesen und per Button wechseln AWT, Swing, JavaFX & SWT 9
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
E Fehler bei Button AWT, Swing, JavaFX & SWT 1
A Swing Tabelle wird bei Betätigung des Button nicht befüllt AWT, Swing, JavaFX & SWT 17
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
GreenTeaYT Button funktioniert nicht für Ein-und Auszahlungen? AWT, Swing, JavaFX & SWT 8
MaxG. Swing Farbe von Button beim drücken ändern AWT, Swing, JavaFX & SWT 4
S per Button Variableninhalt aus anderer Klasse holen AWT, Swing, JavaFX & SWT 3
A Swing GUI - Button soll Frame verändern AWT, Swing, JavaFX & SWT 4
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
MaxG. Swing Bild Button AWT, Swing, JavaFX & SWT 7
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
N Swing Abfrage durch JTextField nach Button betätigung AWT, Swing, JavaFX & SWT 3
H JavaFX via .fxml einen abgeleiteten Button erstellen... AWT, Swing, JavaFX & SWT 4
T JavaFX Button als Runnable AWT, Swing, JavaFX & SWT 4
OlafHD JPasswordField mit Button eingeben AWT, Swing, JavaFX & SWT 4
B JavaFX Wie programmiere ich hier einen "Weiter" Button? AWT, Swing, JavaFX & SWT 11
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
D JavaFX Button Links- und Rechtsklick? AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben