Hey,
Ich schreibe mir gerade ein Programm was mir eine Liste von Kontakten anzeigt und wenn ich drauf klicke kommt !bis jetzt! nur eine Nachricht mit der ID und dem Namen. Da ich habe auch ein Hauptmenu habe und ich hin und her switchen kann, wird diese Klasse natürlich öfter aufgerufen.
Nun ist mein Problem, ich bekomme zwar hin das die Elemente sich nicht verdoppeln in der Liste und auch keine Fehler kommen aber ich bekomme anstatt 2 Nachrichten standard z.b 4 wenn ich diese Klasse 2x öffne. Könnte man irgendwie das ListSelectionEvent entfernen beim switchen und beim starten direkt wieder hinzufügen?
Code:
Die closeInstagramNormal wird beim ActionListener ausgeführt wenn man auf mein erstellten Button Back drückt.
Ich schreibe mir gerade ein Programm was mir eine Liste von Kontakten anzeigt und wenn ich drauf klicke kommt !bis jetzt! nur eine Nachricht mit der ID und dem Namen. Da ich habe auch ein Hauptmenu habe und ich hin und her switchen kann, wird diese Klasse natürlich öfter aufgerufen.
Nun ist mein Problem, ich bekomme zwar hin das die Elemente sich nicht verdoppeln in der Liste und auch keine Fehler kommen aber ich bekomme anstatt 2 Nachrichten standard z.b 4 wenn ich diese Klasse 2x öffne. Könnte man irgendwie das ListSelectionEvent entfernen beim switchen und beim starten direkt wieder hinzufügen?
Code:
Java:
package com.hacking.programm.source;
import java.awt.Font;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import com.hacking.programm.utils.Manager;
public class InstagramNormal {
static JFrame InstagramNormal;
static JButton Back;
static JList<Element> list = new JList<>();
static DefaultListModel<Element> model = new DefaultListModel<>();
JSplitPane pane = new JSplitPane();
public InstagramNormal() {
Manager.createOtherFrames("Hacking-Programm - Instagram Normal", "/com/hacking/programm/files/Icon.jpg", 750,
800, JFrame.EXIT_ON_CLOSE, false, true, false, true);
Manager.createPanel(InstagramNormal);
InstagramNormal = Manager.otherframes;
Manager.createExitButton(InstagramNormal);
Manager.createBackgroundButton(InstagramNormal);
Manager.createReloadButton(InstagramNormal);
Manager.createInstagramButton(InstagramNormal);
Manager.createYouTubeButton(InstagramNormal);
Manager.createBackButton(InstagramNormal);
Manager.createLabel("Instagram", new Font("Mad Hacker", 0, 75), 75, -80, 650, 210, InstagramNormal);
list.setModel(model);
list.setFixedCellWidth(170);
list.setBorder(new EmptyBorder(0, 0, 0, 575));
model.addElement(new Element("das das", 1));
model.addElement(new Element("dfdffd", 2));
model.addElement(new Element("grgtgttgr", 3));
model.addElement(new Element("rethrehtthr", 4));
Manager.panel.add(list);
list.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent ls) {
Element e = list.getSelectedValue();
System.out.println(e.getID() + " " + e.getName());
}
});
JScrollPane scrollPane = new JScrollPane(list);
scrollPane.setBounds(1, 100, 200, 600);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
InstagramNormal.add(scrollPane);
Manager.reloadPanel(InstagramNormal, Manager.panel);
SwingUtilities.updateComponentTreeUI(InstagramNormal);
}
public static class Element {
String name;
int id;
public Element(String name, int id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getID() {
return id;
}
public void setID(int id) {
this.id = id;
}
@Override
public String toString() {
return name;
}
}
public static void closeInstagramNormal() {
model.removeAllElements();
InstagramNormal.dispose();
Manager.frame.setVisible(true);
}
}
Die closeInstagramNormal wird beim ActionListener ausgeführt wenn man auf mein erstellten Button Back drückt.