Hallo,
Ich habe folgendes Frame erstellt:
Mein Problem ist jetzt das wenn ich denn Code starte(mit Elcipse) kommt bleim Klicken auf Delete immer folgender rießen Fehler:
java.lang.NullPointerException
at FrmNew.FrmNew$3.actionPerformed(FrmNew.java:123)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Ich versteh es einfach nicht, warum kann ich denn selectedIndex nicht auslesen??
Bin für jeden Tip Dankbar!
Mit freundlichen Grüßen
Jan Löbel
Ich habe folgendes Frame erstellt:
Code:
package FrmNew;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JTextField;
import Dialog.AddDialog;
import FrmAbout.FrmAbout;
public class FrmNew extends Frame implements ActionListener {
public static JList jList = null;
private JLabel jLabel1 = null;
private JLabel jLabel = null;
private JTextField jTextField = null;
private JButton jButton = null;
private JButton jButton1 = null;
DefaultListModel dlm = new DefaultListModel(); //ListModul zum Hinzufügen der Liste
public FrmNew() {
super();
addWindowListener( /*Auf Befehle im Fenster warten*/
new WindowAdapter() /*Max-Minimieren-Beenden*/ {
public void windowClosing(WindowEvent event)
{
setVisible(false);
dispose();
System.exit(0);
}
}
);
initialize();
}
private void initialize() { /*Laden des Frames*/
jLabel = new JLabel(); //Picture-Label
jLabel1 = new JLabel(); //Comment-Label
JList jList = new JList(dlm);
this.setLayout(null);
this.setBackground(java.awt.Color.lightGray);
this.setSize(350, 240);
this.setTitle("Fotofuture - New"); //Titel des Forumlars
setMenuBar(new NewMenue(this));//Menü oben einfügen
jLabel.setBounds(24, 57, 50, 17);
jLabel.setText("Picture:");
jLabel1.setBounds(9, 195, 64, 17);
jLabel1.setText("Comment:");
jList.setBounds(80, 60, 160, 125);
this.add(jList,null); //Hinzufügen der Liste
this.add(jLabel, null); //Hinzufügen des Picture-Labels
this.add(jLabel1, null); //Hinzufügen des Comment-Labels
this.add(getJTextField(), null); //Hinzufügen des Comment-Text-Feldes
this.add(getJButton(), null); //Hinzufügen des Add-Buttons
this.add(getJButton1(), null); //Hinzufügen des Add-Buttons
this.show();
}
public void actionPerformed(ActionEvent event) {//Für das Menü
String cmd = event.getActionCommand();
if (cmd.equals("Exit")){
setVisible(false);
dispose();
System.exit(0);
}
else if(cmd.equals("About")){
FrmAbout about = new FrmAbout();
}
}
private JTextField getJTextField() { //Comment-Textbox
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(80, 200, 160, 20);
}
return jTextField;
}
private JButton getJButton() { //Add-Button
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(250, 60, 75, 25);
jButton.setText("Add");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("button ADD wurde geklickt!");
String strPath;
strPath = AddDialog.AddDia();
if (strPath != null){
dlm.addElement(strPath);
}else{
System.out.println("strPath: " + strPath);
}
}
});
}
return jButton;
}
private JButton getJButton1() { //Delete-Button
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(250, 85, 75, 25);
jButton1.setText("Delete");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("button DELETE wurde geklickt!");
int index = jList.getSelectedIndex(); // das ist selektiert
System.out.println(index);
}
});
}
return jButton1;
}
public void addEintrag(String Eintrag){ //Funktion um der Liste einen Eintrag hinzuzufügen
dlm.addElement(Eintrag);
}
public void rmEintrag(int Index){ //Funktion um in der Liste einen Eintrag zu löschen
dlm.removeElementAt(Index);
}
}
Mein Problem ist jetzt das wenn ich denn Code starte(mit Elcipse) kommt bleim Klicken auf Delete immer folgender rießen Fehler:
java.lang.NullPointerException
at FrmNew.FrmNew$3.actionPerformed(FrmNew.java:123)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Ich versteh es einfach nicht, warum kann ich denn selectedIndex nicht auslesen??
Bin für jeden Tip Dankbar!
Mit freundlichen Grüßen
Jan Löbel