Java Oberfläche Code einfügen

Flooow

Mitglied
Guten Morgen,

Ich hab ein kleines Problem, und zwar möchte ich das das dieser code


Code:
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInput {

  // Anfang Attribute
  // Ende Attribute



  // Anfang Methoden
  public static void main(String[] args) {

    File file = new File("Mappe11.csv");
    FileInputStream fis = null;
    BufferedInputStream bis = null;
    DataInputStream dis = null;

    try {
      fis = new FileInputStream(file);

      // Here BufferedInputStream is added for fast reading.
      bis = new BufferedInputStream(fis);
      dis = new DataInputStream(bis);

      // dis.available() returns 0 if the file does not have more lines.
      while (dis.available() != 0) {

      // this statement reads the line from the file and print it to
        // the console.
        System.out.println(dis.readLine());
      }

      // dispose all the resources after using them.
      fis.close();
      bis.close();
      dis.close();

    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  // Ende Methoden
}

bei einem Knopf in meiner GUI eingefügt wird
jedoch wirft mir das pro dauernt nur Fehler, könnte mir das einer Richtigerweise in meine Oberfläche einfügen?

Code:
// Anfang Methoden
  public void button1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }

  public void button2_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }

der angefügte code soll halt bewirken das eine Datei eingelesen und ausgegeben wird

vielen dank =)
 
Zuletzt bearbeitet:
Also :D
ich kann java eig. kein stück xD

und ich hab ernsthaft kein plan wie ich das da vernümftig reinbekomm -.-*

programm, entschuldige mich bitte =)

ich hab mir ja auch schon gedacht das es an der Main-Methode liegt jedoch weiß ich nich
wie ich die so umschreibe das es passt. Das einlesen Funktioniert auch, nur halt nich beim button.
 
Moin,

Also :D
ich kann java eig. kein stück xD

und ich hab ernsthaft kein plan wie ich das da vernümftig reinbekomm -.-*

programm, entschuldige mich bitte =)

ich hab mir ja auch schon gedacht das es an der Main-Methode liegt jedoch weiß ich nich
wie ich die so umschreibe das es passt. Das einlesen Funktioniert auch, nur halt nich beim button

aha - das ist jetzt die Beschreibung der auftretenden Fehler :confused: :confused: :confused:

(a) Du musst den/die Listener den jeweiligen gewünschten Button zuordnen
(b) Ich sehe in Deiner main-Methode KEINE Button, denen ein Listener zugeordnet werden könnte
(c) die Listener enthalten den gewünschten, der bei Anklicken des jeweiligen Button ausgeführt werden soll

http://openbook.galileocomputing.de...10_002.htm#mj6367b03ecdf1b782fddcf60ac6d4658c

Gruß
Klaus
 
Die main-Methode kannst du natürlich nicht irgendwo einfügen, du kannst aber den Inhalt der Methode dort einfügen, wo du ihn brauchst oder du schreibst eine neue Methode, befüllst diese mit deinem Zeug und rufst sie dann beim Klick auf den Button auf.

Aber so oder so, ich würde mal sagen, dass du dir mal Tutorials oder Dokumentationen, z.B. Javainsel (gibts als Openbook bei galileo-computing), anschaust, da dir offensichtlich jede Menge Grundlagen fehlen.
 
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 27.04.2011
  * @author
  */

public class neue extends JFrame {
  // Anfang Attribute
  private Label label1 = new Label();
  private Button button1 = new Button();
  private TextField textField1 = new TextField();
  private Label label2 = new Label();
  private TextField textField2 = new TextField();
  private Button button2 = new Button();
  private TextArea textArea1 = new TextArea("", 1, 1, TextArea.SCROLLBARS_NONE);
  private Label label3 = new Label();
  private Button Auswahl = new Button();
  private Button button3 = new Button();
  // Ende Attribute

  public neue(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 523;
    int frameHeight = 545;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    label1.setBounds(24, 184, 91, 16);
    label1.setText("Anrufnummer:");
    label1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(label1);
    button1.setBounds(24, 88, 75, 25);
    button1.setLabel("Suche");
    button1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        button1_ActionPerformed(evt);
      }
    });
    cp.add(button1);
    textField1.setBounds(8, 48, 121, 24);
    textField1.setText("textField1");
    cp.add(textField1);
    label2.setBounds(16, 16, 107, 16);
    label2.setText("Telefonnummer:");
    label2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(label2);
    textField2.setBounds(8, 216, 121, 24);
    textField2.setText("textField2");
    cp.add(textField2);
    button2.setBounds(24, 256, 75, 25);
    button2.setLabel("Suche");
    button2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        button2_ActionPerformed(evt);
      }
    });
    cp.add(button2);
    textArea1.setBounds(256, 112, 217, 249);
    textArea1.setText("(Ergebnis)");
    cp.add(textArea1);
    label3.setBounds(336, 72, 67, 16);
    label3.setText("Ergebnis:");
    label3.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(label3);
    Auswahl.setBounds(304, 24, 123, 25);
    Auswahl.setLabel("Auswahl Csv");
    Auswahl.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        Auswahl_ActionPerformed(evt);

      }
    });
    cp.add(Auswahl);
    button3.setBounds(8, 304, 139, 25);
    button3.setLabel("Gesamt CSV Ausgabe");
    button3.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        button3_ActionPerformed(evt);
      }
    });
    cp.add(button3);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  public void button1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }

  public void button2_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }

  public void Auswahl_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }

  public void button3_ActionPerformed(ActionEvent evt) {

    }

  // Ende Methoden

  public static void main(String[] args) {
    new neue("neue");
  }
}

seh ich das jez falsch?
ich mein ich hab hier doch dem Button1 nen actionlistener hinzugefügt`?

danke
 
Und wo ist das Problem, alles aus der Main methode (von oben) in deine Methode
Java:
  public void button1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }
einzufuegen? :)

PS: Methodennamen immer klein und Klassennamen immer gross schreiben :)
 
Hallo Flooow,

ja, klar du hast für jeden button einen action listener, nur die methoden die beim implementierten actionPerformed aufgerufen werden machen hald nix.
Du kanst ruhig das datei-öffnen in die statische methode einer anderen Klasse auslagern, die sollte dann aber nicht main heißen und 'String[] args' übergeben bekommen!
Ich hab dir mal den Code der beiden Klassen etwas überarbeited.
(Bei mir kahm hald ne FileNotFoundException, aber wenn du die Datei 'Mappe11.csv' im Verzeichniss der Class-Dateien bzw. des JAR´s hast, müsste es klappen.

Hiel mal der neue Quellcode:

Java:
package buttontutorials;

import java.awt.Button;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class Neue extends JFrame {

    // Attribute
    private Label label1 = new Label();
    private Button button1 = new Button();
    private TextField textField1 = new TextField();
    private Label label2 = new Label();
    private TextField textField2 = new TextField();
    private Button button2 = new Button();

    private TextArea textArea1 = new TextArea("", 1, 1, TextArea.SCROLLBARS_NONE);
    private Label label3 = new Label();
    private Button auswahl = new Button();
    private Button button3 = new Button();

    // Konstruktor
    public Neue(String title) {
        
        // Frame-Initialisierung
        super(title);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        int frameWidth = 523;
        int frameHeight = 545;
        setSize(frameWidth, frameHeight);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (d.width - getSize().width) / 2;
        int y = (d.height - getSize().height) / 2;
        setLocation(x, y);
        Container cp = getContentPane();
        cp.setLayout(null);

        // Komponenten
        label1.setBounds(24, 184, 91, 16);
        label1.setText("Anrufnummer:");
        label1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
        cp.add(label1);
        button1.setBounds(24, 88, 75, 25);
        button1.setLabel("Suche");
        button1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                System.out.println("butten 1 has been pressed, its text is: "+evt.getActionCommand());
            }
        });
        cp.add(button1);
        textField1.setBounds(8, 48, 121, 24);
        textField1.setText("textField1");
        cp.add(textField1);
        label2.setBounds(16, 16, 107, 16);
        label2.setText("Telefonnummer:");
        label2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
        cp.add(label2);
        textField2.setBounds(8, 216, 121, 24);
        textField2.setText("textField2");
        cp.add(textField2);
        button2.setBounds(24, 256, 75, 25);
        button2.setLabel("Suche");
        button2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                System.out.println("butten 2 has been pressed, its text is: "+evt.getActionCommand());
            }
        });
        cp.add(button2);
        textArea1.setBounds(256, 112, 217, 249);
        textArea1.setText("(Ergebnis)");
        cp.add(textArea1);
        label3.setBounds(336, 72, 67, 16);
        label3.setText("Ergebnis:");
        label3.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
        cp.add(label3);
        auswahl.setBounds(304, 24, 123, 25);
        auswahl.setLabel("Auswahl Csv");
        auswahl.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                System.out.println("butten 'auswahl' has been pressed, its text is: "+evt.getActionCommand());
            }
        });
        cp.add(auswahl);
        button3.setBounds(8, 304, 139, 25);
        button3.setLabel("Gesamt CSV Ausgabe");
        button3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                System.out.println("butten 3 has been pressed, its text is: "+evt.getActionCommand());
                FileInput.printCSVFile();
            }
        });
        cp.add(button3);

        // endgültige Frame-Initialisierung
        setResizable(false);
        setVisible(true);
    }

    // wird beim start eines ausführbaen JAR´s aufgerufen, dessen Haupt-Klasse 'Neue' ist
    public static void main(String[] args) {
        Neue n = new Neue("Neue");
    }

}

Java:
package buttontutorials;

import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FileInput {

  // statische Methoden
    public static void printCSVFile() {

        File file = new File("Mappe11.csv");
        FileInputStream fis = null;
        BufferedInputStream bis = null;
        DataInputStream dis = null;

        try {
            fis = new FileInputStream(file);

            // Here BufferedInputStream is added for fast reading.
            bis = new BufferedInputStream(fis);
            dis = new DataInputStream(bis);

            // dis.available() returns 0 if the file does not have more lines.
            while (dis.available() != 0) {

                // this statement reads the line from the file and print it to
                // the console.
                System.out.println(dis.readLine());
            }

            // dispose all the resources after using them.
            fis.close();
            bis.close();
            dis.close();

        }
        catch (FileNotFoundException e) {
            System.err.println(e.toString());
        }
        catch (IOException e) {
            System.err.println(e.toString());
        }

    }

}

javaDeveloper2011
 
JavaDeveloper, deinen Tatendrang alle ehre, aber meinst du net, es ist besser wenn er/ sie es selber macht anstatt es fertig 'serviert' zu bekommen? :)
 
Zurück