Klassen Klasse bei Button klick öffnen

Fabbbyyy

Mitglied
Hallo,

ich bin grade dabei ein Programm zu erstellen, welches bei Knopfdruck ( Button ) eine Textdatei speichern soll.
Das habe ich auch soweit geschafft.
Nun soll bei Knopfdruck dieses Programm gestartet werden. Dazu habe ich ein komplett unabhängiges neues Programm geschrieben :
mCAyedI.png

Dieses Programm heißt "MainAuswahl". Hier der Source Code dazu :
Java:
package Ausgabe;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random; 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JButton; 
import javax.swing.JLabel;
import javax.swing.JTextField;
import Ausgabe.finalv1;

public class MainAuswahl extends JFrame implements ActionListener {
	
    private JButton buttonspeichern;  
	private JButton buttonlesen;
	
	
	public MainAuswahl(String titel) {
		
		super( titel );
		setLayout( new FlowLayout());	
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
		buttonlesen = new JButton("Lesen");
        buttonspeichern = new JButton("Speichern"); 
        buttonlesen.addActionListener(this);
        buttonspeichern.addActionListener(this); 
        this.getContentPane().add(buttonlesen);
        this.getContentPane().add(buttonspeichern); 
        this.getContentPane().setLayout(null);
        buttonlesen.setSize(190, 55);
        buttonspeichern.setSize(190, 55);
        buttonlesen.setLocation(260,90);
        buttonspeichern.setLocation(30, 90);	
        
	} 
		
	public void actionPerformed(ActionEvent e) 
	{
	
		if(e.getSource() == buttonspeichern){
			
			
			
			//new finalv1().setVisible(true);
		
			/*try {
		     Runtime.getRuntime().exec("E:\\workspace\\DateiReader by SupaHotCrew\\kk.jar");
			} catch (IOException e1) {
				
				e1.printStackTrace();
			} */
			
			//finalv1 f = new finalv1();
			}
	}

	public static void main(String[] args) {
		
		MainAuswahl auswahl = new MainAuswahl (" DateiReader ");	
		auswahl.setSize(500, 280);
		auswahl.setVisible(true);	
	}

}

In der ActionPerformed habe ich schon mehrere Dinge ausprobiert ( sind mit // gekennzeichnet ) allerdings hat nichts funktioniert obwohl keine Fehler angezeigt werden.

Das eigentliche Programm, welches die Text Datei speichern soll, heißt finalv1.

Der Code dazu hier :

Java:
package Ausgabe;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random; 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JButton; 
import javax.swing.JLabel;
import javax.swing.JTextField;


public class finalv1 extends JFrame implements ActionListener {
	
    public JButton button;
    FileWriter writer;
	File file;
	JLabel labela = new JLabel (" Text eingeben : ");
	JTextField fielda = new JTextField(20);
	
	public finalv1() {
		
		super();
		setLayout( new FlowLayout());	
		add(labela);
		add(fielda);		
		fielda.addActionListener(this);
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
        button = new JButton("Speichern"); 
        button.addActionListener(this); 
        this.getContentPane().add(button); 		
        
	}  	
	
	public void speichern(){
		String xy = fielda.getText();
    if (xy.equals("")){
        JLabel label2 = new JLabel ();
		add (label2);
        label2.setOpaque(true);
        label2.setSize(800, 60);
        label2.setLocation(35, 70);
        label2.setText("- FAILED - PLEASE RESTART PROGRAM -");
        label2.setForeground(Color.RED);
        this.getContentPane().setLayout(null);
    }
    
    else
	{
		String Text= fielda.getText();
		 file = new File("C:/Users/Phillip/Documents/data.txt");  // Datei anlegen
		    JLabel label = new JLabel ();
			add (label);
	        label.setOpaque(true);
	        label.setSize(60, 60);
	        label.setLocation(120, 70);
	        label.setText("-SAVED-");
	        label.setForeground(Color.GREEN);
	        this.getContentPane().setLayout(null);
		    
	     try {
	       writer = new FileWriter(file ,false);                  // True = Text wird angehängt, False = neue Datei
	       writer.write(Text);                                // Text in den Stream
	       //writer.write(System.getProperty("line.separator"));   // Zeilenumbruch      
	       //writer.write(eingabe2);                 // Nächster Text in den Stream
	       writer.flush();              // Stream wird in die Datei geschrieben ( immer am Ende)
	       writer.close();              // Stream wird geschlossen
	    } 
	
	
	     catch (IOException e)
	     {
	      e.printStackTrace();
	     }
	}}
	
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource() == button){  
            speichern(); 		
	}
	}

	public static void main(String[] args) {
		
		finalv1 schreiben = new finalv1 ();	
		schreiben.setSize(300, 180);
		schreiben.setVisible(true);	
	}

}

Wieso funktioniert das so nicht ? Kann mir jemand helfen ?

Grüße.
 

chuxXo

Bekanntes Mitglied
Du hast echt eine verrückte Einrückung, deines SourceCodes :D
Warum hast du ein unabhängiges Programm geschrieben, anstatt dieses zu integrieren ?
 

Fabbbyyy

Mitglied
Ist ein Projekt und ich habe es Schritt für Schritt gemacht um erstmal zu sehen ob alles so funktioniert.
Ich habe auch schon drüber nachgedacht es einfach alles zusammen zu schreiben.
Wäre mir aber echt zu kompliziert wenn es auch so "einfach" geht :D
 

chuxXo

Bekanntes Mitglied
Was ist daran denn kompliziert ? :) Du startest auf Knopfdruck einfach die entsprechende Methode der anderen Klasse anstatt einen neuen Prozess zu eröffnen.
 

Fabbbyyy

Mitglied
Stimmt schon, allerdings müsste ich ja dann auch ein neues Fenster öffnen, button, texte etc. hinzufügen :s
Würde ich als not Lösung dann auch machen aber irgendwie muss es ja so funktionieren :/
 

chuxXo

Bekanntes Mitglied
Also ein Teil deines Programms zu exportieren, und dann dieses wieder zu starten ist ja nicht der feine Weg :)
Was ist das für eine .jar Datei ? Executable ? Oder eine normale .jar Datei ? Sonst musst du definieren, dass dieses mit Java gestartet werden soll, genau wie du es auch machen musst, wenn du es aus der Konsole startest.

Das mit den Buttons ist doch kein Problem !
 

chuxXo

Bekanntes Mitglied
Ok. Wenn du mir nochmal genau erläutert was dein Ziel ist, also welche Funktionen du zusammen haben möchtest, helf ich dir, die Klassen zu verknüpfen. Ich hab selbst keine Ahnung mehr, an was da liegen könnte :)
 

Fabbbyyy

Mitglied
Also :
Ich habe einmal MainAuswahl als eigenes Java Projekt welches die Auswahl zeigt zwischen Speichern und Lesen.
Bei einem Klick auf Speichern soll die .Jar Datei ausgeführt werden, welche ein neues Fenster öffnet wo man einen Text speichern kann ( diese Jar ist ja schon vorhanden, Source Code steht ja auch oben(finalv1) ).
Verstehst du ?
 

chuxXo

Bekanntes Mitglied
Dann mach "public static void main(String[] args)" zu einer Methode, und ruf diese durch einen Klick auf den Button auf ;)
 

arilou

Bekanntes Mitglied
Ähm, das ist bereits eine Methode; und niemand hindert ihn, die (ohne weitere Änderung) aus einem ActionListener zu starten...

Die ursprüngliche Idee sollte eigentlich auch funktionieren;
zwischenzeitlich könntest du
Java:
Process proc = Runtime.getRuntime().exec( new String[]
      { "cmd" , "/k" , "\"java -jar E:\\workspace\\DateiReader by SupaHotCrew\\kk.jar\"" } );
proc.waitFor();
ja mal ausprobieren.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Mit Button neue Klasse öffnen Allgemeine Java-Themen 9
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
R Klasse über Button Event in anderer Klasse informieren Allgemeine Java-Themen 11
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
A Zweite Service Klasse beim Kompilieren Allgemeine Java-Themen 6
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
Atten007 Java-Klasse auf macOS entpacken? Allgemeine Java-Themen 2
M Klasse durch Klassen Aufteilung verbessern, aber wo? Allgemeine Java-Themen 1
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
Y ImagePanel von anderer Klasse in eine MainFrame Klasse hinzufügen. Allgemeine Java-Themen 1
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
missy72 Klassen Eigene Klasse MessageWindow ähnlich der Alert Klasse Allgemeine Java-Themen 2
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
kanywayne Java programmieren: Polynom Klasse Allgemeine Java-Themen 4
L Die abzuleitende Klasse als Parameter übergeben Allgemeine Java-Themen 4
S Klassen Einfügen von unbekannter menge an Variablen in eine Klasse mithilfe von ASM Allgemeine Java-Themen 5
C Klasse mit Mockito simulieren Allgemeine Java-Themen 9
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
Thallius Key/Value Table in Klasse einlesen Allgemeine Java-Themen 14
S static in Interface und Klasse Allgemeine Java-Themen 2
W Was genau sind IOTools? Kann ich stattdessen nicht die Scanner Klasse verwenden? Allgemeine Java-Themen 3
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
D javassist API Klasse in MethodCall ermitteln Allgemeine Java-Themen 8
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
J Builder Klasse mit Lombok bauen Allgemeine Java-Themen 2
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
M [SOAP] - Klasse aus WSDL ausschließen Allgemeine Java-Themen 2
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
X Klassen Klasse BreakIterator Allgemeine Java-Themen 6
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
pkm Kann eine ServerSocket-Klasse nicht stateful sein? Allgemeine Java-Themen 4
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
M Matcher-Klasse findet match nicht Allgemeine Java-Themen 6
cool_brivk24 Variablen abfragen von Boolean von anderer Klasse Allgemeine Java-Themen 12
S Seltsames Ergebnis mit Date-Klasse Allgemeine Java-Themen 6
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
Neoline Klassen Singleton Klasse buchmanager Allgemeine Java-Themen 19
M Kapselung Modellierung von Intervallen: Klasse Interval Allgemeine Java-Themen 4
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
ReinerCoder Klasse kann nicht public deklariert werden Allgemeine Java-Themen 2
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
J IndexOutOfBoundsException bei der Nutzung der Klasse Message von mime4j Allgemeine Java-Themen 5
P Array einer abstrakten Klasse Allgemeine Java-Themen 4
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
kodela Dynamisches Array in einer Klasse Allgemeine Java-Themen 5
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
perlenfischer1984 Lombok Builder soll andere Klasse bauen Allgemeine Java-Themen 4
perlenfischer1984 Mit Lombok Builder Felder in Super Klasse füllen Allgemeine Java-Themen 12
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
K Best Practice Auf die Klasse zugreifen im erzeugten ActionListener Allgemeine Java-Themen 2
J Reflection mit Klasse und Subklasse Allgemeine Java-Themen 11
magdaStone Logikproblem Umschalten von booleans in anderer Klasse Allgemeine Java-Themen 7
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
A Java Klasse auf Tomcat während der Laufzeit austauschen Allgemeine Java-Themen 1
C Abstrakte Klasse, lokale Variable-Problem Allgemeine Java-Themen 1
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12
Messoras Klassen Sämtliche Variablen einer Klasse übernehmen Allgemeine Java-Themen 6
H Methoden Methode 'updateItem' der Klasse 'TreeCell' Allgemeine Java-Themen 3
B Animierte Klasse schreiben - Wie? Allgemeine Java-Themen 9
M Klassen Eine Klasse in mehreren Klassen einbinden Allgemeine Java-Themen 11
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
L Eclipse JavaFX Klasse starten programmatisch Allgemeine Java-Themen 1
F Try/catch über ganze Klasse Allgemeine Java-Themen 9
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
so_ein_Komischer Erste Schritte java Math Klasse finden? Allgemeine Java-Themen 2
J beans.instantiate(): Klasse kann nicht instanziiert werden Allgemeine Java-Themen 2
I Interface Interface / Klasse - wieso Abstract? Allgemeine Java-Themen 13
R Abstrakte Basisklasse und instanzierte Objekte der abgeleiteten Klasse als Basisklasse übergeben Allgemeine Java-Themen 2
F Methodenaufruf mit abgeleiteter Klasse als Arg... Allgemeine Java-Themen 10
M Klasse in separaten Thread ausführen.Wie genau? Allgemeine Java-Themen 2
A Best Practice Unterschied zwischen einer sauberen Dependency Injection und einer statischen Klasse Allgemeine Java-Themen 5
F Methoden in der Enumeration Klasse Allgemeine Java-Themen 1
S Die Initialisierung von Feldern in ableitender Klasse erzwingen..? Allgemeine Java-Themen 16
S Mit Generics Klasse erstellen die selbst T erweitert..? Allgemeine Java-Themen 4
M Variable außerhalb Klasse definierbar? Allgemeine Java-Themen 2
F Abstrakte Klasse in "For each" Schleife Allgemeine Java-Themen 1
F Enums als innere Klasse sinnvoll? Allgemeine Java-Themen 3
C Klassen Problem mit Funktion einer Generischen Klasse die ein Interface implementiert Allgemeine Java-Themen 0
K Problem: Java-Klasse mit mehreren Threads als eigenen Prozess starten Allgemeine Java-Themen 3
N Automatisches einfügen einer selbst generierten ID in Klasse mit Annotation Allgemeine Java-Themen 8
F OOP Datenbank-Klasse überall verfübar Allgemeine Java-Themen 2
E KeyCode in anderer Klasse speichern Allgemeine Java-Themen 2
B Klassen Eigene Klasse als Array benutzen Allgemeine Java-Themen 3
M File IO Klasse ... wie einbinden Allgemeine Java-Themen 6
M XML DOM Klasse die Iterable Implementiert Allgemeine Java-Themen 1
P Name der Parent Klasse abfragen Allgemeine Java-Themen 8
D Arraylist eigener Klasse an iReport übergeben Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben