Ich hab das Thema in noch keinem anderen Forum gefunden, deshalb nochmal direkt ein neues aufgemacht, hoffe das ist okay
Ich hab ein Problem mit dem FileChooser. Den einzubinden ist ja kein Problem, aber kann es sein, dass man damit nur den String des Dateinamens und den Pfad ausliest, die Datei aber gar nicht geöffnet wird?
Da brauch ich auch keinen FileChooser wenn die Datei eh nicht geöffnet wird. Oder hab ich da was vergessen?
Hab auch gegoogelt und im Sun Java Tutorial geschaut, aber da bin ich immer nur auf das gestoßen, was aber die Datei nicht geöffnet hat!
Hier der Code:
[HIGHLIGHT="Java"]package menuleiste;
import java.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class MenuFrame extends JFrame {
public MenuFrame()
{
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
textfeld = new javax.swing.JTextField();
jMenuBar1 = new javax.swing.JMenuBar();
Datei = new javax.swing.JMenu();
neu = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
öffnen = new javax.swing.JMenu();
awt = new javax.swing.JMenuItem();
swing = new javax.swing.JMenuItem();
speichern = new javax.swing.JMenuItem();
bearbeiten = new javax.swing.JMenu();
ende = new javax.swing.JMenu();
tschuess = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Gewählter Menueintrag:");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textfeld, javax.swing.GroupLayout.PREFERRED_SIZE, 339, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addContainerGap(51, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textfeld, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(228, Short.MAX_VALUE))
);
Datei.setText("Datei");
neu.setText("neu");
Datei.add(neu);
Datei.add(jSeparator1);
öffnen.setText("öffnen");
awt.setText("AWT öffnen");
awt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
awtActionPerformed(evt);
}
});
öffnen.add(awt);
swing.setText("Swing öffnen");
öffnen.add(swing);
Datei.add(öffnen);
speichern.setText("speichern");
speichern.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
speichernActionPerformed(evt);
}
});
Datei.add(speichern);
jMenuBar1.add(Datei);
bearbeiten.setText("Bearbeiten");
jMenuBar1.add(bearbeiten);
ende.setText("Ende");
tschuess.setText("Und tschuess...");
tschuess.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tschuessActionPerformed(evt);
}
});
ende.add(tschuess);
jMenuBar1.add(ende);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void tschuessActionPerformed (java.awt.event.ActionEvent evt)
{
System.exit(0);
}
// Von hier -->
private void awtActionPerformed (java.awt.event.ActionEvent evt)
{
JFileChooser fc = new JFileChooser("F:/");
if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
{
File file = fc.getSelectedFile();
System.out.println(file.getAbsoluteFile());
}
} // <-- bis hier
private void speichernActionPerformed (java.awt.event.ActionEvent evt)
{
}
// Variables declaration - do not modify
private javax.swing.JMenu Datei;
private javax.swing.JMenuItem awt;
private javax.swing.JMenu bearbeiten;
private javax.swing.JMenu ende;
private javax.swing.JLabel jLabel1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JPanel jPanel1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JMenuItem neu;
private javax.swing.JMenuItem speichern;
private javax.swing.JMenuItem swing;
private javax.swing.JTextField textfeld;
private javax.swing.JMenuItem tschuess;
private javax.swing.JMenu öffnen;
// End of variables declaration
}
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MenuFrame().setVisible(true);
}
});
}
}[/HIGHLIGHT]
Ich hab ein Problem mit dem FileChooser. Den einzubinden ist ja kein Problem, aber kann es sein, dass man damit nur den String des Dateinamens und den Pfad ausliest, die Datei aber gar nicht geöffnet wird?
Da brauch ich auch keinen FileChooser wenn die Datei eh nicht geöffnet wird. Oder hab ich da was vergessen?
Hab auch gegoogelt und im Sun Java Tutorial geschaut, aber da bin ich immer nur auf das gestoßen, was aber die Datei nicht geöffnet hat!
Hier der Code:
[HIGHLIGHT="Java"]package menuleiste;
import java.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class MenuFrame extends JFrame {
public MenuFrame()
{
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
textfeld = new javax.swing.JTextField();
jMenuBar1 = new javax.swing.JMenuBar();
Datei = new javax.swing.JMenu();
neu = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
öffnen = new javax.swing.JMenu();
awt = new javax.swing.JMenuItem();
swing = new javax.swing.JMenuItem();
speichern = new javax.swing.JMenuItem();
bearbeiten = new javax.swing.JMenu();
ende = new javax.swing.JMenu();
tschuess = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Gewählter Menueintrag:");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textfeld, javax.swing.GroupLayout.PREFERRED_SIZE, 339, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addContainerGap(51, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textfeld, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(228, Short.MAX_VALUE))
);
Datei.setText("Datei");
neu.setText("neu");
Datei.add(neu);
Datei.add(jSeparator1);
öffnen.setText("öffnen");
awt.setText("AWT öffnen");
awt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
awtActionPerformed(evt);
}
});
öffnen.add(awt);
swing.setText("Swing öffnen");
öffnen.add(swing);
Datei.add(öffnen);
speichern.setText("speichern");
speichern.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
speichernActionPerformed(evt);
}
});
Datei.add(speichern);
jMenuBar1.add(Datei);
bearbeiten.setText("Bearbeiten");
jMenuBar1.add(bearbeiten);
ende.setText("Ende");
tschuess.setText("Und tschuess...");
tschuess.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tschuessActionPerformed(evt);
}
});
ende.add(tschuess);
jMenuBar1.add(ende);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void tschuessActionPerformed (java.awt.event.ActionEvent evt)
{
System.exit(0);
}
// Von hier -->
private void awtActionPerformed (java.awt.event.ActionEvent evt)
{
JFileChooser fc = new JFileChooser("F:/");
if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
{
File file = fc.getSelectedFile();
System.out.println(file.getAbsoluteFile());
}
} // <-- bis hier
private void speichernActionPerformed (java.awt.event.ActionEvent evt)
{
}
// Variables declaration - do not modify
private javax.swing.JMenu Datei;
private javax.swing.JMenuItem awt;
private javax.swing.JMenu bearbeiten;
private javax.swing.JMenu ende;
private javax.swing.JLabel jLabel1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JPanel jPanel1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JMenuItem neu;
private javax.swing.JMenuItem speichern;
private javax.swing.JMenuItem swing;
private javax.swing.JTextField textfeld;
private javax.swing.JMenuItem tschuess;
private javax.swing.JMenu öffnen;
// End of variables declaration
}
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MenuFrame().setVisible(true);
}
});
}
}[/HIGHLIGHT]
Zuletzt bearbeitet von einem Moderator: