Huhu Leute!
Ich habe mal eine Frage zu einem code den ich im internet gefunden habe.
Ich habe bei meinem eigenen Programm dann versucht den einzubauen und auch zu verstehen. Nur wenn ich dann immer mein Programm öffne, hat es:
1. Ladeprobleme: Entweder sehe ich nur das JMenu, oder es laden nur einzelne Teile dessen was eigentlich erscheinen sollte ???:L
2. Ich kann zwar etwas speichern über die Funktion aus dem code oben, aber kann es leider nicht öffnen
Da der anscheinend so nicht richtig funktioniert (so wie ich es eingebaut habe) würde ich gerne mal von euch wissen, ob ihr vielleicht einen anderen simplen aber dennoch guten und funktionierenden code zum speichern kennt. Ich möchte es gern so haben dass das programm dann alle variablen speichert und beim öffnen an die jeweiligen stellen einsetzt.
Hoffe ihr könnt mir dabei helfen!
MfG Blackpixel456
PS: Ich habe den code mal so getestet ohne irgendwas anderes und funktioniert wunderbar.
Ich habe mal eine Frage zu einem code den ich im internet gefunden habe.
Java:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class FileDialogDemo extends JFrame implements ActionListener{
private JMenuItem jmiOpen;
private JMenuItem jmiSave;
private JMenuItem jmiExit;
private JMenuItem jmiAbout;
private JTextArea jta = new JTextArea();
private JLabel jlblStatus = new JLabel();
private JFileChooser jFileChooser = new JFileChooser();
public static void main(String [] args){
FileDialogDemo frame = new FileDialogDemo();
frame.setLocation(100, 200);
frame.setTitle("Test JFileChooser");
frame.setSize(300,150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public FileDialogDemo(){
JMenuBar mb = new JMenuBar();
setJMenuBar(mb);
JMenu fileMenu = new JMenu("File");
mb.add(fileMenu);
JMenu helpMenu = new JMenu("Help");
mb.add(helpMenu);
fileMenu.add(jmiOpen = new JMenuItem("Open"));
fileMenu.add(jmiSave = new JMenuItem("Save"));
fileMenu.addSeparator();
fileMenu.add(jmiExit = new JMenuItem("Exit"));
helpMenu.add(jmiAbout = new JMenuItem("About"));
jFileChooser.setCurrentDirectory(new File("."));
getContentPane().add(new JScrollPane(jta), BorderLayout.CENTER);
getContentPane().add(jlblStatus, BorderLayout.SOUTH);
jmiOpen.addActionListener(this);
jmiSave.addActionListener(this);
jmiExit.addActionListener(this);
jmiAbout.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
String actionCommand = e.getActionCommand();
if (e.getSource() instanceof JMenuItem){
if ("Open" .equals(actionCommand)){
open();
}
else if ("Save" .equals(actionCommand)){
save();
}
else if ("About" .equals(actionCommand)){
JOptionPane.showMessageDialog(this, "Demonstrate Using File Dialogs",
"About this Demo", JOptionPane.INFORMATION_MESSAGE);
}
else if ("Exit" .equals(actionCommand)){
System.exit(0);
}
}
}
private void open(){
if (jFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION){
open(jFileChooser.getSelectedFile());
}
}
private void open(File file){
try{
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
byte [] b = new byte[in.available()];
in.read(b, 0, b.length);
jta.append(new String(b, 0, b.length));
in.close();
jlblStatus.setText(file.getName() + " opened");
}
catch(IOException ex){
jlblStatus.setText("Error opening file " + file.getName());
}
}
private void save(){
if (jFileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION){
save(jFileChooser.getSelectedFile());
}
}
private void save(File file){
try{
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
byte [] b = (jta.getText()).getBytes();
out.write(b, 0, b.length);
out.close();
jlblStatus.setText(file.getName() + " saved ");
}
catch (IOException ex){
jlblStatus.setText("Error saving " + file.getName());
}
}
}
Ich habe bei meinem eigenen Programm dann versucht den einzubauen und auch zu verstehen. Nur wenn ich dann immer mein Programm öffne, hat es:
1. Ladeprobleme: Entweder sehe ich nur das JMenu, oder es laden nur einzelne Teile dessen was eigentlich erscheinen sollte ???:L
2. Ich kann zwar etwas speichern über die Funktion aus dem code oben, aber kann es leider nicht öffnen
Da der anscheinend so nicht richtig funktioniert (so wie ich es eingebaut habe) würde ich gerne mal von euch wissen, ob ihr vielleicht einen anderen simplen aber dennoch guten und funktionierenden code zum speichern kennt. Ich möchte es gern so haben dass das programm dann alle variablen speichert und beim öffnen an die jeweiligen stellen einsetzt.
Hoffe ihr könnt mir dabei helfen!
MfG Blackpixel456
PS: Ich habe den code mal so getestet ohne irgendwas anderes und funktioniert wunderbar.
Zuletzt bearbeitet: