Jlist, aktion auslösen

Status
Nicht offen für weitere Antworten.

bernd

Bekanntes Mitglied
Ich habe bisher Ereignisprotzeduren immer über Buttons ausgeführt!
Wie kann ich denn eine auslösen indem ich nur auf einen Eintrag in einer Jlist klicke?
???:L
 
R

Roar

Gast
Ein ListSelectionListener informiert dich üebr selektionen der liste:
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JList.html#addListSelectionListener(javax.swing.event.ListSelectionListener)
 

bernd

Bekanntes Mitglied
Also so in etwa!

Code:
l.addListSelectionListener( new ListSelectionListener() {
      public void valueChanged( ListSelectionEvent e ) {
        System.out.println( e );
 

bernd

Bekanntes Mitglied
Code:
Jlinamen.addListSelectionListener (new ListSelectionListener() {
      public void valueChanged( ListSelectionEvent e ) {
        System.out.println( e );

      }
    } );

Wenn ich das so benutze bekomme ich eine Fehlermeldung:
identifier expected

Das liegt ja meistens an einer "(" oder einem";" aber wo?
???:L
 

DesertFox

Bekanntes Mitglied
in dem fall ist doch e ein ListSelectionEvent, welches man nicht direkt in die Console ausgeben lassen kann. Man kann z.B toString() ,machen.
 

bernd

Bekanntes Mitglied
DesertFox hat gesagt.:
in dem fall ist doch e ein ListSelectionEvent, welches man nicht direkt in die Console ausgeben lassen kann. Man kann z.B toString() ,machen.

Ich denke dann würde ich eine andere Fehlermeldung bekommen!
 

DesertFox

Bekanntes Mitglied
Roar hat gesagt.:
@df: und was ist mir println(Object o) ? ;)
shit, vergessen, aber bei mir gibt dein Code keine Fehler bernd, spuckt beim selektieren genau das was es soll z.B das
javax.swing.event.ListSelectionEvent[ source=javax.swing.JList[,0,0,887x710,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=,
minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,horizontalScrollIncrement=-1,
selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],
selectionForeground=javax.swing.plaf.ColorUIResource[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0] firstIndex= 0 lastIndex= 1 isAdjusting= false ]

Editiert von Roar: zeilenumbrüche reingemachjt :x ;)
 

bernd

Bekanntes Mitglied
DesertFox hat gesagt.:
Roar hat gesagt.:
@df: und was ist mir println(Object o) ? ;)
shit, vergessen, aber bei mir gibt dein Code keine Fehler bernd, spuckt beim selektieren genau das was es soll z.B das
javax.swing.event.ListSelectionEvent[ source=javax.swing.JList[,0,0,887x710,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=
,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,horizontalScrollIncrement=-1,
electionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],
selectionForeground=javax.swing.plaf.ColorUIResource[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0] firstIndex= 0 lastIndex= 1 isAdjusting= false ]

Seltsam, ich bekomme nur ne Fehlermeldung!
:x

Roar: nochmal zeilenumbrüche :-/
 

DesertFox

Bekanntes Mitglied
thats my testcode:
Code:
JFrame f = new JFrame();
JList Jlinamen;
f.getContentPane().add(Jlinamen = new JList(new String[] {"hallo", "tschüss"}));
Jlinamen.addListSelectionListener(new ListSelectionListener() {

public void valueChanged(ListSelectionEvent e) {
System.out.println(e);
}
});
f.pack();
f.setVisible(true);
 

bernd

Bekanntes Mitglied
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;


public class Datei1 {

  public static void main(final String[] args) {
        JFrame f = new JFrame();
    JList Jlinamen;
    f.getContentPane().add(Jlinamen = new JList(new String[] {"hallo", "tschüss"}));
    Jlinamen.addListSelectionListener(new ListSelectionListener() {

    public void valueChanged(ListSelectionEvent e) {
    System.out.println(e);
    }
    });
    f.pack();
    f.setVisible(true);
  }
}

