Swing Ist meine gute Java Anwendung vorgängig?

Hallo, liebe Leute,

bin ich hier neu gekommen. Vielen Dank für Willkommen-Sagen :)

Da habe ich tolles Lernkurs Buch für "Java 7" von ADDISON-WESLEY - erfolgreich Java 7 programmieren gekauft und ich habe von 1 bis 2 Kapital durchgelesen. Ich habe verschiedene tolle Möglichkeit für der Klassenstruktur für Java 7 kennengelernt.

Vorgestern habe ich erste Java Anwendung gebastelt.
Bild von meiner ersten Java Anwendung:
631066-PIC.jpg


Ich habe mit Eclipse x86 programmiert:

Achtet ihr darauf! Ich nutze Java Runtime Version 1.7.0.xxx
/net/sourceskyboxer/Main.java
Java:
/**
 * 	SourceSkyBoxer's Software
 * 
 * 	jNotepad
 */
package net.sourceskyboxer;

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

import javax.swing.JCheckBoxMenuItem;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class Main implements ActionListener {
	
	/**
	 * 	Component MainWindow and MenuBar
	 */
	public JFrame f;
	public JMenuBar jmb;
	public JDesktopPane jdesk;
	public JInternalFrame jdf;
	public JPanel jp;
	public AboutDialog jad;
	
	/**
	 * 	Component FileMenu:
	 */
	public JMenuItem jmFileNew;
	public JMenuItem jmFileOpen;
	public JMenuItem jmFileSave;
	public JMenuItem jmFileSaveAs;
	public JMenuItem jmFileClose;
	public JMenuItem jmFileExit;
	
	/**
	 * 	Component EditMenu:
	 */
	public JMenuItem jmEditUndo;
	public JMenuItem jmEditRedo;
	public JMenuItem jmEditCut;
	public JMenuItem jmEditCopy;
	public JMenuItem jmEditPast;
	public JMenuItem jmEditDelete;
	public JMenuItem jmEditSearch;
	public JMenuItem jmEditReplace;
	public JMenuItem jmEditPref;
	
	/**
	 * 	Component ViewMenu:
	 */
	public JCheckBoxMenuItem jmViewLine;
	public JMenuItem jmViewFormat;
	
	/**
	 * 	Component HelpMenu
	 */
	public JMenuItem jmHelpContent;
	public JMenuItem jmHelpAboutUs;
	
	/**
	 * 	Function for Main():
	 */
	Main(){
		f = new JFrame("Java Notepad");
		f.setSize(800, 620);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		jmb = new JMenuBar();
		jmb.setVisible(true);
		f.setJMenuBar(jmb);
		
		jdesk = new JDesktopPane();
		f.add(jdesk);
		
		/**
		 *	File Menu
		 */
		JMenu jmFile = new JMenu("File");
		jmb.add(jmFile);
		jmFileNew = new JMenuItem("New...");
		jmFileOpen = new JMenuItem("Open");
		jmFileSave = new JMenuItem("Save");
		jmFileSaveAs = new JMenuItem("Save as...");
		jmFileClose = new JMenuItem("Close");
		jmFileExit = new JMenuItem("Exit");
		jmFile.add(jmFileNew);
		jmFile.add(jmFileOpen);
		jmFile.add(jmFileSave);
		jmFile.add(jmFileSaveAs);
		jmFile.addSeparator();
		jmFile.add(jmFileClose);
		jmFile.add(jmFileExit);
		
		/**
		 * 	Edit Menu
		 */
		JMenu jmEdit = new JMenu("Edit");
		jmb.add(jmEdit);
		jmEditUndo = new JMenuItem("Undo");
		jmEditUndo.setEnabled(false);
		jmEditRedo = new JMenuItem("Redo");
		jmEditRedo.setEnabled(false);
		jmEditCut = new JMenuItem("Cut");
		jmEditCopy = new JMenuItem("Copy");
		jmEditPast = new JMenuItem("Past");
		jmEditDelete = new JMenuItem("Delete");
		jmEditSearch = new JMenuItem("Search...");
		jmEditReplace = new JMenuItem("Replace...");
		jmEditPref = new JMenuItem("Preferences...");
		jmEdit.add(jmEditUndo);
		jmEdit.add(jmEditRedo);
		jmEdit.addSeparator();
		jmEdit.add(jmEditCut);
		jmEdit.add(jmEditCopy);
		jmEdit.add(jmEditPast);
		jmEdit.addSeparator();
		jmEdit.add(jmEditDelete);
		jmEdit.addSeparator();
		jmEdit.add(jmEditSearch);
		jmEdit.add(jmEditReplace);
		jmEdit.addSeparator();
		jmEdit.add(jmEditPref);
		
		/**
		 * 	View Menu 
		 */
		JMenu jmView = new JMenu("View");
		jmb.add(jmView);
		jmViewLine = new JCheckBoxMenuItem("Line Number");
		jmViewFormat = new JMenuItem("Format...");
		jmView.add(jmViewLine);
		jmView.addSeparator();
		jmView.add(jmViewFormat);
		
		/**
		 * Help Menu
		 */
		JMenu jmHelp = new JMenu("?");
		jmb.add(jmHelp);
		jmHelpContent = new JMenuItem("Conetnt...");
		jmHelpAboutUs = new JMenuItem("About Us...");
		jmHelp.add(jmHelpContent);
		jmHelp.addSeparator();
		jmHelp.add(jmHelpAboutUs);
		
		/**
		 * 	Action for calling completed Menu-Items
		 */
		jmFileNew.addActionListener(this);
		jmFileOpen.addActionListener(this);
		jmFileSave.addActionListener(this);
		jmFileSaveAs.addActionListener(this);
		jmFileClose.addActionListener(this);
		jmFileExit.addActionListener(this);
		
		jmEditUndo.addActionListener(this);
		jmEditRedo.addActionListener(this);
		jmEditCut.addActionListener(this);
		jmEditCopy.addActionListener(this);
		jmEditPast.addActionListener(this);
		jmEditSearch.addActionListener(this);
		jmEditReplace.addActionListener(this);
		jmEditPref.addActionListener(this);
		
		jmViewLine.addActionListener(this);
		jmViewFormat.addActionListener(this);
		
		jmHelpContent.addActionListener(this);
		jmHelpAboutUs.addActionListener(this);
		
		
		/**
		 * 	Make MainWindow visibly!
		 */
		f.setVisible(true);
		
	}

	public void actionPerformed(ActionEvent ae) {
		
		/**
		 * 	ActionListener for File MenuItems
		 */
		if(ae.getSource()==jmFileNew){
			jdf = new JInternalFrame( "Untitled Document", true, true, true, true );
			jp = new JPanel();
			jdf.add(jp, BorderLayout.CENTER );
			jdf.pack();
			jdf.setSize(300,200);
			jdesk.add(jdf);
			jdf.setVisible(true);
		}
		
		if(ae.getSource()==jmFileOpen){
			
		}
		
		if(ae.getSource()==jmFileSave){
			
		}
		
		if(ae.getSource()==jmFileSaveAs){
			
		}
		
		if(ae.getSource()==jmFileClose){
			
			
		}

		if(ae.getSource()==jmFileExit){
			System.exit(0);
		}
		
		/**
		 * 	ActionListener for Edit MenuItems
		 */
		
		/**
		 * 	ActionListener for Hel MenuItem
		 */
		if(ae.getSource()==jmHelpAboutUs){
			jad = new AboutDialog();
		}

		
	}
	
	public static void main(String args[]) {
	    new Main();
	  }
}
Und noch andere Datei:
/net/sourceskyboxer/AboutDialog.java:
Java:
package net.sourceskyboxer;

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class AboutDialog {
	public JPanel jp_about;
	public JFrame jf_about;
	public JButton jbtn_about;
	
	
	AboutDialog(){
		/**
		 * 	Create Window for AboutDialog
		 */
		jf_about = new JFrame("About this Java Notepad");
		jf_about.setSize(400, 300);
		jf_about.setResizable(false);
		jf_about.setMaximizedBounds(null);
		jf_about.setMinimumSize(null);
		jf_about.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		
		jp_about = new JPanel();
		jf_about.add(jp_about);
		
		jbtn_about = new JButton("Done");
		jbtn_about.setBounds(130, 240, 60, 30);
		jbtn_about.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent event) {
            	jf_about.setVisible(false);
            }
        });
		jf_about.add(jbtn_about);
		jf_about.setVisible(true);
	}
}
Ich möchte jmFileClose mit dem geöffneten Fenster aus dem MDI Bereich ( jDesk ) zum Schließen zu kriegen. Und für dem AboutDialog finde ich mit der Schaltfläche total überheblich und übertreibend, dass die Schaltfläche nicht normales Aussehen hat, wie wurde sie verzerrt. Ich packe Klassenstruktur als *.jar Datei ein und teste mit Launch4J ( Java Wrapper Anwendung ) und schreibe die Manifest Datei:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
	<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="jNotePad" type="win32"/>
	<description>Java NotePad Launcher</description>
	<dependency>
		<dependentAssembly>
			<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/>
		</dependentAssembly>
	</dependency>
</assembly>

Ich hoffe, dass ihr mich sicher versteht. Ach ja, dass ich erster Gehörloser für die Java 7 Programmierung wäre. Es ist nicht schlimm, weil ich Java auskenne.

PS: Entschuldige mich bitte, mein Desktop Stil für Windows 7 hat Android Skin Pack :p - leider zeigt es nicht mehr Haupt-Titel am obigen Kapital-Fenster. Vielen Dank für den Verständnissen :)

Vielen Dank für euren netten Antworten :)
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Dass der Button so groß ist liegt daran, dass du das BorderLayout gesetzt hast, und das streckt den Center-Bereich über den zu Verfügung stehenden Platz. Du könntest z. B. das FlowLayout verwenden. Wenn ich dich richtig verstanden habe und du per Main schließen willst musst du in AboutDialog eine Methode anlegen, die Dispose von jf_about aufruft und sie in der Action von Close aufrufen.
 
Dass der Button so groß ist liegt daran, dass du das BorderLayout gesetzt hast, und das streckt den Center-Bereich über den zu Verfügung stehenden Platz. Du könntest z. B. das FlowLayout verwenden. Wenn ich dich richtig verstanden habe und du per Main schließen willst musst du in AboutDialog eine Methode anlegen, die Dispose von jf_about aufruft und sie in der Action von Close aufrufen.
Vielen Dank für deine Hinweise BorderLayout als FlowLayout muss ich ändern :)
Nein die Funktion "dispose()" existiert nicht mehr unter Java 7, weil ich unter Java 7 Programmierung nutze. Nicht auf der alte Version 6 habe ich nicht zu tun.

Wenn du mit deinem "Close" Menüeintrag den InternalFrame schließen willst, der gerade ausgewählt ist, kannst du mit JDesktopPane (Java Platform SE 7 ) auf ihn zugreifen.
Vielen Dank für deine nette Erklärung. Ich werde richtig basteln.
 

steffomio

Mitglied
Also Java mit Eclipse zu beginnen ist echt hart. Es sei denn, man will das wirklich ernsthaft studieren und professionell betreiben.

Für den Einstieg und schnelle Erfolgserlebnisse ist NetBeans echt echt viel einfacher, weil es lästige Detail-Einstellungen, für die es viel Fachwissen benötigt, vom Benutzer fern hält.

Zudem kann man bei NetBeans seine Frames und Panels per drag'n drop zusammen bauen.

Also Eclipse ist eher was für Profis und die es werden wollen, denke ich.
 

darekkay

Bekanntes Mitglied

Man könnte es auch andersrum sehen: "Netbeans ist nur für Klicki-Bunti-Leutchen gedacht, die schnell mal eine Aufgabe für den Info-Unterricht zusammenbasteln müssen". Diese Aussage wäre aber genauso falsch und einseitig, wie deine ;)

Und wenn der TO sich schon ein Java-Buch kauft, kann man davon ausgehen, dass er es auch "richtig" lernen möchte.
 
Hä, dispose() existiert nicht unter 1.7? Davon wüsste ich aber etwas, oder verstehe ich da gerade etwas falsch :/ ?
Ach ja, ich habe schon versucht, dass die Funktion dispose() nicht mehr in die JRE 1.7 existiert :( und rote Symbol vom Programm Eclipse angezeigt hat.
Ich nehme am besten setVisible(false); Auf dem Grund: Neue Version 1.7 von Java baut man anderes.
Früher gab es mit dispose() mit dem zweiten Fenster. Jetzt steht es anderes. Ich finde komisch. Die Firma Oracle entwickelt anderes.....

Und wenn der TO sich schon ein Java-Buch kauft, kann man davon ausgehen, dass er es auch "richtig" lernen möchte.
Ja richtig! Ich habe dir Danle gegeben :) Leider nehme ich nicht NetBeans sondern ich nehme meist mit Eclipse. Weil ich auch mit Adobe Flash Builder 4.6 genutzt habe. Darum gibt es keine Unterstützung für NetBeans. Klar! Bitte seien Sie mir nicht böse! Das ist meine richtige Entscheidung für dem Programm Eclipse.

Und ich versuche meine Klassen zu verbessern.
/net/sourceskyboxer/Main.java:
Java:
/**
 *  SourceSkyBoxer's Software
 * 
 *  jNotepad
 */
package net.sourceskyboxer;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
 
public class Main implements ActionListener {
    
    /**
     *  Component MainWindow and MenuBar
     */
    public JFrame f;
    public JDesktopPane jdesk;
    public JInternalFrame jdf;
    
    /**
     *  Function for Main():
     */
    Main(){
        f = new JFrame("Java Notepad");
        f.setSize(800, 620);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        MainMenu mm_class = new MainMenu();;
        f.setJMenuBar(mm_class.CreateMenuBar());
        
        jdesk = new JDesktopPane();
        f.add(jdesk);
        
        /**
         *  Make MainWindow visibly!
         */
        f.setVisible(true);
        
    }
 
    public void actionPerformed(ActionEvent ae) {
    	
    }
    
    public static void main(String args[]) {
        new Main();
        
      }
}

net/sourceskyboxer/AboutDialog.java
Java:
package net.sourceskyboxer;
 
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class AboutDialog {
    public JPanel jp_about;
    public JFrame jf_about;
    public JButton jbtn_about;
    
    
    AboutDialog(){
        /**
         *  Create Window for AboutDialog
         */
        jf_about = new JFrame("About this Java Notepad");
        jf_about.setSize(400, 300);
        jf_about.setResizable(false);
        jf_about.setMaximizedBounds(null);
        jf_about.setMinimumSize(null);
        jf_about.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        
        jp_about = new JPanel();
        jf_about.setLayout(new FlowLayout());
        jf_about.add(jp_about);
        
        jbtn_about = new JButton("Done");
        jbtn_about.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent event) {
                jf_about.setVisible(false);
            }
        });
        jf_about.add(jbtn_about);
        jf_about.setVisible(true);
    }

	/**
	 * @param args
	 */
	public static void main(String args) {
		new AboutDialog();

	}

}

Und net/sourceskyboxer/MainMenu.java
Java:
package net.sourceskyboxer;

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

import javax.swing.JCheckBoxMenuItem;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class MainMenu implements ActionListener {

	public AboutDialog jad;
	
	/**
     *  Component FileMenu:
     */
    public JMenuItem jmFileNew;
    public JMenuItem jmFileOpen;
    public JMenuItem jmFileSave;
    public JMenuItem jmFileSaveAs;
    public JMenuItem jmFileClose;
    public JMenuItem jmFileExit;
    
    /**
     *  Component EditMenu:
     */
    public JMenuItem jmEditUndo;
    public JMenuItem jmEditRedo;
    public JMenuItem jmEditCut;
    public JMenuItem jmEditCopy;
    public JMenuItem jmEditPast;
    public JMenuItem jmEditDelete;
    public JMenuItem jmEditSearch;
    public JMenuItem jmEditReplace;
    public JMenuItem jmEditPref;
    
    /**
     *  Component ViewMenu:
     */
    public JCheckBoxMenuItem jmViewLine;
    public JMenuItem jmViewFormat;
    
    /**
     *  Component HelpMenu
     */
    public JMenuItem jmHelpContent;
    public JMenuItem jmHelpAboutUs;
    
    public JMenuBar menubar;
    
	/**
	 * @param args
	 */
    
    public JMenuBar CreateMenuBar() {
    	menubar = new JMenuBar();
    	/**
         *  File Menu
         */
        JMenu jmFile = new JMenu("File");
        menubar.add(jmFile);
        jmFileNew = new JMenuItem("New...");
        jmFileOpen = new JMenuItem("Open");
        jmFileSave = new JMenuItem("Save");
        jmFileSaveAs = new JMenuItem("Save as...");
        jmFileClose = new JMenuItem("Close");
        jmFileExit = new JMenuItem("Exit");
        jmFile.add(jmFileNew);
        jmFile.add(jmFileOpen);
        jmFile.add(jmFileSave);
        jmFile.add(jmFileSaveAs);
        jmFile.addSeparator();
        jmFile.add(jmFileClose);
        jmFile.add(jmFileExit);
        
        /**
         *  Edit Menu
         */
        JMenu jmEdit = new JMenu("Edit");
        menubar.add(jmEdit);
        jmEditUndo = new JMenuItem("Undo");
        jmEditUndo.setEnabled(false);
        jmEditRedo = new JMenuItem("Redo");
        jmEditRedo.setEnabled(false);
        jmEditCut = new JMenuItem("Cut");
        jmEditCopy = new JMenuItem("Copy");
        jmEditPast = new JMenuItem("Past");
        jmEditDelete = new JMenuItem("Delete");
        jmEditSearch = new JMenuItem("Search...");
        jmEditReplace = new JMenuItem("Replace...");
        jmEditPref = new JMenuItem("Preferences...");
        jmEdit.add(jmEditUndo);
        jmEdit.add(jmEditRedo);
        jmEdit.addSeparator();
        jmEdit.add(jmEditCut);
        jmEdit.add(jmEditCopy);
        jmEdit.add(jmEditPast);
        jmEdit.addSeparator();
        jmEdit.add(jmEditDelete);
        jmEdit.addSeparator();
        jmEdit.add(jmEditSearch);
        jmEdit.add(jmEditReplace);
        jmEdit.addSeparator();
        jmEdit.add(jmEditPref);
        
        /**
         *  View Menu 
         */
        JMenu jmView = new JMenu("View");
        menubar.add(jmView);
        jmViewLine = new JCheckBoxMenuItem("Line Number");
        jmViewFormat = new JMenuItem("Format...");
        jmView.add(jmViewLine);
        jmView.addSeparator();
        jmView.add(jmViewFormat);
        
        /**
         * Help Menu
         */
        JMenu jmHelp = new JMenu("?");
        menubar.add(jmHelp);
        jmHelpContent = new JMenuItem("Conetnt...");
        jmHelpAboutUs = new JMenuItem("About Us...");
        jmHelp.add(jmHelpContent);
        jmHelp.addSeparator();
        jmHelp.add(jmHelpAboutUs);
        
        jmFileNew.addActionListener(this);
        jmFileOpen.addActionListener(this);
        jmFileSave.addActionListener(this);
        jmFileSaveAs.addActionListener(this);
        jmFileClose.addActionListener(this);
        jmFileExit.addActionListener(this);
        
        jmEditUndo.addActionListener(this);
        jmEditRedo.addActionListener(this);
        jmEditCut.addActionListener(this);
        jmEditCopy.addActionListener(this);
        jmEditPast.addActionListener(this);
        jmEditSearch.addActionListener(this);
        jmEditReplace.addActionListener(this);
        jmEditPref.addActionListener(this);
        
        jmViewLine.addActionListener(this);
        jmViewFormat.addActionListener(this);
        
        jmHelpContent.addActionListener(this);
        jmHelpAboutUs.addActionListener(this);
        
		return menubar;
	}
    
	public static void main(String args) {
		new MainMenu();
	}

	@Override
	public void actionPerformed(ActionEvent ae) {
		/**
         *  ActionListener for File MenuItems
         */
        if(ae.getSource()==jmFileNew){
            /*jdf = new JInternalFrame( "Untitled Document", true, true, true, true );
            jp = new JPanel();
            jdf.add(jp, BorderLayout.CENTER );
            jdf.pack();
            jdf.setSize(300,200);
            jdesk.add(jdf);
            jdf.setVisible(true);*/
        }
        
        if(ae.getSource()==jmFileOpen){
            
        }
        
        if(ae.getSource()==jmFileSave){
            
        }
        
        if(ae.getSource()==jmFileSaveAs){
            
        }
        
        if(ae.getSource()==jmFileClose){
            
            
        }
 
        if(ae.getSource()==jmFileExit){
            System.exit(0);
        }
        
        /**
         *  ActionListener for Edit MenuItems
         */
        
        /**
         *  ActionListener for Hel MenuItem
         */
        if(ae.getSource()==jmHelpAboutUs){
            jad = new AboutDialog();
        }
	}
}
Ich habe richtig überlegt, dass ich mehre Klassen erstellen soll.
Main.java ist fast fertig, da nehme ich SwingUtilities, während kann Java Anwendung startklar sein.
AboutDialog.java steht die Schaltfläche besser, aber ich wollte Schaltfläche nach unter schieben :)
MainMenu.java versuche ich alle verteilten Klassen z.B: AboutDialog, NewDocument und einige Funktionen, wenn ich etwa brauche.
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Ich habs mal getestet. Dispose funktioniert unter 7, was ja eigendlich klar ist. Einerseits muss Java abwärtskompatible sein, andererseits entsorgt dispose ja das Frame. Keine Ahnung warum man es danach mit setVisible wieder anzeigen kann, aber eine Java-Anwendung beendet ja nicht, nur weil die Fenster unsichtbar sind. Sie beendet erst, wenn die Fenster disposed sind. (Und keine Nicht-Dämons laufen.)

Methoden immer klein beginnen (CreateMenuBar() -> createMenuBar()) und deine Variablenamen sind nicht optimal, z. B. f. Hier nicht so schlimm, aber sobald du eine Klasse mit 50 oder mehr Variablen hast blickst du da nicht mehr durch. Außerdem keine Unterlines in Variablenamen verwenden (jp_about -> jpAbout).
 
