Hallo,
ich versuche gerade eine ArrayList in einen Array zu verändern. Ich bekomme allerdings jedes mal, wenn es versuche (durch Knopfdruck), einen Fehler.
Hier ist mein Programm:
Vielen Dank für jede Hilfe!
ich versuche gerade eine ArrayList in einen Array zu verändern. Ich bekomme allerdings jedes mal, wenn es versuche (durch Knopfdruck), einen Fehler.
Code:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(Unknown Source)
at Gui$5.actionPerformed(Gui.java:128)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.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 javax.swing.JComponent.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.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(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)
Hier ist mein Programm:
Java:
import java.awt.BorderLayout;
public class Gui extends JFrame {
private JPanel contentPane;
private JTextField tfDateiName;
private PrintWriter pWriter;
private JLabel lbNachrichtStart;
private JTextArea taAusgabe;
private ArrayList<File> arrayDateiNamen = new ArrayList<>();
private File folder = new File("Vokabeln\\");
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Gui frame = new Gui();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Gui() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 560, 400);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new CardLayout(0, 0));
JPanel panelStart = new JPanel();
contentPane.add(panelStart, "name_118404362997596");
panelStart.setLayout(null);
tfDateiName = new JTextField();
tfDateiName.setBounds(10, 45, 140, 20);
panelStart.add(tfDateiName);
tfDateiName.setColumns(10);
JLabel lbNeueDatei = new JLabel("Neue Vokabeldatei erstellen");
lbNeueDatei.setBounds(10, 20, 163, 14);
panelStart.add(lbNeueDatei);
JButton btDateiErstellen = new JButton("Datei erstellen");
btDateiErstellen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
pWriter = new PrintWriter(new BufferedWriter(new FileWriter("Vokabeln\\"+tfDateiName.getText(),true)),true);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
lbNachrichtStart.setText("Bitte etwas in das Textfeld eingeben!");
}
}
});
btDateiErstellen.setBackground(Color.WHITE);
btDateiErstellen.setBounds(185, 43, 140, 25);
panelStart.add(btDateiErstellen);
lbNachrichtStart = new JLabel("");
lbNachrichtStart.setBounds(10, 80, 250, 14);
panelStart.add(lbNachrichtStart);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
arrayDateiNamen.add(folder);
}
});
btnNewButton.setBounds(353, 44, 89, 23);
panelStart.add(btnNewButton);
JButton btnArray = new JButton("Array");
btnArray.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
for(File file : folder.listFiles()){
for (int i = 0; i < arrayDateiNamen.size(); i++) {
folder=arrayDateiNamen.get(i);
taAusgabe.append(file.getName());
taAusgabe.append("\n");
}
}
}
});
btnArray.setBounds(353, 89, 89, 23);
panelStart.add(btnArray);
taAusgabe = new JTextArea();
taAusgabe.setBounds(296, 123, 228, 217);
panelStart.add(taAusgabe);
JButton btnArraylistToArray = new JButton("ArrayList to Array");
btnArraylistToArray.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String[] arrayEins = arrayDateiNamen.toArray(new String[arrayDateiNamen.size()]);
}
});
btnArraylistToArray.setBounds(61, 239, 133, 23);
panelStart.add(btnArraylistToArray);
JPanel panelVokabelnEingeben = new JPanel();
contentPane.add(panelVokabelnEingeben, "name_118406666671530");
}
}
Vielen Dank für jede Hilfe!