Buttons funktionieren nicht

mrnarn

Mitglied
Hallo,

ich habe ein Problem mit meinem JAVA-Programm. Das Programm soll eigentlich nur ein einfaches Backup Programm mit 2 Buttons sein. Nur leider funktionieren bei mir die Buttons nicht. Ich hab schon ca. 1 Stunde im Internet gesucht, aber es klappt irgendwie nicht. Wenn ich auf die Buttons klicke passiert nichts. Bin noch totaler Anfänger was Java angeht.

Hier der Code (ich hab die CopyDirectory und andere Klassen zur Übersicht weggelassen.):

Java:
package Minecraft_Backup_Package;

import javax.swing.JFrame;

public class Hauptklasse {

	public static void main(String[] args) {
		
		JFrame aussehenobjekt = new Aussehen();
		
		
		
	}
	
}


Java:
package Minecraft_Backup_Package;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

public class Aussehen extends JFrame {
	
	JLabel text;
	private JButton restore;
	private JButton erstellen;
	
	
	public  Aussehen() {
		setLayout(null);
		setVisible(true);
		setSize(400, 400);
		setTitle("Minecraft Backup");
		setResizable(false);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		JLabel text = new JLabel("Bitte wählen Sie ein Verfahren aus!");
		
		text.setBounds(40, 10,300,40);
		
		Font schriftart = new Font("Times New Roman", Font.BOLD, 20);
		text.setFont(schriftart);
		add(text);
	
		JButton restore = new JButton("Backup wiederherstellen");
		JButton erstellen = new JButton("Backup erstellen");
		
		erstellen.setBounds(100, 100, 185,30);
		restore.setBounds(100, 160, 185,30);
		
		add(erstellen);
		add(restore);
	
		DerHandler handler = new DerHandler();
		erstellen.addActionListener(handler);
		restore.addActionListener(handler);
		
	}
	
	
	private class DerHandler implements ActionListener{

		AndereMethoden amObjekt = new AndereMethoden();
		
		@Override
		public void actionPerformed(ActionEvent event) {		
			if(event.getSource()==erstellen) {
				JOptionPane.showMessageDialog(null, "Button geklickt!");
				amObjekt.BackupErstellen();
			}
			else if(event.getSource()==restore)
				JOptionPane.showMessageDialog(null, "Button 2 geklickt!");
				amObjekt.BackupWiederherstellen();
		}		
	}
				
		

		
		
	
	
	
}


Hoffe ich bin hier richtig, bin neu in diesem Forum.


mfg
 
Java:
AndereMethoden amObjekt = new AndereMethoden()
Du erstellst ein neues Objekt und rufst darauf Methoden auf. Hat das Objekt interne Referenzen auf irgendwas, worauf du zugreifen kannst?
 
Java:
AndereMethoden amObjekt = new AndereMethoden()
Du erstellst ein neues Objekt und rufst darauf Methoden auf. Hat das Objekt interne Referenzen auf irgendwas, worauf du zugreifen kannst?


Java:
package Minecraft_Backup_Package;

import java.io.File;

import javax.swing.JOptionPane;

public class AndereMethoden {

	CopyDirectory copyobjekt = new CopyDirectory();
	
	File quelle;
	File ziel;
	
	public void BackupErstellen() {
		File quelle = new File("C:/Users/Mr/AppData/Roaming/.minecraft/saves");
		File ziel = new File ("C:/Users/Mr/Desktop");
		
		try {
		copyobjekt.copyDir(quelle,ziel);
		JOptionPane.showMessageDialog(null,"Backup wurde erstellt!");
		}
		
		catch(Exception e) {
			JOptionPane.showMessageDialog(null,"Es ist ein Fehler aufgetreten. Backup wurde nicht erstellt.");
			
		}
	}
	
	
	public void BackupWiederherstellen() {
		File ziel = new File("C:/Users/Mr/AppData/Roaming/.minecraft/saves");
		File quelle = new File ("C:/Users/Mr/Desktop");
		
		try {
		copyobjekt.copyDir(quelle,ziel);
		JOptionPane.showMessageDialog(null,"Backup wurde wiederhergestellt!");
		}
		
		catch(Exception e) {
			JOptionPane.showMessageDialog(null,"Es ist ein Fehler aufgetreten. Backup wurde nicht wiederhergestellt..");
			
		}
	}
	
	
	
}


Hier ist die Klasse, wofür ich das Objekt brauche. Ich hab die Klasse nur zur Übersicht weggelassen, weil sie auch funktioniert. Das Problem sind die Buttons.
 
Java:
   JButton restore = new JButton("Backup wiederherstellen");
        JButton erstellen = new JButton("Backup erstellen");
Du erstellst lokale Variablen. Verwende deine Instanz-Variablen.
 
Java:
   JButton restore = new JButton("Backup wiederherstellen");
        JButton erstellen = new JButton("Backup erstellen");
Du erstellst lokale Variablen. Verwende deine Instanz-Variablen.


Ich bin leider totaler Anfänger und weiß nicht genau was du jetzt mit Instanz-Variablen meinst.🙁
Vielleicht kannst du mal den Code schreiben, wie das dann auszusehen hat. Vielleicht versteh ich dann, was du meinst.

EDIT: Hab es jetzt verstanden und nun klappt auch alles🙂. Vielen Dank für deine schnelle Hilfe.



mfg
 
Zuletzt bearbeitet:

Zurück
Oben