U
Urlaubsprogrammierer
Gast
So, hallo erstmal.
Das ist mein erstes mal in diesem Forum, also nicht böse sein, falls ich irgendwas im FAQ übersehen haben sollte...
Also, ich sitze seit ein paar Tagen an einem Projekt, welches den Namen "Einkaufszettel - Alpha" trägt.
Ich programmiere erst seit knapp einem Monat, denke aber, dass ich den Grundansatz von Java verstanden habe.
So, vielleicht poste ich zuerst einmal mein Projekt (in abgespeckter Fassung ):
An der Stelle des Problems , war mein Grundansatz :
das funktionierte jedoch nicht so recht.
Wenn ich das ganze jedoch mit System.out.println() mache zeigt er in der Konsole tadellos den String an.
Eine Idee, was ich falsch gemacht habe???
PS: falls ihr euch das Fenster anschaut: Die Druckmethode muss ich noch machen, und auch die freien Stellen sind mit JTabbedPanes etc belegt, welche ich jedoch der Übersichthalber nicht mit in den Quellcode geschrieben habe.
Das ist mein erstes mal in diesem Forum, also nicht böse sein, falls ich irgendwas im FAQ übersehen haben sollte...
Also, ich sitze seit ein paar Tagen an einem Projekt, welches den Namen "Einkaufszettel - Alpha" trägt.
Ich programmiere erst seit knapp einem Monat, denke aber, dass ich den Grundansatz von Java verstanden habe.
So, vielleicht poste ich zuerst einmal mein Projekt (in abgespeckter Fassung ):
Code:
public class Einkaufszettel extends JFrame implements ActionListener{
public JMenuBar Menuleiste;
public JMenu Menu;
public JMenuItem[] Menupunkt = new JMenuItem[2];
public JButton Add;
public JTextField Addbar;
public JComboBox Vorschläge ;
public JComboBox Gespeichertes ;
public JLabel LVorschläge ;
public JLabel LGespeichertes ;
public JLabel LZusatz ;
public TextArea Zettel;
public String[] SV = new String[19];
public Einkaufszettel()
{
//Fenster gestalten und Eigenschaften übergeben
super("Einkaufszettel - Alpha");
JPanel Grundplatte = new JPanel();
JPanel Platte = new JPanel();
JPanel Platte2 = new JPanel();
this.setUndecorated(false);
this.setResizable(false);
this.setSize(800, 600);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width - 800) / 2, (screenSize.height - 600) / 2);
Grundplatte.setLayout(null);
Platte.setLayout(null);
Platte2.setLayout(null);
//Menubar setzen und Menus einfügen
Menuleiste = new JMenuBar();
Menu = new JMenu("Datei");
Menu2 = new JMenu("Person");
Menupunkt[0] = new JMenuItem("Speicher löschen");
Menupunkt[1] = new JMenuItem("Drucken");
setJMenuBar (Menuleiste);
Menuleiste.add(Menu);
Menu.add(Menupunkt[0]);
Menu.add(Menupunkt[1]);
Menupunkt[0].addActionListener(this);
Menupunkt[1].addActionListener(this);
//JPanels plus Borders (auf Grundplatte)
Platte.setBounds(10,8,397,530);
Platte2.setBounds(415,8,370,530);
Platte.setBorder(BorderFactory.createTitledBorder("Eingabedialog: "));
Platte2.setBorder(BorderFactory.createTitledBorder("Zettel: "));
Grundplatte.add(Platte);
Grundplatte.add(Platte2);
//Addbar und Addbutton
Addbar = new JTextField();
Addbar.setFont(new Font("Arial", Font.ITALIC, 18));
Add = new JButton("Add");
Add.addActionListener(this);
Addbar.setBounds(10, 32, 295, 40);
Add.setBounds(310, 31, 77, 41);
Platte.add(Addbar);
Platte.add(Add);
//TextArea
Zettel = new TextArea(" Einkaufszettel: \n");
Zettel.setBounds(10,20,350,500);
Platte2.add(Zettel);
//Strings für die ComboBoxes
SV[0] = new String ("Äpfel");
SV[1] = new String("Birnen");
SV[2] = new String("Melonen");
SV[3] = new String("Orangen");
SV[4] = new String("Zitronen");
SV[5] = new String("Salat");
SV[6] = new String("Karotten");
SV[7] = new String("Tomaten");
SV[8] = new String("Gurken");
SV[9] = new String("Paprika");
SV[10] = new String("Käse");
SV[11] = new String("Fleisch");
SV[12] = new String("Wurst");
SV[13] = new String("Marmelade");
SV[14] = new String("Milch");
SV[15] = new String("Zucker");
SV[16] = new String("Salz");
SV[17] = new String("Pfeffer");
SV[18] = new String("Süßigkeiten");
//JComboBoxes
Vorschläge = new JComboBox();
Vorschläge.setBounds(10,132,300,40);
Platte.add(Vorschläge);
Vorschläge.addActionListener(this);
Vorschläge.addItemListener(this);
Gespeichertes = new JComboBox();
Gespeichertes.setBounds(10,232,300,40);
Platte.add(Gespeichertes);
Gespeichertes.addActionListener(this);
Gespeichertes.addItemListener(this);
//JComboboxes-Einträge(Vorschläge)
Vorschläge.addItem(SV[0]);
Vorschläge.addItem(SV[1]);
Vorschläge.addItem(SV[2]);
Vorschläge.addItem(SV[3]);
Vorschläge.addItem(SV[4]);
Vorschläge.addItem(SV[5]);
Vorschläge.addItem(SV[6]);
Vorschläge.addItem(SV[7]);
Vorschläge.addItem(SV[8]);
Vorschläge.addItem(SV[9]);
Vorschläge.addItem(SV[10]);
Vorschläge.addItem(SV[11]);
Vorschläge.addItem(SV[12]);
Vorschläge.addItem(SV[13]);
Vorschläge.addItem(SV[14]);
Vorschläge.addItem(SV[15]);
Vorschläge.addItem(SV[16]);
Vorschläge.addItem(SV[17]);
Vorschläge.addItem(SV[18]);
//Frame Sichtbar setzen und setContentPane
setContentPane(Grundplatte);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Object Quelle = e.getSource();
if ( Quelle == Add)
{
Zettel.append("\n-" + Addbar.getText());
}
if(Quelle == Vorschläge)
{
//HIER SITZT DAS PROBLEM!!!
}
}
public static void main(String[] args) {
Einkaufszettel hauptfenster = new Einkaufszettel();
}
}
An der Stelle des Problems , war mein Grundansatz :
Code:
Zettel.append("\n-" + ((String)Vorschläge.getSelectedItem()));
das funktionierte jedoch nicht so recht.
Wenn ich das ganze jedoch mit System.out.println() mache zeigt er in der Konsole tadellos den String an.
Eine Idee, was ich falsch gemacht habe???
PS: falls ihr euch das Fenster anschaut: Die Druckmethode muss ich noch machen, und auch die freien Stellen sind mit JTabbedPanes etc belegt, welche ich jedoch der Übersichthalber nicht mit in den Quellcode geschrieben habe.