Liste aktualisieren oder GUI schließen? HILFE *verzweifelt*

Status
Nicht offen für weitere Antworten.
J

Java-Neuling-2

Gast
Hallo Leute,

ich bastel nun schon irre lange an einer Oberfläche mit einer Liste herum...
In die Liste werden Objekte aus einer DB geladen und ich kann sie bearbeiten, löschen und ansehen.

Wenn ich nun ein Objekt lösche, muss es ja auch sofort aus der liste verschwinden...
Mir würde es auch völlig genügen, wenn bei aufruf einer Fkt. löschen / bearbeiten die GUI mit der Liste verschwindet (setVisible(false); )!!

Ich bekomme aber leider keins vom beiden hin :-(

Habt ihr vielleicht einen Tip wie ich diesen Code umbauen kann damit ich die GUI (Buecherliste) ausblenden oder die Liste (ListDemoBuch) aktualisieren kann???

Code:
package GUI;

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

import Fachklassen.BuecherVerwaltung;
import Fachklassen.Buch;

class ListDemoBuch extends JPanel
{
    private JList list;
    private DefaultListModel listModel;
    
    private JFrame parent;
    
   	private JButton bt_bearbeiten;
	private JButton bt_loeschen;
	private JButton bt_details;
	
	private Buch[] tabelle; //enthält alle Bücher als Array

    public ListDemoBuch(JFrame parent, Buecherliste test)
    {
        super(new BorderLayout());

    	this.parent = parent;
				
        listModel = new DefaultListModel();
        
		fuelleList();  //Das ListModel wird mit Objelten aus der DB gefüllt

        //Create the list and put it in a scroll pane.
        list = new JList(listModel);
        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        list.setSelectedIndex(0);
        list.setVisibleRowCount(7);
        JScrollPane listScrollPane = new JScrollPane(list);
        
        //Create a panel that uses BoxLayout.
        JPanel buttonPane = new JPanel();
        buttonPane.setLayout(new BoxLayout(buttonPane,BoxLayout.LINE_AXIS));

        buttonPane.add(Box.createHorizontalStrut(5));
        buttonPane.add(new JSeparator(SwingConstants.VERTICAL));
        buttonPane.add(Box.createHorizontalStrut(5));
        buttonPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));

        add(listScrollPane, BorderLayout.CENTER);
        add(buttonPane, BorderLayout.PAGE_END);
        
        //Buttons
        bt_bearbeiten = new JButton();
   		bt_bearbeiten.setText("bearbeiten");
		
        bt_loeschen = new JButton();
   		bt_loeschen.setText("löschen");
 
        bt_details = new JButton();
   		bt_details.setText("Details anzeigen");
        
        //hinzufügen
        buttonPane.add(bt_bearbeiten);
        buttonPane.add(bt_loeschen);
        buttonPane.add(bt_details);
        
        //actions
   		bt_bearbeiten.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent ae) { bearbeitenBuch(); } });
   		bt_loeschen.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent ae) { loeschenBuch(); } });
   		bt_details.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent ae) { detailsBuch(); } });
   		
   		
    }
    
    //Aufruf der Oberfläche zum bearbeiten
    private void bearbeitenBuch()
    {
   		int zeile;
	    if((zeile = list.getSelectedIndex()) != -1) 
		{
	      //(new BuchErfassung(parent, (Buch)tabelle[zeile])).setVisible(true);
	      System.out.println(list.getSelectedIndex() + "bearbeiten");
	      (new Buecherdetails(parent, tabelle[zeile], "Bearbeiten")).setVisible(true);
	    }
    }

    //Aufruf der Oberfläche zum löschen
    private void loeschenBuch()
    {
   		int zeile;
	    if((zeile = list.getSelectedIndex()) != -1) 
		{
	    	System.out.println(list.getSelectedIndex() + "loeschen");
			(new BuchLoeschen(parent, tabelle[zeile])).setVisible(true);	    
		}
		
		
    }

    //Aufruf der Oberfläche zum anzeigen der Details
    private void detailsBuch()
    {
   		int zeile;
	    if((zeile = list.getSelectedIndex()) != -1) 
		{
	      //(new BuchErfassung(parent, (Buch)tabelle[zeile])).setVisible(true);
	      System.out.println(list.getSelectedIndex() + "details");
	      (new Buecherdetails(parent, tabelle[zeile], "Details")).setVisible(true);
	    }
    }
    
    //Füllt die Liste mit Inhalten
    private void fuelleList()
    {
		Vector listenInhalt = new Vector();
		tabelle = BuecherVerwaltung.getAll();
		
		for(int i = 0; i < tabelle.length; i++)
		{
			listModel.addElement(tabelle[i].getTitel() +"          " + tabelle[i].getAutoren() + "        " + tabelle[i].getErstellt());
		}	
  	}    
}

public class Buecherliste extends JDialog
{	
    private JList list;
    private DefaultListModel listModel;
    private JComponent newContentPane;
    
	public Buecherliste(JFrame parent, String parameter)
	{
		super(parent);

		this.getContentPane().setLayout(null);
	    this.setTitle(parameter);
	    this.setBackground(SystemColor.activeCaptionBorder);
	    this.setSize(500,200);
	    setDefaultCloseOperation(HIDE_ON_CLOSE);

        newContentPane = new ListDemoBuch(parent, this);
        newContentPane.setBounds(20,20,300,200);
        this.setContentPane(newContentPane);        
	}
}
 

foobar

Top Contributor
Auch für dich gilt erstmal Doku lesen dann posten. http://www.java-forum.org/de/viewtopic.php?t=9267

Du mußt ein ListModel implementieren und dann über den selektierten Index aus der Jlist das Element löschen:

Code:
myList = new Jlist(new MyListModel());
...

class MyListModel implements ListModel
{

  // ListModel implementieren


  public void removeElementAt(int index)
  {
     data.remove(index);
     fireListDataChanged();
  }

Der Button ruft dann einfach die Methode removeElement auf:
Code:
 ((MyListModel)myList.getModel()).removeElementAt(myLIst.getSelectedIndex());
 
B

Beni

Gast
Es gibt übrigens ein DefaultListModel, welches dir sehr viel Arbeit abnehmen kann. Das DefaultListModel verhält sich so, als wäre es eine Liste (und hat entsprechend Methoden um Dinge hinzuzufügen, oder zu entfernen).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
richis-fragen Wie kann man den RowSorter dazu bringen die ursprünglich liste wieder anzuzeigen. AWT, Swing, JavaFX & SWT 28
M Vokabelprogram - Schleife für Liste soll schrittweise durchlaufen werden AWT, Swing, JavaFX & SWT 3
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
M Synchronisierte Liste umdrehen AWT, Swing, JavaFX & SWT 1
izoards Liste filtern... AWT, Swing, JavaFX & SWT 2
F Swing Scrollbare Liste von JButton AWT, Swing, JavaFX & SWT 4
T Swing Objekte in Liste AWT, Swing, JavaFX & SWT 2
E Swing Liste in Scrollpane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
S Swing jScrollPane - pro Eintrag der Liste, die jCheckBoxes Speichern die in dem Eintrag aktiviert wurden AWT, Swing, JavaFX & SWT 2
C Liste - ListView wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
R Liste mit Bildern AWT, Swing, JavaFX & SWT 3
P Liste mit Datenobjekt synchron halten AWT, Swing, JavaFX & SWT 2
S Liste von JPanels mit festen Höhen AWT, Swing, JavaFX & SWT 3
L Schöne Ausgabe in Form einer Liste AWT, Swing, JavaFX & SWT 5
1 Liste mit Objekten Füllen AWT, Swing, JavaFX & SWT 7
TheWhiteShadow Swing Buttons in Liste AWT, Swing, JavaFX & SWT 7
D Jtable mit einer Liste befüllen AWT, Swing, JavaFX & SWT 3
P Liste mit Icons und mehreren Spalten AWT, Swing, JavaFX & SWT 7
P Text-Vorschläge für JTextField aus ner Liste laden AWT, Swing, JavaFX & SWT 8
H Puzzle - Listen erstellen, array & liste vergleichen AWT, Swing, JavaFX & SWT 28
A Swing Liste von komplexen Components AWT, Swing, JavaFX & SWT 2
A Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern) AWT, Swing, JavaFX & SWT 7
S JTree mit Liste zur Speicherung AWT, Swing, JavaFX & SWT 3
C Checkbox in Liste deaktivieren und paintComponent explizit aufrufen AWT, Swing, JavaFX & SWT 12
G Swing Komponente gesucht (Textfeld mit Liste) AWT, Swing, JavaFX & SWT 2
M Liste mittels SwingWorker füllen klappt nicht AWT, Swing, JavaFX & SWT 10
D Liste mit Tabellenkopf, Sortierung usw. AWT, Swing, JavaFX & SWT 2
T Swing Liste von Daten anzeigen AWT, Swing, JavaFX & SWT 4
P Swing Liste von Daten auf JFrame AWT, Swing, JavaFX & SWT 6
S Listener der mich informiert wann immer einer Liste ein Element hinzugefuegt wird? AWT, Swing, JavaFX & SWT 4
K Strings aus jTextArea in Liste oder Tabelle übertragen- wie? AWT, Swing, JavaFX & SWT 4
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
J Eine Spezielle (JTable) Liste, wie kann ich das machen? AWT, Swing, JavaFX & SWT 3
L Objekte in Liste oder ähnliches anzeigen AWT, Swing, JavaFX & SWT 3
M Scrollbare Label-Liste AWT, Swing, JavaFX & SWT 6
G Liste einer JCombobox bekommen AWT, Swing, JavaFX & SWT 2
G Dynamische Menüs mit Liste von MRU Dateien AWT, Swing, JavaFX & SWT 2
G Liste in JTable einfügen AWT, Swing, JavaFX & SWT 4
zilti Liste in Swing? AWT, Swing, JavaFX & SWT 5
DEvent Je nach Auswahl in Liste entsprechende Input-Elemente anzeig AWT, Swing, JavaFX & SWT 2
B SWT - Buttons mit zusätzlicher Liste AWT, Swing, JavaFX & SWT 6
T die Liste der Elemente aus einer JComboBox auslesen AWT, Swing, JavaFX & SWT 6
G Jtable mittels Liste füllen AWT, Swing, JavaFX & SWT 3
M JList - Auf ButtonDruck Liste anzeigen AWT, Swing, JavaFX & SWT 12
D Wie Darstellung / Layout als Liste AWT, Swing, JavaFX & SWT 2
P GetSelectetItem() erkennt Variable aus Liste nicht. AWT, Swing, JavaFX & SWT 2
H Liste von Font Sizes und Colors AWT, Swing, JavaFX & SWT 4
C Default table model aktualisieren AWT, Swing, JavaFX & SWT 7
G JavaFX BarChart während der Runtime aktualisieren AWT, Swing, JavaFX & SWT 4
T TableView aktualisieren AWT, Swing, JavaFX & SWT 1
W JavaFX TableView aktualisieren AWT, Swing, JavaFX & SWT 1
D JavaFX Label flackert beim aktualisieren AWT, Swing, JavaFX & SWT 12
J Swing JLabel Verknüpfung aktualisieren AWT, Swing, JavaFX & SWT 3
J JavaFX Label aktualisieren AWT, Swing, JavaFX & SWT 18
M Muss man die ObservableList aktualisieren? AWT, Swing, JavaFX & SWT 3
B Bounds aller Panels aktualisieren AWT, Swing, JavaFX & SWT 0
-DD Lobby/Spielerliste aktualisieren bei Suche AWT, Swing, JavaFX & SWT 1
T JFrame aktualisieren AWT, Swing, JavaFX & SWT 2
M JavaFX Automatisches Aktualisieren der Seite AWT, Swing, JavaFX & SWT 26
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
H JavaFX - Label aktualisieren AWT, Swing, JavaFX & SWT 1
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
Z jLabel von Methode aus aktualisieren AWT, Swing, JavaFX & SWT 7
J JTextfield automatisch aus zweiter Klasse aktualisieren AWT, Swing, JavaFX & SWT 5
J Tableview Daten hinzufügen und aktualisieren AWT, Swing, JavaFX & SWT 5
lumpigerAffe Swing Jframe aktualisieren AWT, Swing, JavaFX & SWT 27
R Swing Durch JComboBox-Item eine TextArea aktualisieren AWT, Swing, JavaFX & SWT 2
C JavaFX TreeTableView aktualisieren AWT, Swing, JavaFX & SWT 10
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
thobren JavaFX textarea nach setPrefRowCount Ansicht aktualisieren AWT, Swing, JavaFX & SWT 1
Regedit JavaFX Java Canvas hört ständig auf zu aktualisieren/malen AWT, Swing, JavaFX & SWT 3
W Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen AWT, Swing, JavaFX & SWT 4
H Combobox aktualisieren AWT, Swing, JavaFX & SWT 2
A JFace/SWT: ListViewer Inhalt nach Selection in zweitem List Viewer aktualisieren! AWT, Swing, JavaFX & SWT 5
L GUI - Jpanel - Splitpane will nicht aktualisieren AWT, Swing, JavaFX & SWT 4
2 Zeit Differenz automatisch aktualisieren AWT, Swing, JavaFX & SWT 1
N JavaFX Stage aktualisieren AWT, Swing, JavaFX & SWT 5
A JComboBox mit Array aktualisieren AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
O Statusleiste mit JLabel aktualisieren AWT, Swing, JavaFX & SWT 5
J JLabel während einer methode aktualisieren AWT, Swing, JavaFX & SWT 6
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
R AWT JLabel oder JButton aktualisieren AWT, Swing, JavaFX & SWT 1
T Int-Wert aktualisieren? AWT, Swing, JavaFX & SWT 9
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
S Combobox aktualisieren AWT, Swing, JavaFX & SWT 3
M Swing Aktualisieren eines JPanels nach Tasteneingabe AWT, Swing, JavaFX & SWT 2
H Swing JfreeChart aktualisieren - mit daten aus thread AWT, Swing, JavaFX & SWT 3
J GUI/Random aktualisieren? AWT, Swing, JavaFX & SWT 3
T JtextPane Zeile aktualisieren AWT, Swing, JavaFX & SWT 3
P Swing Aktualisieren von JFrame in einem onClick-Ereignis AWT, Swing, JavaFX & SWT 11
B JTable aktualisieren AWT, Swing, JavaFX & SWT 22
K SWT DataBinding, Anzahl der Zeilen aktualisieren AWT, Swing, JavaFX & SWT 4
G JRadioButton aktualisieren nicht... AWT, Swing, JavaFX & SWT 10
C ToolTip aktualisieren AWT, Swing, JavaFX & SWT 2
D Swing JComboBox aktualisieren AWT, Swing, JavaFX & SWT 4
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben