Hallo,
ich habe ein folgendes Problem. Ich schreibe gerade ein Programm, das eine Todo List darstellen soll. Es sollte so aussehen, das ich einen kompletten Inhalt von JPanel an einen JListModel weiterleite und das an der grafischen Oberfläche anzeigen lasse. Allerdings ist mein Problem dies weiter zu leiten. Ebenso wird der JPanel von einer anderne Klasse gefüllt <- das bekomme ich noch hin. Was ich nicht hinbekomme ist, den Panel an die JList weiter zu leiten und dies anzeigen lassen. Hier sind meine Lösungsversuche:
EntryPanel (der JPanel)
Und hier ist die GUI mit der JList
Ich zeige allerdings die meist relevanten Elemente meinen Code. Weitere Fragen werde ich schnell beantworten. Vielen Dank im Voraus für eure Hilfe. Die weiß ich wirklich zu schätzen.
ich habe ein folgendes Problem. Ich schreibe gerade ein Programm, das eine Todo List darstellen soll. Es sollte so aussehen, das ich einen kompletten Inhalt von JPanel an einen JListModel weiterleite und das an der grafischen Oberfläche anzeigen lasse. Allerdings ist mein Problem dies weiter zu leiten. Ebenso wird der JPanel von einer anderne Klasse gefüllt <- das bekomme ich noch hin. Was ich nicht hinbekomme ist, den Panel an die JList weiter zu leiten und dies anzeigen lassen. Hier sind meine Lösungsversuche:
EntryPanel (der JPanel)
Java:
package TODO;
import java.awt.*;
import java.util.*;
import javax.swing.*;
public class EntryPanel extends JPanel{
private JCheckBox checkBox;
private JLabel datum;
private JLabel termination;
private boolean checked;
private String date;
private String term;
EntryPanel(boolean checked, String date, String term){
GridBagLayout gridbagL = new GridBagLayout();
GridBagConstraints gridbagC = new GridBagConstraints();
termination = new JLabel(getTerm());
datum = new JLabel(getDate());
checkBox = new JCheckBox();
this.setLayout(gridbagL);
gridbagC.anchor = GridBagConstraints.LINE_START;
gridbagC.gridx = 1;
gridbagC.gridy = 1;
gridbagC.weightx = 0;
this.add(checkBox);
gridbagC.fill = GridBagConstraints.HORIZONTAL;
gridbagC.gridx = 2;
gridbagC.gridy = 1;
gridbagC.weightx = 2;
this.add(datum);
gridbagC.gridx = 3;
gridbagC.gridy = 1;
gridbagC.weightx = 2;
this.add(termination);
}
public String getDate() {
return date;
}
public void setDate(String taskTime) {
this.date = taskTime;
}
public String getTerm() {
return term;
}
public void setTerm(String term) {
this.term = term;
}
}
Und hier ist die GUI mit der JList
Java:
private JMenuItem menuItem = new JMenuItem("...mit SQL Datenbanken");
private JMenuItem menuItemAdd = new JMenuItem("Eintrag hinzufügen");
private JMenuItem menuItemDel = new JMenuItem("Eintrag löschen");
private JMenuItem menuItemClose = new JMenuItem("Schliessen");
private JMenuItem menuItemAbout = new JMenuItem("Info");
private DefaultListModel<JPanel> model = new DefaultListModel<JPanel>();
private JList<JPanel> myList = new JList<JPanel>();
private JFrame myFrame;
private String date = null;
private String term = null;
EntryPanel ep = new EntryPanel(true, date, term);
GUI(){
date = ep.getDate();
term = ep.getTerm();
JMenuBar myMenu = new JMenuBar();
JMenu menuConnection = new JMenu("Verbindung");
JMenu menuSettings = new JMenu("Bearbeiten");
JMenu menuDisplay = new JMenu("Anzeige");
JMenu menuInfo = new JMenu("Info");
myFrame = new JFrame("TODO List");
menuItem = new JMenuItem("...mit SQL Datenbanken");
menuItemAdd = new JMenuItem("Eintrag hinzufügen");
menuItemDel = new JMenuItem("Eintrag löschen");
menuItemClose = new JMenuItem("Schliessen");
menuItemAbout = new JMenuItem("Info");
menuItemAdd.addActionListener(this);
menuItemAdd.setActionCommand("add");
menuItemClose.addActionListener(this);
menuItemClose.setActionCommand("close");
menuItemAbout.addActionListener(this);
menuItemAbout.setActionCommand("info");
myFrame.setLayout(new BorderLayout());
//Implementierung MenuBar in die Frame
myFrame.add(myMenu);
myFrame.setJMenuBar(myMenu);
//Implementierung MenuItems in die Menus
myMenu.add(menuConnection);
myMenu.add(menuSettings);
myMenu.add(menuDisplay);
myMenu.add(menuInfo);
menuConnection.add(menuItem);
menuSettings.add(menuItemAdd);
menuSettings.add(menuItemDel);
menuDisplay.add(menuItemClose);
menuInfo.add(menuItemAbout);
myFrame.setSize(400,200);
myFrame.setResizable(false);
myFrame.setLocationRelativeTo(null);
myFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
myFrame.add(myList, BorderLayout.CENTER);
model.addElement(new EntryPanel(true, ep.getDate(), ep.getTerm()));
model.addElement(ep);
myFrame.setVisible(true);
}//GUI()
public void actionPerformed(ActionEvent ae) {
if(ae.getActionCommand().equals("add")){
AddDialog aD = new AddDialog();
EntryPanel EntryPanel = new EntryPanel(false, date, term);
}