Probleme mit einer JOptionPane in einem jar-File

Status
Nicht offen für weitere Antworten.

Alex_winf01

Top Contributor
Ich habe da ein komisches Problem:

Code:
angemeldeter_User = txt_username.getText();
JOptionPane.showMessageDialog(null, copyright, "Copyright", JOptionPane.INFORMATION_MESSAGE);

if(angemeldeter_User.equals("sa"))
{
     StartFrame frm = new StartFrame("Fenster für SA");
     frm.setVisible(true);
     frm.setResizable(false);
     frm.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
else
{
     Start start = new Start("Fenster für normale Anwender");
     start.setVisible(true);
     start.setResizable(false);
     start.setExtendedState(JFrame.MAXIMIZED_BOTH);
}

Jetzt kommt es: Dieser Code funzt, solange ich mein Programm aus meinem Editor heraus starte, aber sobald ich das Programm aus einem jar-File starte, wird das JOptionPane zwar angezeigt, es geht dann aber nicht weiter. Keinerlei Fehlermeldungen in der dos-Konsole, wenn ich das jar-File von dort aus starte.

Kann mir jemand helfen?
 

André Uhres

Top Contributor
Funktioniert bei mir: TestOption.jar

Code:
package demo;

import javax.swing.*;

public class NewMain {

    public NewMain() {
        String copyright = "copyright";
        JOptionPane.showMessageDialog(null, copyright, "Copyright", JOptionPane.INFORMATION_MESSAGE);
        Start start = new Start("Fenster für normale Anwender");
        start.setVisible(true);
        start.setResizable(false);
        start.setExtendedState(JFrame.MAXIMIZED_BOTH);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new NewMain();
            }
        });

    }
}
class Start extends JFrame{
    public Start(String title){
        super(title);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
}
 

Alex_winf01

Top Contributor
@ André Uhres

ich habe mir mal eine bat-Datei geschrieben, aus der ich das Jar-File aufrufe. Das Jar-File wird aufgerufen, der Anmeldedialog funzt, das Copyright erscheint und dann wird das Programm beendet (fast so als ob ein System.exit ausgeführt wird). Und das bei beiden Fenstern!!!!!

Woran kann das liegen? Bei mir funzt es garantiert nicht.
 

Alex_winf01

Top Contributor
@ André Uhres

es ist wie folgt: Jetzt funzt es auch im Editor nicht!!! Also bis zum Dialog mit dem Copyright komme ich und dann wird das Programm geschlossen. :( Woran kann das liegen?
 

André Uhres

Top Contributor
java.version ?
Betriebssystem ?
(hab's bei mir mit 1.6 und 1.4 unter Windows XP versucht, das funktioniert tadellos!)
 

Alex_winf01

Top Contributor
Das komische ist folgendes:

Im Editor funzt es, schreibe ich eine bat-Datei und schreibe dort rein
Code:
java Login
, dann funzt es auch. Packe ich meinen Code in ein jar-File, funzt es nicht mehr. :(
 

Wildcard

Top Contributor
Die jar von André funktioniert bei dir doch, oder?
Also liegt es an deinem Code. Deinen Code haben wir aber nicht, wie soll dir also geholfen werden?
Wenn wie du sagst tatsächlich keine Exception kommt, dann würde ich auf einen leeren Catch Block oder ähnliches tippen.
 

Alex_winf01

Top Contributor
@ Wildcard

natürlich kann es nur an meinem Code liegen. Was mich nur stutzig macht: Im Editor funzt es, als bat-Datei funzt es - nur nicht als jar-File. :?

Hier mal mein Code (vorsicht lang):

Code:
//-------------------------------------------------------------------------------------

/** Die Login-Klasse ist dafür zuständig, den Anwender an der Datenbank anzumelden
 ** und stellt die Verbindung zur Datenbank her*/

//-------------------------------------------------------------------------------------

import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import java.io.*;
import java.text.*;

public class Login
{
	/*--------------------------------------------------------------------*/
	
	/** Variablendeklaration für die gesamte Klasse**/
	
	/*--------------------------------------------------------------------*/
	public static Connection connection;
  	public static JTextField txt_username;
  	public static JPasswordField txt_password;
  	public static String lese, lese_dokumentation, lese_icd1, lese_icd2, lese_icd3;
  	public static Statement stmt, stmt1, stmt2, stmt3, stmt4;
  	public static ResultSet result, result_dokumentation, result_icd1, result_icd2, result_icd3;
  	public static String[] ergebnis;
  	public static String angemeldeter_User;
  	private static String s_username = "sa";
	private static String s_password = "";
	
	public static ResultSet kh_rs;
   
   /******************************************************************

	Anmeldedialog mit Benutzernamen, Passort

	******************************************************************/
   //-------------------------------------------------------------------------------------

   /** Die Methode init() stellt den Anmeldedialog mit Benutzernamen und Passwort dar**/
   
   //-------------------------------------------------------------------------------------

   private static void init() 
   {
      String[] s_options = {"Anmelden", "Abbrechen"};
      JPanel pnl_main = new JPanel();
      pnl_main.setLayout(new GridLayout(3,3,10,10));
      
      JLabel lbl_username = new JLabel("Benutzername: ", JLabel.RIGHT);
      txt_username = new JTextField();
      
      JLabel lbl_password = new JLabel("Passwort: ", JLabel.RIGHT);
      txt_password = new JPasswordField();

      pnl_main.add(lbl_username, 0);
      pnl_main.add(txt_username, 1);
      pnl_main.add(lbl_password, 2);
      pnl_main.add(txt_password, 3);
      txt_username.requestFocusInWindow(); // Fokus setzen
      int resp = JOptionPane.showOptionDialog(null, (Object)pnl_main, "DB-Anmeldung", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, s_options,null);
     
	  /** Wenn "Anmelden" geklickt wird, dann einloggen**/
	  if(resp == 0)
	  {
	  	angemeldeter_User = txt_username.getText();
        String pwd = new String(txt_password.getPassword());
	  	try
        {
        	Class.forName("org.h2.Driver"); // Treiber laden
        	/** In connection_string wird der String für die Connection gespeichert**/
    		String connection_string = "jdbc:h2:tcp:" + ergebnis[0] + "/test";
    		connection = DriverManager.getConnection(connection_string, angemeldeter_User, pwd);	
    		/** in angemeldet wird gespeichert, ob angemeldet wurde (true) oder nicht (false)**/
    		boolean angemeldet = true;
	    	Update.updateAnwender(angemeldet, angemeldeter_User); // Anwender in Tabelle "Anwender" anmelden
	    	DatenLaden(); // entsprechende Daten laden
			
			/**frm stellt das Objekt StartFrame (das Fenster) dar**/
		       StartFrame frm = new StartFrame("Startfenster");
			frm.setVisible(true);
			frm.setLocation(0, 0); // Location des Fensters setzen
			frm.setResizable(false); // verhindern, dass der Anwender die Größe des Fensters verändert
			frm.setExtendedState(JFrame.MAXIMIZED_BOTH); // auf Vollbildschirm schalten
			frm.pack();
			Laden(); 
		}
		
		catch(Exception e)
		{
		   JOptionPane.showMessageDialog(null, "Sie haben ein falsches Passwort eingegeben " + e,
			"DB-Meldung", JOptionPane.ERROR_MESSAGE);
			init();
			try
			{
				//connection.close(); // Verbindung schließen
			}
			catch(Exception z)
			{
				JOptionPane.showMessageDialog(null, "Es ist folgender Fehler aufgetreten: " +z,
				"DB-Meldung", JOptionPane.ERROR_MESSAGE);
			}
		}
	  }
	  /** Wenn "Abbrechen" geklickt wird, dann abbrechen**/
	  if (resp == 1)
	  {
	  	System.exit(0);
	  }
	  
	  s_username = new String (txt_username.getText().trim());
	  s_password = new String (txt_password.getPassword());
   }
   
   //------------------------------------------------------------------------------------------------
   
   /** Die Methode DatenLaden() stellt alle wichtigen Informationen zur Verfügung,
	 ** die beim Start des Programmes notwendig sind**/
	 
   //------------------------------------------------------------------------------------------------
	private static void DatenLaden()
	{
		try
		{
			// Hier werden die Select-Befehle erstellt und ausgeführt
			
		}
		catch(SQLException a)
		{
			JOptionPane.showMessageDialog(null, "Es ist folgender Fehler aufgetreten: " + a,
				"DB-Meldung", JOptionPane.ERROR_MESSAGE);
		}
	}
	
	private static void Laden()
	{
		String query_kh = "Select * from haus";
			try
			{
				/** Mit kh_st wird das Statement erzeugt**/
				Statement kh_st = connection.createStatement(); // Statement erzeugen
				kh_rs = kh_st.executeQuery(query_kh); // Query ausführen
				while (kh_rs.next())
				{
					String kh_plan_nummer_string 	= kh_rs.getString("kh_plan_Nummer");
					/** in ik_nummer_string wird die IK-Nummer abgespeichert**/
			        String ik_nummer_string 		= kh_rs.getString("kh_ik_nummer");
			        /** in name_string wird der KH-Name abgespeichert**/
			        String name_string 				= kh_rs.getString("kh_name");
			    
			        String strasse_string 			= kh_rs.getString("kh_strasse");
			        int postleitzahl_int 			= kh_rs.getInt("kh_plz");
			        /** in postleitzahl_string wird der Integer-Wert als String abgespeichert**/
			        String postleitzahl_string 		= Integer.toString(postleitzahl_int); // int in einen String umwandeln
			        String ort_string 				= kh_rs.getString("kh_ort");
			        String institution_string 		= kh_rs.getString("kh_institution");
			        /** in ansprechpartner_string wird der eingetragene Ansprechpartner abgespeichert**/
			        String ansprechpartner_string 	= kh_rs.getString("kh_ansprechpartner");
			        /** in telefonnummer_string wird die Telefonnummer des Ansprechpartners abgespeichert**/
			        String telefonnummer_string 	= kh_rs.getString("kh_telefon_ansprechpartner");
        
			        StartFrame.name_text.setText(name_string);
				    StartFrame.straße_text.setText(strasse_string);
				    StartFrame.plz_text.setText(postleitzahl_string);
				    StartFrame.ort_text.setText(ort_string);
					StartFrame.kh_plan_nummer_text.setText(kh_plan_nummer_string); 
					StartFrame.ik_nummer_text.setText(ik_nummer_string);
					StartFrame.institution_text.setText(institution_string);
					StartFrame.ansprechpartner_text.setText(ansprechpartner_string);
					StartFrame.telefonnummer_text.setText(telefonnummer_string);
				}
			}
			catch(Exception kh)
			{
				JOptionPane.showMessageDialog(null, "Es ist folgender Fehler aufgetreten: " + kh,
							"DB-Meldung", JOptionPane.ERROR_MESSAGE);
			}	 
	}
	
	//---------------------------------------------------------------------------------------------------
	
	/** Die Methode lesen() liest die Werte aus der Konfigurations-Datei aus**/
	
	//---------------------------------------------------------------------------------------------------
	public static void lesen()
	{
		try
		{
			ergebnis = new String[1];
			/** die Variable reader stellt das Objekt auf die Datei "Konfiguration_kjp" dar**/
			BufferedReader reader = new BufferedReader(new FileReader("konfiguration.dat"));
			/** die Variable line nimmt die ausgelesene Zeile aus der Datei auf**/
			String line = reader.readLine();
			while((line != null))
			{
				ergebnis[0] = line;
				line = reader.readLine();
			}
		}
		catch(IOException io)
		{
			JOptionPane.showMessageDialog(null, "Es ist folgender Dateifehler aufgetreten: " + io,
							"Daten-Fehler", JOptionPane.ERROR_MESSAGE);
		}
	}
   
   /******************************************************************
	main-Methode

	******************************************************************/
   //-------------------------------------------------------------------
   
   /** Mit Hilfe der main-Methode wird das Programm gestartet**/
   
   //-------------------------------------------------------------------
   public static void main(String[] args) 
   {
        lesen();
        init();
   }
}


Und hier das Fenster, welches aufgerufen wird aus meinem Login-Fenster
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import java.util.*;
import java.sql.*;

//-------------------------------------------------------------------------------------

/** Die Klasse StartFrame übernimmt die Darstellung des Hauptfensters**/

//-------------------------------------------------------------------------------------

class StartFrame extends JFrame
{
	//-------------------------------------------------------------------------------------
	
	/** Allgemeine Variablendeklaration für die gesamte Klasse**/
	
	//-------------------------------------------------------------------------------------
	/** con1 stellt den Container für das Fenster dar**/
	public static Container con1;
	public static String druck_tag_string, druck_monat_string, druck_jahr_string;
	public static JTextField name_text, straße_text, plz_text, ort_text;
	public static JTextField kh_plan_nummer_text, ik_nummer_text, druckdatum_text, institution_text, ansprechpartner_text, telefonnummer_text;
	public static JTextField code_text, anwender_name;
	public static String kh_plan_nummer_string, ik_nummer_string, name_string, strasse_string, postleitzahl_string, ort_string, institution_string, ansprechpartner_string, telefonnummer_string;
	public static String anwender_löschen;
	public static JButton stammdaten_Button, weiter, benutzer_anlegen, stammdaten_ändern;
	public static JButton anwender_loeschen, password_ändern;
	public static JButton auswertung;
	
	/*------------------------------------------------------------*/
	/* 
	 * Konstruktor
	 *
	/*------------------------------------------------------------*/
	public StartFrame (String title)
	{
		super(title);
	
	/*------------------------------------------------------------*/
	/* Listener für die Button*/
	/*------------------------------------------------------------*/
	
	/*------------------------------------------------------------*/
	/* Schaltfläche "Auswertung"*/
	/*------------------------------------------------------------*/
	class AuswertungListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			Auswertung.auswertung_ausführen();
		}
	}
	/*------------------------------------------------------------*/
	/* Schaltfläche "Weiter"*/
	/*------------------------------------------------------------*/
	class WeiterListener implements ActionListener
	{
		/** Um reagieren zu können, muss die Klasse die Methode actionPerformed implementieren (kein Rückgabewert)*/
		public void actionPerformed(ActionEvent e)
		{
			//Fragebogen anzeigen
			Fragebogen frm = new Fragebogen("Fragebogen");
			frm.setVisible(true);
			frm.setLocation(0, 0); // Location des Fensters setzen
			frm.setResizable(false); // verhindern, dass der Anwender die Größe des Fensters verändert
			frm.setExtendedState(JFrame.MAXIMIZED_BOTH); // auf Vollbildschirm schalten
			frm.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // verhindern, dass die Basisdokumentation über Abbruch (X) geschlossen wird
			frm.pack();
			Fragebogen.doku_deaktivieren();
		}
	}
		
	/*------------------------------------------------------------*/
	/* Schaltfläche "Neuer Benutzer"*/
	/* Die Klasse neuerBenutzerListener reagiert auf die Schaltfläche
	 * "Neuer Benutzer"*/
	/*------------------------------------------------------------*/
	class NeuerBenutzerListener implements ActionListener
	{
		/** Um reagieren zu können, muss die Klasse die Methode actionPerformed implementieren (kein Rückgabewert)*/
		public void actionPerformed(ActionEvent e)
		{
			if (Login.angemeldeter_User.equals("sa"))
			{
				try
				{
					/** anwender_label stellt das Label "Anwendername" dar**/
					JLabel anwender_label = new JLabel("Anwendername");
					anwender_name = new JTextField(10);
					/** passwort_label stellt das Label "Passwort" dar**/
					JLabel passwort_label = new JLabel("Passwort:");
					JPasswordField pwd = new JPasswordField(10);
					/** passwortbst_label stellt das Label "Bestätiung Passwort" dar**/
					JLabel passwortbst_label = new JLabel("Bestätigung Passwort:");
					JPasswordField passwortbst_pws = new JPasswordField(10);
					/** code_label stellt das Label "kürzel" dar**/
					JLabel code_label = new JLabel("kürzel");
					code_text = new JTextField(5);
					/** message nimmt die Elemente für den Dialog auf**/
					Object[] message = {"Name und Passwort eingeben:\n", anwender_label, anwender_name, code_label, code_text, passwort_label, pwd, passwortbst_label, passwortbst_pws};
					/** resp nimmt den Int-Rückgabewert aus dem JOptionPane dar (kann Werte -1, 0, 1) annehmen**/
					int resp = JOptionPane.showConfirmDialog(null, message, "Neuen Anwender anlegen",
							JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
					if (resp == JOptionPane.OK_OPTION)
					{
						/** password1 nimmt die einzelnen Buchstaben des Passwortes in ein char-Array auf**/
						char[] password1 = pwd.getPassword(); 
						/** password2 nimmt die einzelnen Buchstaben der 2. Eingabe des Passwortes auf**/
						char[] password2 = passwortbst_pws.getPassword(); 
						/** i ist der Zähler für die Schleife**/
						for(int i = 0; i < password2.length; i++)
						{
							if(password2[i] != password1[i])
							{
								JOptionPane.showMessageDialog(null, "Sie haben das Passwort falsch bestätigt",
								"DB-Meldung", JOptionPane.ERROR_MESSAGE);
								return;
							}
						}
						
						// Werte aus den Textfeldern holen
						/** id nimmt den Wert aus dem Text-Feld anwender_name auf**/
						String id = new String (anwender_name.getText());
						/** pass nimmt den Wert aus dem Text-Feld pwd uf**/
						String pass = new String (pwd.getPassword());
						/** pass_bestätigung nimmt den Wert aus dem Text-Feld passwortbst_pws auf**/
						String pass_bestätigung = new String(passwortbst_pws.getPassword());
						/** code_string nimmt den Wert aus dem Text-Feld code_text auf**/
						String code_string = new String(code_text.getText());
						
						if (id.equals("")|| pass.equals("") || pass_bestätigung.equals("") || code_string.equals(""))
						{
							JOptionPane.showMessageDialog(null, "In den Textfeldern wurden keine Werte eingetragen",
							"DB-Meldung", JOptionPane.ERROR_MESSAGE);
							return;
						}
					
						/* Anwender einfuegen*/
						/** st_user_einfuegen wird das Statement für die Verbindung erzeugt**/
						Statement st_user_einfuegen = Login.connection.createStatement(); //Statement erzeugen
						
						// CREATE-Anweisung zusammenstellen
						String create_user = "CREATE USER ";
						create_user = create_user + id + " PASSWORD " + "'" + pass + "'";
						int anzahl = st_user_einfuegen.executeUpdate(create_user); // CREATE-Anweisung ausführen
						
						/* Rechte vergeben*/
						Statement st_user_rechte 	= Login.connection.createStatement(); // Statement erzeugen
						// 1. GRANT-Anweisung zusammenstellen
						String rechte_setzen = "GRANT ALL ON dokumentation, kkk, sss, anwender TO " + id;
						anzahl = st_user_rechte.executeUpdate(rechte_setzen); // GRANT-Anweisung ausführen
						
						// 2. GRANT-Anweisung zusammenstellen
						rechte_setzen = "GRANT SELECT ON ICD_2008 TO " + id;
						anzahl = st_user_rechte.executeUpdate(rechte_setzen);
						
						String code = code_text.getText();
						String anwender = anwender_name.getText();
						Einfuegen.anwenderEinfuegen(anwender, code);
						
						JOptionPane.showMessageDialog(null, "Der Anwender wurde erfolgreich angelegt",
						"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
						
						st_user_einfuegen.close();
						st_user_rechte.close();
					}
				}
				catch(Exception neu)
				{
					JOptionPane.showMessageDialog(null, "Der Anwender konnte aus folgendem Grund nicht angelegt werden:" + neu,
						"DB-Meldung", JOptionPane.ERROR_MESSAGE);
				}
			}
			else
			{
				JOptionPane.showMessageDialog(null, "Sie sind nicht als Systemadministrator angemeldet",
						"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
			}
		}
	}
	
	/*------------------------------------------------------------*/
	/* Schaltfläche "Benutzer löschen"*/
	/*------------------------------------------------------------*/
	class BenutzerLöschenListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			if (Login.angemeldeter_User.equals("sa"))
			{
				try
				{
					JLabel anwender_label_löschen = new JLabel("Anwendername"); /** anwender_label_löschen nimmt den Text "Anwendername" auf **/
					JTextField anwender_name_löschen = new JTextField(10); /** anwender_name_löschen nimmt das GUI-Element Textfeld für den Anwendernamen auf **/
					
					Object[] message = {"Benutzer-Name eingeben:\n", anwender_label_löschen, anwender_name_löschen}; /** message nimmt die GUI-Elemente auf **/
					int resp_neu = JOptionPane.showConfirmDialog(null, message, "Benutzer löschen",
							JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE); /** resp_neu nimmt den Rückgabewert der JOptionPane auf **/
					if (resp_neu == JOptionPane.OK_OPTION)
					{
						String anwender_name = anwender_name_löschen.getText(); /** anwender_name nimmt den eingegebenen Anwendernamen auf **/
						if (anwender_name.equals("sa"))
						{
							JOptionPane.showMessageDialog(null, " Der Systemadministrator darf nicht gelöscht werden!",
							"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
							return;
						}
						
						
						if (anwender_name.equals(""))
						{
							JOptionPane.showMessageDialog(null, "In den Textfeldern wurden keine Werte eingetragen",
							"DB-Meldung", JOptionPane.ERROR_MESSAGE);
							return;
						}
						
						/** st_anwender_löschen erzeugt das Statement **/
						Statement st_anwender_löschen = Login.connection.createStatement(); //Statement erzeugen
						
						/* Anweisung zusammenstellen*/
						anwender_löschen = "DROP USER " + anwender_name;
						/** anzahl nimmt den Rückgabewert der Methode executeUpdate auf **/
						int anzahl = st_anwender_löschen.executeUpdate(anwender_löschen); // Anweisung ausführen
						
						JOptionPane.showMessageDialog(null, "Benutzer gelöscht.",
						"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
						
						st_anwender_löschen.close(); // Statement schließen
						Loeschen.loeschenAnwender();
						
					}	
				}
				catch(Exception pwd)
				{
					JOptionPane.showMessageDialog(null, "Das Passwort konnte aus folgendem Grund nicht geändert werden:" + pwd,
						"DB-Meldung", JOptionPane.ERROR_MESSAGE);
				}
			}
			else
			{
				JOptionPane.showMessageDialog(null, "Sie sind nicht als Systemadministrator angemeldet",
						"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
			}
		}
	}
	
	/*------------------------------------------------------------*/
	/* Schaltfläche "Passwort ändern"*/
	/*------------------------------------------------------------*/
	class PasswortÄndernListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			if (Login.angemeldeter_User.equals("sa"))
			{
				try
				{
					JLabel anwender_label_neu_pwd = new JLabel("Anwendername"); /** anwender_label_neu_pwd nimmt den Text "Anwendername" auf **/
					JTextField anwender_name_neu_pwd = new JTextField(10); /** anwender_name_neu_pwd ist das Textfeld für den Anwendernamen **/
					JLabel passwort_label_neu_pwd = new JLabel("Passwort:"); /** passwort_label_neu_pwd nimmt den Text "Passwort" auf **/
					JPasswordField neu_pwd = new JPasswordField(10); /** neu_pwd ist das Textfeld für das Passwort **/
					JLabel neu_passwortbst_label = new JLabel("Bestätigung Passwort:"); /** neu_passwortbst_label nimmt den Text "Bestätigung Passwort:" auf **/
					JPasswordField neu_passwortbst_pws = new JPasswordField(10); /** neu_passwortbst_pws ist das Textfeld für die Bestätigung des Passwortes **/
					
					Object[] message = {"Name und Passwort eingeben:\n", anwender_label_neu_pwd, anwender_name_neu_pwd, passwort_label_neu_pwd, neu_pwd, neu_passwortbst_label, neu_passwortbst_pws}; /** message nimmt die GUI-Elemente auf **/
					int resp_neu = JOptionPane.showConfirmDialog(null, message, "Passwort ändern",
							JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE); /** resp_neu nimmt den Rückgabewert der JOptionPane auf **/
					if (resp_neu == JOptionPane.OK_OPTION)
					{
						String anwender_name = anwender_name_neu_pwd.getText(); /** anwender_name nimmt den eingegebenen Anwendernamen auf **/
						if (anwender_name.equals("sa"))
						{
							JOptionPane.showMessageDialog(null, " Beim Anwender Systemadministrator darf das Password nicht geändert werden!",
							"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
							return;
						}
						
						char[] password1 = neu_pwd.getPassword();  /** password1 nimmt die einzelnen Zeichen der ersten Passwort-Eingabe auf **/
						char[] password2 = neu_passwortbst_pws.getPassword();  /** password2 nimmt die einzelnen Zeichen der zweiten Passwort-Eingabe auf **/
						for(int i = 0; i < password2.length; i++)
						{
							if(password2[i] != password1[i])
							{
								JOptionPane.showMessageDialog(null, "Sie haben das Passwort falsch bestätigt",
								"DB-Meldung", JOptionPane.ERROR_MESSAGE);
								return;
							}
						}
						
						// Werte aus den Textfeldern holen
						String id_neu = new String (anwender_name_neu_pwd.getText()); /** id_neu nimmt den Anwendernamen auf **/
						String pass_neu = new String (neu_pwd.getPassword()); /** pass_neu mimmt das Passort auf **/
						String pass_bestätigung_neu = new String(neu_passwortbst_pws.getPassword()); /** pass_bestätigung_neu nimmt die Passwortbestätigung auf **/
						
						if (id_neu.equals("")|| pass_neu.equals("") || pass_bestätigung_neu.equals(""))
						{
							JOptionPane.showMessageDialog(null, "In den Textfeldern wurden keine Werte eingetragen",
							"DB-Meldung", JOptionPane.ERROR_MESSAGE);
							return;
						}
					
						Statement st_pwd_ändern = Login.connection.createStatement(); //Statement erzeugen
						
						// Anweisung zusammenstellen
						String pwd_ändern = "ALTER USER "; /** pwd_ändern nimmt den ALTER USER-Befehl für die DB Auf **/
						pwd_ändern = pwd_ändern + id_neu + " SET PASSWORD " + "'" + pass_neu + "'";
						// Anweisung ausführen
						int anzahl = st_pwd_ändern.executeUpdate(pwd_ändern);  /** anzahl nimmt den Rückgabewert der Methode executeUpdate auf **/
						
						JOptionPane.showMessageDialog(null, "Das Passwort wurde erfolgreich angelegt.",
						"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
						
						st_pwd_ändern.close(); // Statement schließen
						
					}	
				}
				catch(Exception pwd)
				{
					JOptionPane.showMessageDialog(null, "Das Passwort konnte aus folgendem Grund nicht geändert werden:" + pwd,
						"DB-Meldung", JOptionPane.ERROR_MESSAGE);
				}
			}
			else
			{
				JOptionPane.showMessageDialog(null, "Sie sind nicht als Systemadministrator angemeldet",
						"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
			}
		}
	}
	
	/*------------------------------------------------------------*/
	/* Schaltfläche "Stammdaten ändern"*/
	/*------------------------------------------------------------*/
	class Stammdaten_ändernListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			
			if (kh_plan_nummer_text.getText().equals("") && institution_text.getText().equals("") && ik_nummer_text.getText().equals("") && name_text.getText().equals("") && straße_text.getText().equals("") && plz_text.getText().equals("") && ort_text.getText().equals("") && ansprechpartner_text.getText().equals("") && telefonnummer_text.getText().equals(""))
			{
				JOptionPane.showMessageDialog(null, "Es wurden noch keine Daten angelegt!",
						"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			else
			{
				if (Login.angemeldeter_User.equals("sa"))
				{
					Update.updateKH();
				}
				else
				{
					JOptionPane.showMessageDialog(null, "Sie sind nicht als Systemadministrator angemeldet",
							"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
				}
			}			
		}
	}
	/*------------------------------------------------------------*/
	/* Schaltfläche "Stammdaten speichern"*/
	/*------------------------------------------------------------*/
	class StammdatenListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
				//Stammdaten des KH speichern
				if (Login.angemeldeter_User.equals("sa"))
				{
					Einfuegen.kh_einfuegen();
					stammdaten_ändern.setEnabled(true);
				}
				else
				{
					JOptionPane.showMessageDialog(null, "Sie sind nicht als Systemadministrator angemeldet",
							"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
					stammdaten_Button.setEnabled(true);
				}
		}
	}
	
	/*------------------------------------------------------------*/
	/* Formatierungen
	/*------------------------------------------------------------*/
	Border b 	= BorderFactory.createLineBorder(Color.black);
	Font font 	= new Font("", Font.BOLD, 60);
	Font schrift_Hauptfenster = new Font("", Font.BOLD, 16);
	
	/*------------------------------------------------------------*/
	/* Container und Hauptpanels definieren*/
	/*------------------------------------------------------------*/
	con1 = getContentPane();
	con1.setLayout(new BorderLayout());
	
	JPanel nordpanel		= new JPanel(new BorderLayout());
	JPanel centerpanel		= new JPanel(new BorderLayout());
	JPanel suedpanel		= new JPanel(new BorderLayout());
	
	/*------------------------------------------------------------*/
	/* NORDPANEL*/
	/*------------------------------------------------------------*/
	
	JPanel hilfe			= new JPanel(new FlowLayout());
	ImageIcon m_icon 		= new ImageIcon(Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("img/mkg.gif")),"name");
	JLabel bik_Label 		= new JLabel(m_icon);
	JLabel programm			= new JLabel("Programm:");
	JLabel kia 				= new JLabel("Mein Programm");
	JLabel programmversion 	= new JLabel(" Programmversion 2.0");
	JLabel leer_label		= new JLabel("                      ");
	kia.setFont(font);
	
	hilfe.add(programm);
	hilfe.add(kia);
	hilfe.add(programmversion);
	
	nordpanel.add(bik_Label, BorderLayout.EAST);
	nordpanel.add(hilfe, BorderLayout.WEST);
	
	
	/*------------------------------------------------------------*/
	/* CENTERPANEL*/
	/*------------------------------------------------------------*/
	JPanel hilfspanel1			= new JPanel(new GridLayout(13,2,1,1));
	JPanel eingabe_stammdaten  	= new JPanel(new BorderLayout());
	JLabel ik_nummer 			= new JLabel("Nummer   ", JLabel.LEFT);
	JLabel kh_plan_nummer		= new JLabel("Plannummer", JLabel.LEFT);
	JLabel druckdatum 			= new JLabel("Druckdatum  ", JLabel.LEFT);
	JLabel institution 			= new JLabel("Institution", JLabel.LEFT);
	
	kh_plan_nummer_text	= new JTextField(15);
	ik_nummer_text 		= new JTextField(9);
	druckdatum_text 	= new JTextField(15);
	institution_text 	= new JTextField(3);
	institution_text.setToolTipText("Das Institutionskennzeichen (dreistellig)kann verwendet werden, um unterschiedliche Untereinheiten der Klinik zu kennzeichnen.");
	
	/*------------------------------------------------------------------------*/
	/* Druckdatum festlegen*/
	/*------------------------------------------------------------------------*/
	Calendar cal1 = Calendar.getInstance();
	cal1.setTime(new java.util.Date());
	int druck_tag 		= cal1.get(Calendar.DAY_OF_MONTH);
	int druck_monat 	= cal1.get(Calendar.MONTH);
	int druck_jahr 		= cal1.get(Calendar.YEAR);
	
	String druck_monat_string1 = "";
	
	druck_tag_string	= Integer.toString(druck_tag);
	druck_monat_string	= Integer.toString(druck_monat);
	druck_jahr_string 	= Integer.toString(druck_jahr);
	
	if (druck_monat_string.equals("0")){druck_monat_string1 = "01";}
	if (druck_monat_string.equals("1")){druck_monat_string1 = "02";}
	if (druck_monat_string.equals("2")){druck_monat_string1 = "03";}
	if (druck_monat_string.equals("3")){druck_monat_string1 = "04";}
	if (druck_monat_string.equals("4")){druck_monat_string1 = "05";}
	if (druck_monat_string.equals("5")){druck_monat_string1 = "06";}
	if (druck_monat_string.equals("6")){druck_monat_string1 = "07";}
	if (druck_monat_string.equals("7")){druck_monat_string1 = "08";}
	if (druck_monat_string.equals("8")){druck_monat_string1 = "09";}
	if (druck_monat_string.equals("8")){druck_monat_string1 = "09";}
	if (druck_monat_string.equals("9")){druck_monat_string1 = "10";}
	if (druck_monat_string.equals("10")){druck_monat_string1 = "11";}
	if (druck_monat_string.equals("11")){druck_monat_string1 = "12";}
	
	if (druck_tag < 10){druck_tag_string = "0" + druck_tag;}
	
	druckdatum_text.setText(druck_tag_string + "." + druck_monat_string1 + "." + druck_jahr);
	
	/*Schrift*/
	kh_plan_nummer.setFont(schrift_Hauptfenster);
	ik_nummer.setFont(schrift_Hauptfenster);
	druckdatum.setFont(schrift_Hauptfenster);
	institution.setFont(schrift_Hauptfenster);
	kh_plan_nummer_text.setFont(schrift_Hauptfenster);
	ik_nummer_text.setFont(schrift_Hauptfenster);
	druckdatum_text.setFont(schrift_Hauptfenster);
	institution_text.setFont(schrift_Hauptfenster);
	
	/*Rahmen*/
	kh_plan_nummer_text.setBorder(b);
	ik_nummer_text.setBorder(b);
	druckdatum_text.setBorder(b);
	institution_text.setBorder(b);
	
	JLabel stammdaten 	= new JLabel("Stammdaten", JLabel.RIGHT);
	stammdaten.setFont(schrift_Hauptfenster);
	JLabel name			= new JLabel("Name              ", JLabel.LEFT);
	name.setFont(schrift_Hauptfenster);
	JLabel straße		= new JLabel("Straße             ", JLabel.LEFT);
	straße.setFont(schrift_Hauptfenster);
	JLabel plz			= new JLabel("PLZ                ", JLabel.LEFT);
	plz.setFont(schrift_Hauptfenster);
	JLabel ort			= new JLabel("Ort                ", JLabel.LEFT);
	ort.setFont(schrift_Hauptfenster);
	JLabel ansprechpartner = new JLabel("Ansprechpartner    ", JLabel.LEFT);
	ansprechpartner.setFont(schrift_Hauptfenster);
	JLabel telefonnummer = new JLabel("Telefonnummer:      ", JLabel.LEFT);
	telefonnummer.setFont(schrift_Hauptfenster);
	
	name_text 		= new JTextField(255);
	straße_text 	= new JTextField(255);
	plz_text 		= new JTextField(5);
	ort_text 		= new JTextField(255);
	ansprechpartner_text = new JTextField(255);
	telefonnummer_text = new JTextField(255);
	
	
	/** Textfelder auf editierbar schalten - nur wenn der Anwender als Systemadmin
	 ** angemeldet ist**/
	if (Login.angemeldeter_User.equals("sa"))
	{
		bearbeitbar();
	}
	else
	{
		nicht_bearbeitbar();
	}
	
	/*Schrift*/
	name_text.setFont(schrift_Hauptfenster);
	straße_text.setFont(schrift_Hauptfenster);
	plz_text.setFont(schrift_Hauptfenster);
	ort_text.setFont(schrift_Hauptfenster);
	ansprechpartner_text.setFont(schrift_Hauptfenster);
	telefonnummer_text.setFont(schrift_Hauptfenster);
	/*Rahmen*/
	name_text.setBorder(b);
	straße_text.setBorder(b);
	plz_text.setBorder(b);
	ort_text.setBorder(b);
	ansprechpartner_text.setBorder(b);
	telefonnummer_text.setBorder(b);
	
	setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	
	hilfspanel1.add(kh_plan_nummer);
	hilfspanel1.add(kh_plan_nummer_text);
	hilfspanel1.add(ik_nummer);
	hilfspanel1.add(ik_nummer_text);
	hilfspanel1.add(druckdatum);
	hilfspanel1.add(druckdatum_text);
	hilfspanel1.add(institution);
	hilfspanel1.add(institution_text);
	hilfspanel1.add(name);
	hilfspanel1.add(name_text);
	hilfspanel1.add(straße);
	hilfspanel1.add(straße_text);
	hilfspanel1.add(plz);
	hilfspanel1.add(plz_text);
	hilfspanel1.add(ort);
	hilfspanel1.add(ort_text);
	hilfspanel1.add(ansprechpartner);
	hilfspanel1.add(ansprechpartner_text);
	hilfspanel1.add(telefonnummer);
	hilfspanel1.add(telefonnummer_text);
	eingabe_stammdaten.add(hilfspanel1);
	
	JPanel hilfe_nordpanel_süd = new JPanel(new BorderLayout());
	hilfe_nordpanel_süd.add(leer_label, BorderLayout.NORTH);
	hilfe_nordpanel_süd.add(eingabe_stammdaten, BorderLayout.CENTER);
	JPanel hilfe_zentrieren = new JPanel(new BorderLayout());
	nordpanel.add(hilfe_nordpanel_süd, BorderLayout.SOUTH);

	/*------------------------------------------------------------*/
	/* Südpanel*/
	/*------------------------------------------------------------*/

	stammdaten_Button	= new JButton("<html><font size = 2>Haus-
Stammdaten anlegen</font></html>");
	weiter				= new JButton("<html><font size = 2>Weiter</font></html>");
	benutzer_anlegen 	= new JButton("<html><font size = 2>Neuen Benutzer 
anlegen</font></html>");
	anwender_loeschen	= new JButton("<html><font size = 2>Benutzer 
löschen</font></html>");
	password_ändern		= new JButton("<html><font size = 2>Passwort 
ändern</font></html>");
	stammdaten_ändern	= new JButton("<html><font size = 2>Haus-
Stammdaten 
ändern</font></html>");
	auswertung			= new JButton("<html><font size = 2>Auswertung</font></html>");
	
	stammdaten_Button.setPreferredSize(new Dimension(120, 60));
	weiter.setPreferredSize(new Dimension(120, 60));
	benutzer_anlegen.setPreferredSize(new Dimension(120, 60));
	anwender_loeschen.setPreferredSize(new Dimension(120, 60));
	password_ändern.setPreferredSize(new Dimension(120, 60));
	stammdaten_ändern.setPreferredSize(new Dimension(120, 60));
	auswertung.setPreferredSize(new Dimension(120, 60));
	
	JPanel button_panel = new JPanel(new FlowLayout()); /** button_panel nimmt die Schaltflächen auf **/
	button_panel.add(stammdaten_Button);
	button_panel.add(stammdaten_ändern);
	button_panel.add(weiter);
	button_panel.add(benutzer_anlegen);
	button_panel.add(password_ändern);
	button_panel.add(anwender_loeschen);
	button_panel.add(auswertung);
	
	suedpanel.add(button_panel, BorderLayout.NORTH);
	
	con1.add(nordpanel, BorderLayout.NORTH);
	con1.add(centerpanel, BorderLayout.CENTER);
	con1.add(suedpanel, BorderLayout.SOUTH);
	
	
	/*------------------------------------------------------------*/
	/* Den Schaltflächen den entsprehchenden Listener zuordnen*/
	/*------------------------------------------------------------*/
	stammdaten_Button.addActionListener(new StammdatenListener());
	stammdaten_ändern.addActionListener(new Stammdaten_ändernListener());
	weiter.addActionListener(new WeiterListener());
	benutzer_anlegen.addActionListener(new NeuerBenutzerListener());
	anwender_loeschen.addActionListener(new BenutzerLöschenListener());
	password_ändern.addActionListener(new PasswortÄndernListener());
	auswertung.addActionListener(new AuswertungListener());
	//addWindowListener (new WindowLauscher());
	
	if (Login.angemeldeter_User.equals("sa"))
	{
		stammdaten_Button.setEnabled(true);
		stammdaten_ändern.setEnabled(true);
		benutzer_anlegen.setEnabled(true);
		anwender_loeschen.setEnabled(true);
		password_ändern.setEnabled(true);
	}
	else
	{
		stammdaten_Button.setEnabled(false);
		stammdaten_ändern.setEnabled(false);
		benutzer_anlegen.setEnabled(false);
		anwender_loeschen.setEnabled(false);
		password_ändern.setEnabled(false);
	}
	}
	
	/** Die Methode bearbeitbar() schaltet die Textfelder auf editierbar, wenn
	 ** der Anwender als SA angemeldet ist**/
	public static void bearbeitbar()
	{
		name_text.setEnabled(true);
		straße_text.setEnabled(true);
		plz_text.setEnabled(true);
		ort_text.setEnabled(true);
		ansprechpartner_text.setEnabled(true);
		telefonnummer_text.setEnabled(true);
		kh_plan_nummer_text.setEnabled(true);
		ik_nummer_text.setEnabled(true);
		druckdatum_text.setEnabled(true);
		institution_text.setEnabled(true);
	}
	
	/** Die Methode bearbeitbar() schaltet die Textfelder auf nicht editierbar, wenn
	 ** der Anwender nicht als SA angemeldet ist**/
	public static void nicht_bearbeitbar()
	{
		name_text.setEnabled(false);
		straße_text.setEnabled(false);
		plz_text.setEnabled(false);
		ort_text.setEnabled(false);
		ansprechpartner_text.setEnabled(false);
		telefonnummer_text.setEnabled(false);
		kh_plan_nummer_text.setEnabled(false);
		ik_nummer_text.setEnabled(false);
		druckdatum_text.setEnabled(false);
		institution_text.setEnabled(false);
	}
}
 
M

MiDniGG

Gast
OK. Das erklärt, warum du den Quelltext für dich behalten hast ^^

Wie schaut denn überhaupt deine jar-file aus??? Is alles drin was du brauchst? Stimmt die Manifest? Sind alle nötigen libs an der richtigen Stelle???

Gruß
 

Alex_winf01

Top Contributor
Kurzer Bericht:

Jetzt läuft es wieder auch im jar-File. Meine Maßnahme (etwas radikal, aber egal):

Alle .class-Dateien aus meinem Projekt-Ordner gelöscht, neu Compiliert, neues Jar-File erstellt und es läuft!!

Ich vermute mal, es schwierte noch irgendwo Programmcode rum, mit dem das jar-File nix anfangen konnte.

Wenn es noch mal Probleme in der Hinsicht gibt, melde ich mich einfach. Hier habe ich ein sehr kompetentes Forum gefunden. Danke für Eure Hilfe!!!
 

thE_29

Top Contributor
Ich kann dir zu 90% Sicherheit sagen dass das hier schuld war:

ImageIcon m_icon = new ImageIcon(Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("img/mkg.gif")),"name");

Solche Befehle können in der IDE oder in der Konsole gut gehen und manchmal im jar file nicht!

Am besten immer mit nem Slash anfangen:

/img/mkg.gif

Obwohls bei mir schon paar mal das es andersrum funktionierte und so nicht..
 

André Uhres

Top Contributor
Alex_winf01 hat gesagt.:
..Alle .class-Dateien aus meinem Projekt-Ordner gelöscht, neu Compiliert, neues Jar-File erstellt ..
Wenn du eine IDE benutzt, die hat dann sicher eine Funktion "Clean and Build Project" die das automatisch macht :wink:
Dann sollten auch die Bilddateien automatisch dahin kopiert werden, wo sie hingehören.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
C Java FX Probleme beim Schließen einer Stage AWT, Swing, JavaFX & SWT 11
B Probleme bei Sortierung einer Tabelle mit DefaultTableModel AWT, Swing, JavaFX & SWT 6
M Probleme mit der Selektion einer JTextArea AWT, Swing, JavaFX & SWT 3
S Swing Probleme beim Aktualisieren einer JComboBox nach Auswahländerung AWT, Swing, JavaFX & SWT 2
W Probleme beim Erstellen einer Tabelle AWT, Swing, JavaFX & SWT 2
I Drei Fragen/Probleme mit einer JTable AWT, Swing, JavaFX & SWT 9
G Probleme mit Performance bei einer Tabelle AWT, Swing, JavaFX & SWT 16
T Probleme beim Resizen einer JScrollPane AWT, Swing, JavaFX & SWT 2
B Probleme mit Öffnen einer GUI Oberfläche AWT, Swing, JavaFX & SWT 2
S Probleme mit dem Update einer JList AWT, Swing, JavaFX & SWT 7
J Probleme bei einer Simulation AWT, Swing, JavaFX & SWT 4
G Probleme beim Lösen einer Übungsaufgabe AWT, Swing, JavaFX & SWT 5
M Probleme mit dem Event in einer GUI AWT, Swing, JavaFX & SWT 3
G Probleme beim Füllen einer JTable AWT, Swing, JavaFX & SWT 2
R Probleme bei einfügen einer JComboBox auf Panel AWT, Swing, JavaFX & SWT 4
Juelin Probleme bei Stage.close() AWT, Swing, JavaFX & SWT 23
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
E repaint Probleme AWT, Swing, JavaFX & SWT 13
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
J Probleme mit idividueller Tablecell AWT, Swing, JavaFX & SWT 0
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
J Probleme mit InputDialog AWT, Swing, JavaFX & SWT 4
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
pph080560 JavaFX Probleme mit FX AWT, Swing, JavaFX & SWT 3
M Probleme mit OpenJDK AWT, Swing, JavaFX & SWT 6
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
U Opaque Probleme AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
S Probleme mit JComboboxen(?) AWT, Swing, JavaFX & SWT 18
S Swing Probleme mit MigLayout AWT, Swing, JavaFX & SWT 2
C Probleme mit createImage AWT, Swing, JavaFX & SWT 1
J Probleme mit contex Menu (javafx) AWT, Swing, JavaFX & SWT 1
J Probleme bei GameofLife AWT, Swing, JavaFX & SWT 24
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 0
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
D Swing Probleme mit dem Resizing AWT, Swing, JavaFX & SWT 7
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
K Probleme beim JPasswordField AWT, Swing, JavaFX & SWT 11
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
M JButton Probleme AWT, Swing, JavaFX & SWT 14
L Probleme mit Programm AWT, Swing, JavaFX & SWT 13
blazingblade komischerweise probleme mit jtextfield.gettext() AWT, Swing, JavaFX & SWT 9
Xanny 2D-Grafik Beginner! Probleme mit Swing, Gprahics class und paint AWT, Swing, JavaFX & SWT 13
Sin137 LayoutManager GridBagLayout Probleme AWT, Swing, JavaFX & SWT 6
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
M Swing Probleme mit Frame.pack() AWT, Swing, JavaFX & SWT 1
M Swing JProgressbar und Outoputstream probleme AWT, Swing, JavaFX & SWT 2
S Swing Probleme mit transparenz der Hintergrundfarbe und JRadioButtons AWT, Swing, JavaFX & SWT 2
Z Probleme mit JPanel's AWT, Swing, JavaFX & SWT 6
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
A Probleme mit TilledBorder("***") AWT, Swing, JavaFX & SWT 4
F Bildschirmschoner Probleme mit Preview AWT, Swing, JavaFX & SWT 8
X Panel Probleme (Tetris) AWT, Swing, JavaFX & SWT 8
N JTable probleme AWT, Swing, JavaFX & SWT 5
B Probleme bei ImageIO.read (?!) AWT, Swing, JavaFX & SWT 9
P JFrame Location-/Size-Probleme AWT, Swing, JavaFX & SWT 5
U LayoutManager Probleme mit Layouts AWT, Swing, JavaFX & SWT 5
C 3 kleine Probleme... AWT, Swing, JavaFX & SWT 13
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
A Probleme mit 2 JFrames in einem Programm AWT, Swing, JavaFX & SWT 7
K LayoutManager Probleme mit 2 Komponenten AWT, Swing, JavaFX & SWT 9
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
M Probleme mit Verkleinern eines GUI AWT, Swing, JavaFX & SWT 7
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
B ImageIcon - Probleme mit dem Dateipfad AWT, Swing, JavaFX & SWT 5
H JTree Probleme AWT, Swing, JavaFX & SWT 9
F Probleme mit (Graphics g) II AWT, Swing, JavaFX & SWT 4
F Probleme mit (Graphics g) AWT, Swing, JavaFX & SWT 3
K 2D-Grafik .GIF macht mir Probleme AWT, Swing, JavaFX & SWT 14
T JTable Graphik probleme AWT, Swing, JavaFX & SWT 3
H GridBagLayout macht Probleme... AWT, Swing, JavaFX & SWT 4
vandread Swing Probleme mit jTextField im zusammenspiel mit einem Einblendeffekt (inkl. KSKB) AWT, Swing, JavaFX & SWT 6
S Swing Lauftext Performance Probleme, in größerer Anwendung AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben