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???
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);
}
}