So jetzt hab ich deinen Code mal übernonmmen und bekomme wieder ne Fehlermeldung! :?:
 

DesertFox

Bekanntes Mitglied
du hast vergessen javax.swing.event.*; zu importieren. Bei mir gings, weil mir eclipse die imports automatisch managed :D
 

DesertFox

Bekanntes Mitglied
javax.swing.*
und javax.swing.event.*
sind 2 total verschiedene pagages, wie z.B.
java.awt.*
und java.awt.event.*
, die importierst du ja auch einzeln
 

bernd

Bekanntes Mitglied
DesertFox hat gesagt.:
javax.swing.*
und javax.swing.event.*
sind 2 total verschiedene pagages, wie z.B.
java.awt.*
und java.awt.event.*
, die importierst du ja auch einzeln

Meiner Meinung nach brauch ich die nicht einzelnt zu importieren!
(Hab ich noch nie gemacht!)

Aber selbst wenn ich javax.swing.event.*; importiere gehts nicht!
Ich Poste mal den kompletten Code, vieleicht liegt ja da der Hund begraben!
:)
Code:
import mypackage.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung.
  *
  * @version 1.0 vom 15.11.2004
  * @author
  */

public class Abruf extends JFrame {
  // Anfang Variablen
    private JButton jbuneu = new JButton();
  private JButton jbubeenden = new JButton();
  static String zeile;
  static JList jlinamen = new JList();
  private JTextArea jtadata = new JTextArea("", 1, 1);
// Ende Variablen

  public Abruf(final String title) {
    // Frame-Initialisierung
    super("Datenausgabe");
    addWindowListener(new WindowAdapter() {
      public void windowClosing(final WindowEvent evt) { System.exit(0); } });
    setBounds(50, 40, 600, 400);
    Container cp = getContentPane();
    cp.setLayout(null);

    // Anfang Komponenten
        jbuneu.setText("neuer Eintrag");
        jbuneu.setBounds(5, 340, 110, 20);
    jbuneu.setToolTipText("öffnet die Dateneingabe");
    getContentPane().add(jbuneu);
    jbuneu.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbuneuActionPerformed(evt); } });

    jbubeenden.setText("beenden");
    jbubeenden.setBounds(470, 340, 110, 20);
    jbubeenden.setToolTipText("beendet das Programm");
    getContentPane().add(jbubeenden);
    jbubeenden.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbubeendenActionPerformed(evt); } });

    String[] jlinamenDaten = {};
    jlinamen.setBounds(5, 5, 150, 240);
    jlinamen.setSelectionMode(0);
    getContentPane().add(jlinamen);

    jtadata.setText("");
    jtadata.setBounds(170, 10, 400, 300);
    jtadata.setEditable(false);
    jtadata.setFont(new Font("MS Sans Serif", 1, 8));
    getContentPane().add(jtadata);
// Ende Komponenten

    setVisible(true);
  }

  // Anfang Ereignisprozeduren
    jlinamen.addListSelectionListener( new ListSelectionListener() {
      public void valueChanged( ListSelectionEvent e ) {
        System.out.println(e);
      }
     } );

    public void jbuneuActionPerformed(final ActionEvent evt) {
      Dateingabe d1 = new Dateingabe("Neue Adressen");
//      setVisible(false);
    }
  public void jbubeendenActionPerformed(final ActionEvent evt) {
       System.exit(0);
  }
// Ende Ereignisprozeduren

  public static void main(final String[] args) {
    new Abruf("Abruf");
        try {
        BufferedReader in = new BufferedReader(new FileReader("Adressen\\dat1.txt"));  // ließt die Datei aus
          ArrayList list = new ArrayList();

         while ((zeile = in.readLine()) != null) {
         int i = zeile.indexOf(";");
         list.add(zeile.substring(0, i));
            if(zeile.indexOf("") != -1) {
               jlinamen.setListData(list.toArray());
            }
         }
         in.close();
       }
       catch (Exception e) {
         System.err.println("Fehler bei Datei "+e.toString());
         System.exit(1);
       }
  }


}

In Zeile 69 soll der Fehler sein! ???:L
 

DesertFox

Bekanntes Mitglied
zu awt und awt.event: probiers!!

Zu Code: der Codeabschnitt:
Code:
 // Anfang Ereignisprozeduren
    jlinamen.addListSelectionListener( new ListSelectionListener() {
      public void valueChanged( ListSelectionEvent e ) {
        System.out.println(e);
      }
     } );
ist in keiner Methode, pack das noch dazu in den Konstruktor und setzte die endklammer des Konstruktors anstatt nach setVisible(true), sondern erst nach der Anonymen Klasse, oder noch besser: Setze die Anonyme Klasse vor setVisible(true)
 

bernd

Bekanntes Mitglied
Super hast recht jetzt funktionierts!
Dummer Fehler!!!!!!!!!!

Danke für die Hilfe, wär ich jetzt mit Sicherheit nicht drauf gekommen!
:applaus:
 

Reeb

Mitglied
probiers mal damit, ich weis zwar nicht ob das sein muss, aber ich hab das in meinem Frame so gemacht
...
Code:
public class Datei1 extends JFrame implements WindowListener, ActionListener
[\code]
...

und du solltest die Methode von valueChanged außerhalb der Main schreiben.

hoffe das hilft dir was weiter

Edit: Layout
 

DesertFox

Bekanntes Mitglied
ach @roar + System.out.println(Object o): Ich erinnere mich wage, dass die Implementierung von println(Object o) so aussieht:

println(o.toString());

wodurch ich nur einen Methodenaufruf überspringe, und dadurch meine methode 0,000001 sekunden schneller ist als die: System.out.println(Object o), muahahahahaha 8) .
 
R

Roar

Gast
natürlich sieht sie so aus ;)
und deine paar nanosekunden die du durch einen methodenaufruf sparst kannste dir sonstwohin stecken :bae: ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O JList + ValueChanged = doppelte Aktion?! AWT, Swing, JavaFX & SWT 4
B Jlist füllen AWT, Swing, JavaFX & SWT 4
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
J JList scrollen AWT, Swing, JavaFX & SWT 3
Neumi5694 Swing JList - Klick abfangen AWT, Swing, JavaFX & SWT 3
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
M Swing JList Auswahl-GUI-Konzept AWT, Swing, JavaFX & SWT 9
C JList: Bestimmte Objekte ausschließen AWT, Swing, JavaFX & SWT 1
F JList aktualisiert nicht AWT, Swing, JavaFX & SWT 24
F JList auffüllen aus Array von Instanzen AWT, Swing, JavaFX & SWT 4
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
F JList bei Windowbuilder AWT, Swing, JavaFX & SWT 8
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
P JList erstellen AWT, Swing, JavaFX & SWT 4
G DefaultListModel für JList AWT, Swing, JavaFX & SWT 2
P Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
P Übergeben von ListModel an nichtparametrisierte JList AWT, Swing, JavaFX & SWT 8
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
O Swing JList beim Klicken in der GUI erstellen AWT, Swing, JavaFX & SWT 6
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
T Swing WindowBuilder: JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
D Swing ArrayList in Jlist/ List oder Array in JList/List AWT, Swing, JavaFX & SWT 5
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JList wird angezeigt, JTable (DefaultTableModel) nicht AWT, Swing, JavaFX & SWT 7
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
N AWT Markierte Zeile jList aus mySQL DB löschen AWT, Swing, JavaFX & SWT 2
S JList repaint AWT, Swing, JavaFX & SWT 1
F Swing JTextField in JList (Funktion beibehalten) AWT, Swing, JavaFX & SWT 2
H JList AWT, Swing, JavaFX & SWT 5
B Swing Bild von Webseite herunterladen, diese dann in JList anzeigen. AWT, Swing, JavaFX & SWT 1
B Swing Dynamische JList mit Bildern AWT, Swing, JavaFX & SWT 4
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
S JList Index finden AWT, Swing, JavaFX & SWT 6
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
N JComponenten in JList oder doch anders? AWT, Swing, JavaFX & SWT 0
S Swing JList, ArrayList + DefaultModel AWT, Swing, JavaFX & SWT 5
B Tabelleneinträge in JList anzeigen AWT, Swing, JavaFX & SWT 5
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
M JList Model filtern AWT, Swing, JavaFX & SWT 4
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
T Swing Elemente der JList überlappend darstellen AWT, Swing, JavaFX & SWT 5
P Swing JList mit Objekten - Name anzeigen AWT, Swing, JavaFX & SWT 5
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
K Mehrfachselektierungen in einer JList AWT, Swing, JavaFX & SWT 6
L Swing Component alignment innerhalb einer JList AWT, Swing, JavaFX & SWT 3
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
S Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
E selektierter Datensatz in JList als String Datentyp AWT, Swing, JavaFX & SWT 23
E selektiertes Element aus JList zurückgeben AWT, Swing, JavaFX & SWT 7
E JList /DefaultListModel mit Datenbank verbinden AWT, Swing, JavaFX & SWT 10
L SQL & Jtable o. JList AWT, Swing, JavaFX & SWT 5
K Swing JList und veränderte CellRenderer AWT, Swing, JavaFX & SWT 8
B JList + ListCellRenderer AWT, Swing, JavaFX & SWT 5
B JList -> Disabled AWT, Swing, JavaFX & SWT 6
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7
I Jlist isselectionEmpty AWT, Swing, JavaFX & SWT 4
I Jlist dynamisch aus Datenbank füllen AWT, Swing, JavaFX & SWT 14
R Swing unbegrenzte Anzahl vonEinträgen in JList AWT, Swing, JavaFX & SWT 2
MiMa Dateien aus Ordner in einer JList Ausgeben AWT, Swing, JavaFX & SWT 32
P Elemente einer JList ausgeben AWT, Swing, JavaFX & SWT 11
M JList mit 2-zeiligen Objekten füllen AWT, Swing, JavaFX & SWT 7
S JList mit Einträgen versehen schlägt fehl AWT, Swing, JavaFX & SWT 4
F Swing ArrayList in JList anzeigen und Objekte auswählen AWT, Swing, JavaFX & SWT 2
B JList zeigt Elemente nicht an AWT, Swing, JavaFX & SWT 3
S Fragen zu JList AWT, Swing, JavaFX & SWT 3
B Aktualisierung einer JList AWT, Swing, JavaFX & SWT 5
W JList valueChanges weiterleiten? AWT, Swing, JavaFX & SWT 14
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
E Jlist nur mit Klasse? AWT, Swing, JavaFX & SWT 5
D Swing JList <-> AdapterModel <-> Model AWT, Swing, JavaFX & SWT 4
1 JList - Elemente mit rechter Maustaste wählen AWT, Swing, JavaFX & SWT 6
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
B JList nach dem Rendern sortieren AWT, Swing, JavaFX & SWT 3
T Wie ist das "Lookup-Verhalten" von JList, JCombobox änderbar? AWT, Swing, JavaFX & SWT 4
D JList items voneinander trennen AWT, Swing, JavaFX & SWT 10
E Keine Ausgabe von JList bei drücken von Button auf die Konsole AWT, Swing, JavaFX & SWT 7
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
T JList und Objekte AWT, Swing, JavaFX & SWT 7
M Swing JList Item in andere JList während Ausführung AWT, Swing, JavaFX & SWT 4
V JList filtern AWT, Swing, JavaFX & SWT 6
GianaSisters jList nur einmal ein Element anklicken AWT, Swing, JavaFX & SWT 3
TheWhiteShadow JList-Inhalt nach Änderung weg AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben