Guten Abend,
ich bin absoluter Java-Neuling und benötige etwas Hilfe.
Für Übungszwecke habe ich ein kleines Programm geschrieben, das folgende Funktion hat
- ein Array wird via DefaultListModel an eine Liste übergeben
- Auf Knopfdruck "Remove First" soll das erste Element aus der Liste entfernt werden.
Mein Problem:
Ich habe eine Funktion Actionperformed.
Hier soll via listenModell.removeElementAt(0) das erste Element gelöscht werden. (Zeile 68)
Beim Compilieren kommt aber genau bei dieser Zeile die Meldung
"cannot find symbol"???:L
Das ist insofern verständlich da der Befehl listenModell.removeElementAt(0) in einer anderen Funktion steht und für den Compiler als lokal dargestellt wird.
Schreibe ich die Zeile listenModell.removeElementAt(0) in den Konstruktor funktioniert es, aber ebend nicht mehr auf Knopfdruck.
Meine Fragen:
Wie muss der code geändert werden, damit auf Knopfdruck der erste Listeneintrag aus der Liste entfernt wird.
Wie heisst der Befehl, damit das letzte Listenelement aus der Liste entfernt wird.;(
Ich weiss, fuer einen Könner ist das kein Problem nur ich mache gerade die ersten Versuche.
Fuer einen Hinweis waere ich sehr dankbar.
Gruss Hein_nieH
ich bin absoluter Java-Neuling und benötige etwas Hilfe.
Für Übungszwecke habe ich ein kleines Programm geschrieben, das folgende Funktion hat
- ein Array wird via DefaultListModel an eine Liste übergeben
- Auf Knopfdruck "Remove First" soll das erste Element aus der Liste entfernt werden.
Mein Problem:
Ich habe eine Funktion Actionperformed.
Hier soll via listenModell.removeElementAt(0) das erste Element gelöscht werden. (Zeile 68)
Beim Compilieren kommt aber genau bei dieser Zeile die Meldung
"cannot find symbol"???:L
Das ist insofern verständlich da der Befehl listenModell.removeElementAt(0) in einer anderen Funktion steht und für den Compiler als lokal dargestellt wird.
Schreibe ich die Zeile listenModell.removeElementAt(0) in den Konstruktor funktioniert es, aber ebend nicht mehr auf Knopfdruck.
Meine Fragen:
Wie muss der code geändert werden, damit auf Knopfdruck der erste Listeneintrag aus der Liste entfernt wird.
Wie heisst der Befehl, damit das letzte Listenelement aus der Liste entfernt wird.;(
Java:
/* Listing Testswing.java */
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;
public class Testswing extends JFrame implements ActionListener
{
private static final String[] listen = {"Januar", "Februar", "März",
"April", "Mai", "Juni", "Juli",
"August", "September", "Oktober",
"Dezember"};
public Testswing() //Konstruktor
{
super("Erste Tests mit Swing");
//Grafik definieren und darstellen
//Panels definieren
JPanel centerPanel =new JPanel();// mittleres Panel enthält Liste
JPanel lowerPanel =new JPanel();// unteres Panel enthält Buttons
//Panels mit Elementen versehen
//centerPanel
DefaultListModel listenModell=new DefaultListModel(); //Interface zum Verwalten des Listeninhaltes
for (int i=0; i<listen.length; i++)
{ //Listenelemente Laden
listenModell.addElement(listen[i]);
}
JList fileList=new JList(listenModell);
JScrollPane scrollPane=new JScrollPane(fileList);
centerPanel.add(scrollPane);
//lowerPanel
JButton remButton=new JButton("Remove First");
remButton.addActionListener(this);
lowerPanel.add(remButton);
JButton exitButton=new JButton("Exit");
exitButton.addActionListener(this);
lowerPanel.add(exitButton);
//Panels einfügen
Container contentPane=getContentPane();
contentPane.add(centerPanel, BorderLayout.CENTER);
contentPane.add(lowerPanel, BorderLayout.SOUTH);
//Windows Listener
addWindowListener(new WindowClosingAdapter(true));
}
public void actionPerformed(ActionEvent event)
{
String cmd=event.getActionCommand();
if (cmd.equals("Exit"))
{
setVisible(false);
dispose();
System.exit(0);
}// if
if (cmd.equals("Remove Last"))
{
listenModell.removeElementAt(0);//Erstes Element entfernen
}//if
}
public static void main(String[] args)
{
Testswing frame=new Testswing();
frame.setLocation(100,100);
frame.pack();
frame.setVisible(true);
}//main
}//Class
class WindowClosingAdapter extends WindowAdapter
{
private boolean exitSystem;
public WindowClosingAdapter(boolean exitSystem)
{
this.exitSystem=exitSystem;
}
public WindowClosingAdapter()
{
this(false);
}
public void windowClosingWindow(WindowEvent event)
{
event.getWindow().setVisible(false);
event.getWindow().dispose();
if (exitSystem)
{ System.exit(0); }
}//windowClosingWindow
}//class
Ich weiss, fuer einen Könner ist das kein Problem nur ich mache gerade die ersten Versuche.
Fuer einen Hinweis waere ich sehr dankbar.
Gruss Hein_nieH