Hi,
im Vergleich zu euch allen bin ein Java-Starter und fange gerade an meine ersten Versuche mit GUI und Swing zu machen. Das klappt auch schin ganz gut....für die einen Problemchen braucht man halt etwas länger....und für dieses brauche ich jetzt schon sehr lange :-/
Also ich habe Klasse für einen JDialog programmiert, in dem man Wörter eingibt. Diese Wörter möchte ich dann bei Klixx auf einen Button in einer verketteten Liste speichern, welche nicht nur in der Klasse/Methode existiert, sondern auch in der main verfügbar ist.... ich komm einfach net drauf....
Wie kann ich Elemente in eine Liste der main-Methode über eine Methode einer andere Klasse hinzufügen???
Vielen Dank für Eure Hilfe!!
Gruß
Olli
hier mein Code (CItem sind die Objekte, welche in der Liste geadded werden sollen):
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Iterator;
import java.util.LinkedList;
public class addKrit extends JDialog implements ActionListener {
private static String suchbegriff;
JTextField eingabefeld = new JTextField();
CItem test = new CItem();
// -----------------------------------------------------------------------------------------
// Buttons/Labels
public addKrit() {
super();
this.setTitle("Kriterium hinzufügen");
this.setResizable(false);
this.setSize(new Dimension(445, 113));
this.setModal(true);
this.getContentPane().setLayout(null);
this.setLocation(600,600);
eingabefeld.setText("");
eingabefeld.setBounds(new Rectangle(103, 19, 321, 22));
// -----------------------------------------------------------------------------------------
// Buttons/Labels
JLabel label = new JLabel();
label.setText("Kriterium:");
label.setBounds(new Rectangle(13, 15, 80, 29));
JButton btnOK = new JButton();
btnOK.setBounds(new Rectangle(13, 51, 202, 25));
btnOK.setText("hinzufügen");
this.getRootPane().setDefaultButton(btnOK);
btnOK.addActionListener(this);
JButton btnAbbrechen = new JButton();
btnAbbrechen.setBounds(new Rectangle(222, 51, 202, 25));
btnAbbrechen.setText("Abbrechen");
btnAbbrechen.addActionListener(this);
this.getContentPane().add(label, null);
this.getContentPane().add(eingabefeld, null);
this.getContentPane().add(btnOK, null);
this.getContentPane().add(btnAbbrechen, null);
}
public void actionPerformed(ActionEvent e) {
String label = e.getActionCommand();
if(label.equals("hinzufügen")) {
suchbegriff = null;
suchbegriff=eingabefeld.getName();
test.Kriterium=getSuchbegriff();
//CItem aktuell.setKriterium(eingabefeld.getText());
KritList.add(aktuell);
//KritList.add(new CItem(eingabefeld.getText()));
System.out.println(aktuell.Kriterium); //eingabe testen
setVisible(false);
}
else if(label.equals("Abbrechen")) {
suchbegriff = null;
setVisible(false);
}
}
// Diese Funktion liefert den eingegebenen Suchstring zurück
public static String getSuchbegriff() {
return suchbegriff;
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Color;
import java.awt.Container;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import java.util.Iterator;
import java.util.LinkedList;
public class main {
CItem aktuell=new CItem();
public static void main(String args[]) {
// Fenster erzeugen und anzeigen
LinkedList<CItem> KritList = new LinkedList<CItem>();
Iterator<CItem> it=KritList.iterator();
CItem test = new CItem();
CItem aktuell=new CItem();
gui hauptfenster = new gui();
hauptfenster.setSize(1200,800);
hauptfenster.setLocation(100,100);
hauptfenster.setVisible(true);
}
im Vergleich zu euch allen bin ein Java-Starter und fange gerade an meine ersten Versuche mit GUI und Swing zu machen. Das klappt auch schin ganz gut....für die einen Problemchen braucht man halt etwas länger....und für dieses brauche ich jetzt schon sehr lange :-/
Also ich habe Klasse für einen JDialog programmiert, in dem man Wörter eingibt. Diese Wörter möchte ich dann bei Klixx auf einen Button in einer verketteten Liste speichern, welche nicht nur in der Klasse/Methode existiert, sondern auch in der main verfügbar ist.... ich komm einfach net drauf....
Wie kann ich Elemente in eine Liste der main-Methode über eine Methode einer andere Klasse hinzufügen???
Vielen Dank für Eure Hilfe!!
Gruß
Olli
hier mein Code (CItem sind die Objekte, welche in der Liste geadded werden sollen):
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Iterator;
import java.util.LinkedList;
public class addKrit extends JDialog implements ActionListener {
private static String suchbegriff;
JTextField eingabefeld = new JTextField();
CItem test = new CItem();
// -----------------------------------------------------------------------------------------
// Buttons/Labels
public addKrit() {
super();
this.setTitle("Kriterium hinzufügen");
this.setResizable(false);
this.setSize(new Dimension(445, 113));
this.setModal(true);
this.getContentPane().setLayout(null);
this.setLocation(600,600);
eingabefeld.setText("");
eingabefeld.setBounds(new Rectangle(103, 19, 321, 22));
// -----------------------------------------------------------------------------------------
// Buttons/Labels
JLabel label = new JLabel();
label.setText("Kriterium:");
label.setBounds(new Rectangle(13, 15, 80, 29));
JButton btnOK = new JButton();
btnOK.setBounds(new Rectangle(13, 51, 202, 25));
btnOK.setText("hinzufügen");
this.getRootPane().setDefaultButton(btnOK);
btnOK.addActionListener(this);
JButton btnAbbrechen = new JButton();
btnAbbrechen.setBounds(new Rectangle(222, 51, 202, 25));
btnAbbrechen.setText("Abbrechen");
btnAbbrechen.addActionListener(this);
this.getContentPane().add(label, null);
this.getContentPane().add(eingabefeld, null);
this.getContentPane().add(btnOK, null);
this.getContentPane().add(btnAbbrechen, null);
}
public void actionPerformed(ActionEvent e) {
String label = e.getActionCommand();
if(label.equals("hinzufügen")) {
suchbegriff = null;
suchbegriff=eingabefeld.getName();
test.Kriterium=getSuchbegriff();
//CItem aktuell.setKriterium(eingabefeld.getText());
KritList.add(aktuell);
//KritList.add(new CItem(eingabefeld.getText()));
System.out.println(aktuell.Kriterium); //eingabe testen
setVisible(false);
}
else if(label.equals("Abbrechen")) {
suchbegriff = null;
setVisible(false);
}
}
// Diese Funktion liefert den eingegebenen Suchstring zurück
public static String getSuchbegriff() {
return suchbegriff;
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Color;
import java.awt.Container;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import java.util.Iterator;
import java.util.LinkedList;
public class main {
CItem aktuell=new CItem();
public static void main(String args[]) {
// Fenster erzeugen und anzeigen
LinkedList<CItem> KritList = new LinkedList<CItem>();
Iterator<CItem> it=KritList.iterator();
CItem test = new CItem();
CItem aktuell=new CItem();
gui hauptfenster = new gui();
hauptfenster.setSize(1200,800);
hauptfenster.setLocation(100,100);
hauptfenster.setVisible(true);
}
Comment