Ich habs mal getestet. Dispose funktioniert unter 7, was ja eigendlich klar ist. Einerseits muss Java abwärtskompatible sein, andererseits entsorgt dispose ja das Frame. Keine Ahnung warum man es danach mit setVisible wieder anzeigen kann, aber eine Java-Anwendung beendet ja nicht, nur weil die Fenster unsichtbar sind. Sie beendet erst, wenn die Fenster disposed sind. (Und keine Nicht-Dämons laufen.)
Merkwürdig??? Ich habe gestern mit dispose() auf der Mein-Klasse versucht. Es funktioniert nicht innerhalb von der verbotenen und verschachtelten Klasse. Ich habe nicht gewusst, dass die Funktion dispose(); außerhalb von der externen Klasse liegen muss. Es tut mir wirklich leid. Trotzdem muss ich dir mehrmals bedanken. Wegen der Behauptung! ;(

Methoden immer klein beginnen (CreateMenuBar() -> createMenuBar()) und deine Variablenamen sind nicht optimal, z. B. f. Hier nicht so schlimm, aber sobald du eine Klasse mit 50 oder mehr Variablen hast blickst du da nicht mehr durch. Außerdem keine Unterlines in Variablenamen verwenden (jp_about -> jpAbout).
Gute Frage, Ich denke, dass ich umbenennen muss. Vielen Dank.
 
@GUI-Programmer, ist es gut. Danke für Tipp!

Ich möchte eine kleine Frage für dem Neu-Dokument, wenn ich Menü-Leiste "File" > "New" geklickt habe, dann wird das Fenster durch JDesktopPane oder JTabbedPane platzieren.

Wenn das Fenster Neu-Dokument als maximized Modus ist, dann zeigt das Fenster der Java-Anwendung als Tab "Untited Document 1" an und ich klicke noch mal neues Fenster "Untited Document 2" und ich will dem Fenster vom Tab-Modus als MDI Modus wechseln, wie zeige ich Beispiel: Adobe Dreamweaver CS5.5

Normales Modus:
631191-PIC.jpg


Ausfüllendes Modus:
631190-PIC.jpg


Da habe ich bisschen geschafft, aber die Java-Anwendung spinnt, dass die Klick über dem neuen Dokument statt als neuem Fenster der Java-Anwendung ausführt :(

Schau mein kleiner Video:
Problem with Java Application :( New Document no, got new windiow - YouTube

net/sourceskyboxer/NewDocument.java
Java:
package net.sourceskyboxer;

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

import javax.swing.JInternalFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class NewDocument implements ActionListener {

	public JInternalFrame jpnd;
	public Main jNm;
	public JPanel jdoc;
	public JTextArea jtare;
	public Boolean Maximized;
	
	NewDocument() {
		
		/**
		 * 	if(Maximized == false){
		 * 		jpnd = new JInternalFrame( "Untitled Document", true, true, true, true );
	     *      jdoc = new JPanel();
	     *      jpnd.add(jdoc, BorderLayout.CENTER );
	     *      jpnd.pack();
	     *      jpnd.setSize(300,200);
	     *      Main jNm = new Main();
	     *      jNm.jdesk.add(jpnd);
	     *      jpnd.setVisible(true);
		 * 	}else{
		 * 		// Maximized Mode with TabbedPane
		 * 		jpnd = new JInternalFrame( "Untitled Document", true, true, true, true );
	     *      jdoc = new JPanel();
	     *      jpnd.add(jdoc, BorderLayout.CENTER );
	     *      jpnd.pack();
		 * 		Main jNm = new Main();
		 * 		jNm.jtab.add(jpnd);
		 * 	}
		 */
		Maximized = new Boolean(false);
		jdoc = new JPanel();
		jdoc.setMaximumSize(null);
		jNm = new Main();
		
		if(Maximized == false){
			jpnd = new JInternalFrame( "Untitled Document", true, true, true, true );
			jpnd.add(jdoc, BorderLayout.CENTER );
			jpnd.pack();
			jpnd.setSize(400,320);
			jNm.jdesk.add(jpnd);
			
		}else{
			jpnd.add(jdoc, BorderLayout.CENTER );
			jpnd.pack();
			jpnd.setMaximizable(true);
			jNm.jtab.add(jpnd);
		}
		
		jpnd.setVisible(true);
	}
	
	
	/**
	 * @param args
	 */
	public static void main(String args) {
		new NewDocument();

	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		
		
	}

}

Und net/sourceskyboxer/MainMenu.java:
Java:
...
        if(ae.getSource()==jmFileNew){
        	NewDocument ndoc = new NewDocument();
        	ndoc.jdoc.setVisible(true);
            
        }
...

Ich finde komisch, dass ich schon versucht habe. Ist es falsch oder JFrame vs. JInternalFrame muss ich umändern?
Ich dachte, dass JInternalFrame als nur Klasse und JFrame ist egal ob JFrame als Externe Klasse ausgeführt werden könnte...
 

Volvagia

Top Contributor
Du erzeugst eine neue Instanz der Klasse NewDocument. Diese erzeugt im Konstruktor eine neue Main, und diese im Konstruktor ein neues Frame. Du musst ein JInternalFrame erzeugen und es per add zum JDesktopPane hinzufügen.

Java:
public Boolean Maximized;
Maximized = new Boolean(false);
->
Java:
public boolean maximized;
maximized = false;
?
 
Du erzeugst eine neue Instanz der Klasse NewDocument. Diese erzeugt im Konstruktor eine neue Main, und diese im Konstruktor ein neues Frame. Du musst ein JInternalFrame erzeugen und es per add zum JDesktopPane hinzufügen.

Java:
public Boolean Maximized;
Maximized = new Boolean(false);
->
Java:
public boolean maximized;
maximized = false;
?
Hmmm guter Versuch?

Ach ja ich finde blöd, dass JPanel mit JDesktopPane für Normales Modus oder JTabbedPane für Ausfüllendes Modus entscheidet.
Schau mal: JTabbedPane:
How to Use Tabbed Panes (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)
Und JDesktopPane
How to Use Internal Frames (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)

Ich möchte beide Komponenten JDesktopPane ( jDesk ) und JTabbedPane ( jTab ) mit JPanel ( NewDocument ) zu binden. Wenn ich mit dem ausfüllenden oder normalen Fenster "Neue Datei" zu klicken möchte. Aber JTabbedPane kennt JInternalFrame nicht mehr sondern nur "JComponent".

Muss ich JTabbedPane für JComponent direkt JPanel ( NewDocument ) und JDesktopPane für JInternalFrame direkt JPanel ( NewDocument ) basteln?
 
Hallo, sorry für Doppelpost :(

Ich habe schon versucht, dass die Java Anwendung Zugriff über JInternalFrame erhalten hat.
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at net.sourceskyboxer.MainMenu.actionPerformed(MainMenu.java:165)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.AbstractButton.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Ich habe net/sourceskyboxer/NewDocument.java erstellt und geschrieben:
Java:
package net.sourceskyboxer;

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

import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;

public class NewDocument implements ActionListener {
	
	public Main jNm;
	
	public JInternalFrame jpnd;
	public JDesktopPane jDesk;
	
	public JButton jTabRestorer;
	public JInternalFrame jtnd;
	public JTabbedPane jTab;
	
	public JPanel jdoc;
	public JTextArea jtarea;
	public Boolean maximized;
	
	/**
	 * 	Restored Window into JDesktopPane
	 */
	public JInternalFrame RestoredWindow(){
		jpnd = new JInternalFrame("Untitled Document", true, true, true, true);
		jdoc = new JPanel();
		jpnd.add(jdoc, BorderLayout.CENTER);
		jpnd.pack();
		jpnd.setSize(300,200);
		jDesk.add(jpnd);
		jNm.f.add(jDesk);
		jpnd.setVisible(true);
		
		return jpnd;
	}
	
	/**
	 * 	Maximized Window inside JTabbedPane
	 */
	
	public JInternalFrame MaximizedWindow(){
		jtnd = new JInternalFrame();
		jdoc = new JPanel();
		jtnd.add(jdoc, BorderLayout.CENTER);
		jtnd.pack();
		
		jTabRestorer = new JButton("="); // Did you know? Like Adobe Dreamweaver TabbedPane with Restorer
		
		
		jTab.add(jtnd);
		jNm.f.add(jTab);
		jtnd.setVisible(true);
		
		return jtnd;
	}
	
	NewDocument() {
		
		/**
		 * 	If your NewDocument restored than you can click maximized
		 */		
		if(maximized = true){
			this.MaximizedWindow();
		}else{
			this.RestoredWindow();
		}	
	}
	
	
	/**
	 * @param args
	 */
	public static void main(String args) {
		new NewDocument();

	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		
		
	}
}
Ich habe richtig gedacht, dass JInternalFrame mit JTabbedPane nicht mehr einbetten will.
Und wie kann ich wieder los werden? Gibt es keine Möglichkeit für Java Programmierung? Entschuldige mich bitte, da war eine dumme Frage! Ich weiß, dass manche Leute etwa sagen.

Danke für Mühe! Es tut mir wirklich leid, dass ich noch nicht am Ende erreicht wurde.
 
Vielen Dank für Tipp!

Wie kann ich mit JTabbedPane auch binden, während wechselt JDesktopPane als JTabbedPane, wenn das Fenster "ausfüllend" = maximized ist, dann zeigt Tab-Bereich 1 oder mehre Tab-Navigation mit geöffneten Fenstern an... Aber mehre Fenster dürfen nicht "verstecken".

Ich stelle ausfüllendes Modus:
erstes Fenster ist geöffnet = angezeigt.
zweites Fenster ist hinter = soll es zum Tab Navigation "Untited Document 2" angezeigt haben.

und normales Modus:
erstes Fenster ist geöffnet = angezeigt.
zweites Fenster ist hinter oder vorne auch geöffnet = also angezeigt.

Ich hoffe, dass du meine Vorstellung verstanden hast.
 

bERt0r

Top Contributor
Das was du vorhast ist nich so ohne weiters mit standard Java möglich. Besonders wo du noch ein Anfänger bist, würde mich erstmal darauf konzentrieren, die Swing Komponenten richtig einzusetzten. Ich glaube ich würde dich nur verwirren, wenn ich dir jetzt mögliche Lösungswege aufzeige.
Aber um dich mal in die Richtung zu schicken: Du musst dich mit Listenern auskennen und dir das CardLayout ansehen.
 
Das was du vorhast ist nich so ohne weiters mit standard Java möglich. Besonders wo du noch ein Anfänger bist, würde mich erstmal darauf konzentrieren, die Swing Komponenten richtig einzusetzten. Ich glaube ich würde dich nur verwirren, wenn ich dir jetzt mögliche Lösungswege aufzeige.
Aber um dich mal in die Richtung zu schicken: Du musst dich mit Listenern auskennen und dir das CardLayout ansehen.
Danke, aber ich kenne schon bisschen alles. Mach keine Sorge! Ich bin also Fortgeschrittener. ca. 55 % kenne ich sicher, dass ich Buch durchgelesen habe. Ich versuche selbst. Vielen Dank. Schöner Feiertag noch! Wenn ich fertig bin, dann werde ich hier wieder schreiben :)
 
Hey Leute,

bin ich wieder da, da habe ich fast geschafft, dass ich ganze Klassenstruktur verbessert habe.

Code:
net/sourceskyboxer/Main.java -> net/sourceskyboxer/MainApplication.java
net/sourceskyboxer/MainMenu.java -> überarbeitet....
net/sourceskyboxer/AboutDialog.java -> überarbeitet....
net/sourceskyboxer/NewDocument.java -> überarbeitet....
Und neue Klasse:
Code:
net/sourceskyboxer/MainInternalFrame.java
Das Bild: Leeres Fenster wie unserem Programm zum Beispiel Microsoft Word oder so...
631294-PIC.jpg


Zweites Bild: Ich habe erstes neues Inhalt-Fenster von der Menü ( New -> New Document )
631295-PIC.jpg


Drittes Bild: Wenn ich zweites Fenster zum Schließen ausführen will. Aber es funktioniert nur vorwärts Neues Fenster zum Schließen. Wieso geht die Funktion nicht andere verschlossene Fenstern? Ich versuche mehrmals...
631296-PIC.jpg

Wenn ihr nicht versteht, dann werde ich euch extra zeigen, habe ich Video noch mal aufgenommen.
MainApplication with closing Document - Problem??? - YouTube

Wollt ihr meine Klasse sehen? Ja?
net/sourceskyboxer/MainApplication.java:
Java:
package net.sourceskyboxer;

	import javax.swing.JDesktopPane;
	import javax.swing.JMenu;
	import javax.swing.JMenuItem;
	import javax.swing.JMenuBar;
	import javax.swing.JFrame;
	import javax.swing.KeyStroke;
	 
	import java.awt.event.*;
	import java.awt.*;
	 
	/**
	 * 	SourceSkyBoxer's MainApplication with close-used Document
	 */
	public class MainApplication extends JFrame
	                               implements ActionListener {
	    /**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		JDesktopPane desktop;
		MainInternalFrame frame;
	 
	    public MainApplication() {
	        super("MainApplication");
	 
	        int inset = 50;
	        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
	        setBounds(inset, inset,
	                  screenSize.width  - inset*2,
	                  screenSize.height - inset*2);
	 
	        desktop = new JDesktopPane(); //a specialized layered pane
	        setContentPane(desktop);
	        setJMenuBar(createMenuBar());
	        desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
	    }
	 
	    protected JMenuBar createMenuBar() {
	        JMenuBar menuBar = new JMenuBar();
	 
	        //Set up the lone menu.
	        JMenu menu = new JMenu("New");
	        menu.setMnemonic(KeyEvent.VK_D);
	        menuBar.add(menu);
	 
	        //Set up the menu item: New Document
	        JMenuItem menuItem = new JMenuItem("New Document");
	        menuItem.setMnemonic(KeyEvent.VK_N);
	        menuItem.setAccelerator(KeyStroke.getKeyStroke(
	                KeyEvent.VK_N, ActionEvent.ALT_MASK));
	        menuItem.setActionCommand("new");
	        menuItem.addActionListener(this);
	        menu.add(menuItem);

	        // Set up the menu item: Close Document
	        menuItem = new JMenuItem("Close Document");
	        menuItem.setActionCommand("closeDoc");
	        menuItem.addActionListener(this);
	        menu.add(menuItem);
	 
	        //Set up the menu item: Quit
	        menuItem = new JMenuItem("Quit");
	        menuItem.setMnemonic(KeyEvent.VK_Q);
	        menuItem.setAccelerator(KeyStroke.getKeyStroke(
	                KeyEvent.VK_Q, ActionEvent.ALT_MASK));
	        menuItem.setActionCommand("quit");
	        menuItem.addActionListener(this);
	        menu.add(menuItem);
	 
	        return menuBar;
	    }
	 
	    //React to menu selections.
	    public void actionPerformed(ActionEvent e) {
	        if ("new".equals(e.getActionCommand())) { //new
	            createFrame();
	        } else if("closeDoc".equals(e.getActionCommand())){
	        	closeFrame();
	        }else{
	        	quit();
	        }
	    }
	 
	    //Create a new internal frame for new document
	    protected void createFrame() {
	    	frame = new MainInternalFrame();
	        frame.setVisible(true); //necessary as of 1.3
	        desktop.add(frame);
	        try {
	            frame.setSelected(true);
	        } catch (java.beans.PropertyVetoException e) {}
	    }

	    // Create a new internal frame for close document
	    protected void closeFrame() {
	    	frame.setVisible(false);
	    	try {
	            frame.setSelected(true);
	        } catch (java.beans.PropertyVetoException e) {}
	    }
	 
	    //Quit the application.
	    protected void quit() {
	        System.exit(0);
	    }
	 
	    /**
	     * Create the GUI and show it.  For thread safety,
	     * this method should be invoked from the
	     * event-dispatching thread.
	     */
	    private static void createAndShowGUI() {
	        //Make sure we have nice window decorations.
	        JFrame.setDefaultLookAndFeelDecorated(true);
	 
	        //Create and set up the window.
	        MainApplication frame = new MainApplication();
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	 
	        //Display the window.
	        frame.setVisible(true);
	    }
	 
	    public static void main(String[] args) {
	        //Schedule a job for the event-dispatching thread:
	        //creating and showing this application's GUI.
	        javax.swing.SwingUtilities.invokeLater(new Runnable() {
	            public void run() {
	                createAndShowGUI();
	            }
	        });
	    }
}
Und net/sourceskyboxer/MainInternalFrame.java:
Java:
package net.sourceskyboxer;

import javax.swing.JInternalFrame;
 
/* Used by InternalFrameDemo.java. */
public class MainInternalFrame extends JInternalFrame {
	private static final long serialVersionUID = -8235499560581491427L;
	static int openFrameCount = 0;
    static final int xOffset = 30, yOffset = 30;
 
    public MainInternalFrame() {
        super("Document #" + (++openFrameCount), 
              true, //resizable
              true, //closable
              true, //maximizable
              true);//iconifiable
 
        //...Create the GUI and put it in the window...
 
        //...Then set the window size or call pack...
        setSize(300,300);
 
        //Set the window's location.
        setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
    }
}
Ich bin sicher, dass frame auf dem zweiten oder mehren Fenster nicht mehr schließen konnte.
Wie kann ich richtig verstehen, ob 2. oder mehre Fenstern auf dem Schließen ausführen müssten...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing Meine JButtons werden nicht angezeigt bitte helft mir AWT, Swing, JavaFX & SWT 2
Blender3D Meine Swing Anwendung läuft unter Windows 10 und Ubuntu aber nicht auf Windows 7 AWT, Swing, JavaFX & SWT 16
J Meine ProgBar und ProgIndi werden nicht aktualisiert AWT, Swing, JavaFX & SWT 28
X Swing 1 JButton bedeckt meine ganze Frame aber Warum? AWT, Swing, JavaFX & SWT 2
V Warum wird meine Variable nicht erkannt? AWT, Swing, JavaFX & SWT 2
D Swing JTable- Meine Tabelle der Klasse JTable wird nur bedingt angezeigt AWT, Swing, JavaFX & SWT 4
F Swing Wie verwalte ich meine Panels richtig? AWT, Swing, JavaFX & SWT 2
SexyPenny90 Welcher LayoutManager erfüllt meine Bedingung AWT, Swing, JavaFX & SWT 7
N Meine JLabels werden nicht angezeigt AWT, Swing, JavaFX & SWT 6
hdi Swing Suche passende API Klasse(n) für meine Komponente AWT, Swing, JavaFX & SWT 8
dl85hej meine erste Oberfläche AWT, Swing, JavaFX & SWT 3
A TreeNode abgeleitet -> Wie komme ich an meine Methoden? AWT, Swing, JavaFX & SWT 2
G Hilfe Meine JPanels verschwinden im Müll AWT, Swing, JavaFX & SWT 10
M Meine JComponete will nicht wie ich will AWT, Swing, JavaFX & SWT 2
hdi meine paint-methode macht faxen? AWT, Swing, JavaFX & SWT 21
G kann meine idee nicht verwirklichen, bitte helfen AWT, Swing, JavaFX & SWT 3
R Innerhalb der GUI Klasse meine neue Klasse aufrufen AWT, Swing, JavaFX & SWT 1
G Wieso wird meine Scrollbar nicht angezeigt? AWT, Swing, JavaFX & SWT 3
5 Anfängerfrage: Wie starte ich meine ersten Swing-Programme AWT, Swing, JavaFX & SWT 4
G Warum gehen meine Icons/Images nicht weg? AWT, Swing, JavaFX & SWT 2
G kann nicht auf meine JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
P LookAndFeel Suche Buch und Beispielprojekte für gute Designs AWT, Swing, JavaFX & SWT 4
F Welches GUI Plugin bzw. IDE für schnelle und gute Lösungen AWT, Swing, JavaFX & SWT 7
W Swing gute Ide für GUI Erstellung gesucht AWT, Swing, JavaFX & SWT 3
B LayoutManager mischen keine gute Idee? AWT, Swing, JavaFX & SWT 9
S JTree mit Daten aus Model füllen, eigenes TreeModel (gute Dokumentation des Problems) AWT, Swing, JavaFX & SWT 2
C gute Grafik-Bibliotheken gesucht AWT, Swing, JavaFX & SWT 6
U gute GUI IDE ? AWT, Swing, JavaFX & SWT 34
V mal wieder das gute alte gridbaglayout AWT, Swing, JavaFX & SWT 4
L Hilfebutton in Titelleiste oder gute Alternative AWT, Swing, JavaFX & SWT 2
L Wo gibts gute, kostenlose Swing-Gui builder? AWT, Swing, JavaFX & SWT 13
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
Juelin Java <-> Delphi AWT, Swing, JavaFX & SWT 3
H Exceptions seit java: 1.6.0_65 Umstellung AWT, Swing, JavaFX & SWT 3
H Exception: java.lang.ClassCastException AWT, Swing, JavaFX & SWT 2
M JavaFX java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found AWT, Swing, JavaFX & SWT 5
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
W Kennt jemand Dear ImGui (und den Java-Wrapper dazu)? AWT, Swing, JavaFX & SWT 0
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
D JAVA Schieberegler AWT, Swing, JavaFX & SWT 6
N JavaFX Einfacher Taschenrechner mit Scene Builder und Java FX AWT, Swing, JavaFX & SWT 0
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
Encera Java FX im Eclipse-Marketplace nichtmehr auffindbar AWT, Swing, JavaFX & SWT 6
_user_q Versionscode aus build.gradle in Java-Klasse ausgeben lassen AWT, Swing, JavaFX & SWT 14
M Java Dateien kopieren mit Fortschrittsbalken AWT, Swing, JavaFX & SWT 13
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
E 3D-Grafik Java Fatal error bei LWJGL AWT, Swing, JavaFX & SWT 2
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
U Warum wird zweimal die Affinetransformation estellt (2Dgraphics, Java)? AWT, Swing, JavaFX & SWT 31
U was bewirkt die methode fill und unterschied zu anderen fill Methoden in 2dgraphics? (Java)? AWT, Swing, JavaFX & SWT 6
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
E Java-TexturePaint sehr langsam AWT, Swing, JavaFX & SWT 9
N Java MySQL Datenbank durchsuchen? AWT, Swing, JavaFX & SWT 7
maximstein JavaFX WebView - java.lang.NoSuchMethodError: 'boolean com.sun.prism.ResourceFactory.isDisposed()' AWT, Swing, JavaFX & SWT 4
Splayfer Custom Font in AttributedString Java AWT, Swing, JavaFX & SWT 4
imawake Java Paket-Tracking Programm 📦 AWT, Swing, JavaFX & SWT 7
izoards *.doc Seitenränder per Java setzen... AWT, Swing, JavaFX & SWT 14
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
N Java Mouse Listiner macht alles zusammen AWT, Swing, JavaFX & SWT 4
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
M Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found AWT, Swing, JavaFX & SWT 14
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
J Spiel mit Java AWT, Swing, JavaFX & SWT 9
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
O Ein Java-Programm mit Swing steuern AWT, Swing, JavaFX & SWT 1
izoards Java FX Window Event SHOWING AWT, Swing, JavaFX & SWT 17
N FXMLLoader.load java.lang.RuntimeException: Gradle AWT, Swing, JavaFX & SWT 2
T Java GUI - Würfel Programm AWT, Swing, JavaFX & SWT 6
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
dtr84 JavaFX/OpenJFX mittels Apache Ivy einbinden (Java 11) AWT, Swing, JavaFX & SWT 18
M Jogl und Java 3d AWT, Swing, JavaFX & SWT 0
S0PEX JavaFX Java 8 auf 15 migrieren OpenJFX mit Gradle eingebunden, jedoch nicht gefunden !? AWT, Swing, JavaFX & SWT 4
I Gui in bestehendes Java-Programm AWT, Swing, JavaFX & SWT 11
V Java-Zeichenfeld mit AWT AWT, Swing, JavaFX & SWT 3
N java Gui friert scheinbar zufällig ein AWT, Swing, JavaFX & SWT 5
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5
P Java Fx einrichten AWT, Swing, JavaFX & SWT 2
pkm Frage wegen java.lang.IllegalStateException bei DocumentListener AWT, Swing, JavaFX & SWT 4
S JavaFX Java Custom Node Grafik zurückgeben AWT, Swing, JavaFX & SWT 2
MiMa Java und JavaFX 13 läuft endlich AWT, Swing, JavaFX & SWT 4
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Trèfle Ausklappbare Diagramme in Java AWT, Swing, JavaFX & SWT 1
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
K JAVA FX Constraints AWT, Swing, JavaFX & SWT 2
F Java FX und webcam AWT, Swing, JavaFX & SWT 1
T Wie kann man in java aufwendige grafiken programmieren AWT, Swing, JavaFX & SWT 1
M Swing Java Swing/AWT Combobox Bug AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben