Varför visar mitt program thread "main" java.lang.IllegalArgumentException: illegal component position ??
package SelfTest;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JComboBoxtest extends JFrame implements ActionListener{
JComboBox lista = new JComboBox();
JLabel ord = new JLabel();
JButton del = new JButton("Ta bort");
JButton add = new JButton("Lägga till");
public JComboBoxtest(){
setLayout(new FlowLayout());
add(new JLabel("Skriv vad som helst"), JLabel.RIGHT);
add(lista);
add(ord);
add(del);
add(add);
ord.setHorizontalAlignment(JLabel.RIGHT);
lista.setEditable(true);
lista.addActionListener(this);
add.addActionListener(this);
del.addActionListener(this);
setSize(200,100);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
String var = (String) lista.getSelectedItem();
ord.setText("Hi"+ var+"!");
if(e.getSource()==add)
lista.addItem(lista);
if(e.getSource()==del)
lista.removeItem(lista);
}
public static void main (String[] args){
JComboBoxtest box = new JComboBoxtest();
}
}
Det är kod som jag har skrivit.
Jag ska göra ett JComboBox program som man kan addera eller ta bort items i JComboBox med hjälp av knapparna lägga till och ta bort.
Men när jag kör program, java visar felutskrift
Exception in thread "main" java.lang.IllegalArgumentException: illegal component position
at java.awt.Container.addImpl(Container.java:1087)
at java.awt.Container.add(Container.java:1005)
at javax.swing.JFrame.addImpl(JFrame.java:567)
at java.awt.Container.add(Container.java:467)
at SelfTest.JComboBoxtest.<init>(JComboBoxtest.java:18)
at SelfTest.JComboBoxtest.main(JComboBoxtest.java:43)
C:\Users\(Mit namn, det är sekret)\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
Vad har jag gjort fel?