Ich raffs nicht! - Wie mache ich ein einfaches Java-window?

fan34

Mitglied
Hi,

ich bin ein Neu-Einsteiger im Thema "Java" und kann schon gut PHP.
Nun möchte ich mit Java weitermachen. Ich hoffe, ich bin hier richtig.

Ich weiß nicht, wie ich ein einfaches Java-Window in eine index.html Datei ausführen soll.

Soweit bin ich schon mal:
Window.rar (Download)

Meine Fenster.java:
Java:
import javax.swing.JFrame;

public class Window extends JFrame {
   public Window() {
      setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); // setzt die Schliessfunktion auf beenden
      
      setLocation( 100, 100 );                          // setzt die Position des Fenster auf 100px x 100px von links oben
      setSize( 500, 400 );                              // setzt die Groesse auf 500px x 400px
      
      setTitle( "Titel" );                              // setzt den Titel auf "Titel"
      
      setVisible( true );                               // macht das Fenster sichtbar
   }
   
   public static void main( String[] args ) {
      new Window();
   }
}

Nun weiß ich aber nicht, wo ich z.B. auch den Text da rein schreibe.
Bitte helft mir, ich versteh NICHTS!
 
Ein JFrame hat eine sog. ContentPane (Ein Panel, dem du alles hinzufügen kannst, was du willst).
Ins Fenster schreiben: Erzeuge ein JLabel
und adde es mit
Java:
fenster.getContentPane().add(label) // fenster ist ein Objekt deiner Window-Class
der ContentPane deines JFrame. Fertig
 
Möchtest du ein Applet schreiben? Dann wird es aber kein Window. Oder willst du das ganze über eine JNLP starten.

Gruß

dev
 
Genau, da könntest du einen Link in deine Seite einbauen. Wenn man drauf klickt wird die Anwendung normal gestartet, wie eine normale Anwendung.

Gruß

dev
 
Dann so 😉
Muss ich dann alles nochmal schreiben?

Kannst Du oder jemand von euch mir dazu die .java - Datei geben?
& dazu den HTML Code zum Ausführen.

(Ich versteh es trotzdem nicht, aber wird schon richtig sein)
 
Du musst dazu nichts bei dir einprogrammieren. Du musst eine solche jnlp-Datei anlegen. Die Inhalte siehst du auf der einen Seite.
Und dann musst du es noch in deine html-Seite einbinden und das wird da auch gezeigt.

Gruß

Sascha
 
Ich glaube bei dir liegen noch eine Menge Missverständnisse vor. Du kommst also aus der PHP-Ecke, richtig? Dann vergess am besten erstmal alles was du über PHP gelernt hast.

Java ist keine Skriptsprache, die geparst wird, sondern eine Programmiersprache bei der ein Compiler (javac.exe) den Quelltext (Klassenname.java) in Bytecode (Klassenname.class) übersetzt, welcher anschließend von der Java Virtual Machine (java.exe) ausgeführt werden kann.

Zur Entwicklung mit Java benötigst du das Java Development Kit (JDK) welches man bei Sun/Oracle herunterladen kann. Es gibt im Internet kostenlose Ebooks (Handbuch der Java-Programmierung und Java ist auch eine Insel), da solltest du erstmal ein wenig lesen bevor du hier mit Fragen stellen anfängst.

Normalerweise programmiert man als Anfänger erstmal Konsolenanwendungen ohne grafische Oberfläche. Bei dir hab ich aber sowieso das Gefühl als wölltest du gar keine Desktopanwendungen schreiben sondern Java anstelle von PHP zur Erzeugung dynamischer Webseiten benutzen. In dem Fall solltest du dich mal ein wenig über Java Server Pages und dergleichen informieren, weil du da mit Swing (JFrame, JPanel, JLabel, etc.) völlig auf dem falschen Weg bist.
 
Oh, ich bin davon ausgegangen, dass du das ganze weißt. 🙂

Schau mal hier
Java SE Downloads - Sun Developer Network (SDN)

Musst du nur noch eine Platform auswählen, dann kannst du das JDK runterladen.

Den Link zu Java ist auch eine Insel habe ich dir oben schon gepostet. Da wird auch erklärt was Java genau ist und wie es funktioniert, wie du Java-Dateienc kompilierst und ausführst.

Gruß

dev
 
Eclipse ist eine Entwicklungsumgebung, genau wie Netbeans und IntelliJ IDEA. Diese IDEs vereinfachen das entwickeln von Java-Programmen. Diese brauchst du aber nicht unbedingt. Das wichtigste ist das JDK.


Gruß

dev
 
Nein, es gibt auch nicht nur javac.exe einzeln zum download. Das ganze nennt sich Java Development Kit (JDK). Den Link wo du es runterladen kannst, hab ich oben gepostet. Einfach runterladen und installieren.

Gruß

dev
 
Jetzt hab ich die Javac.exe. Bin da auch registriert, aber was jetzt?

206hq4x.png
 
Schau doch mal in dem Buch nach, was ich dir gepostet habe, da steht doch alles drin.
Ich kann dir doch hier keinen Einsteigerkurs Java geben.


Gruß

dev
 
Les dir doch endlich mal "Java ist auch eine Insel" oder das "Handbuch der Java-Programmierung" durch. Beide findest du in wenigen Sekunden mit der Suche deiner Wahl. Beide sind kostenlos und beide erklären alles was nötig ist um mit der Java-Programmierung anzufangen.

Erwarte nicht von uns, dass wir dir erklären, was du in 5 Minuten durch LESEN selbst rausfinden kannst.
 
So, ich bin jetzt soweit gekommen:
2u4lncy.png


Und wenn ich das richtig verstanden habe, kann ich das Fenster nicht mit HTML öffnen, sondern nur, wenn man iwo draufklickt?*


(* JNLP)
 
Zuletzt bearbeitet:
Was willst du eigentlich machen?

Eine Webseite erstellen, eine Anwendung schreiben oder eine Server schreiben?

Ich habe das Gefühl das du keine Ahnung hast was du machst.

Du willst scheinbar eine Webseite bzw. ein Webangebot erstellen. Dazu eignet sich aber Javascript besser als Java.

Oder willst du ein Applet erzeugen,dann ist Java richtig.

ACHTUNG JAVA IST NICHT JAVASCRIPT!

Lies Dir doch einmal die ersten Seiten in den hier schon erwähnten Büchern durch, das beantwortet Deine Fragen.
 
Du schreibst grad ein programm... offline, nix mit internet, nix mit firefox, nix mit IE!

Wenne das willst musste umsteigen auf nen Applet oder javascript... un javascript is wieder ne total andere geschichte!

un den ultimativen tipp für dich anfänger hat dev dir schon HIER gegeben!
 
Hier bin ich richtig, weil nirgendwo anders bekomm ich das so gut erklärt, wie von euch -gg-

javac.exe, was ist dieses Programm und wo bekomm ich das her?

Ist blöd wenn die Zeit drängt. Dann kommt es zu solchen famosen Fragen... Ich verstehe das...

EDIT: Nun rede mal Tacheles. Was willst Du denn machen? Was ist das Ziel Deiner Fragen??

Gruß,
Semo
 
Zuletzt bearbeitet:
Was willst du eigentlich machen?

Eine Webseite erstellen, eine Anwendung schreiben oder eine Server schreiben?

Ich habe das Gefühl das du keine Ahnung hast was du machst.

Du willst scheinbar eine Webseite bzw. ein Webangebot erstellen. Dazu eignet sich aber Javascript besser als Java.

Oder willst du ein Applet erzeugen,dann ist Java richtig.

ACHTUNG JAVA IST NICHT JAVASCRIPT!

Lies Dir doch einmal die ersten Seiten in den hier schon erwähnten Büchern durch, das beantwortet Deine Fragen.

Ich weiß das Java nicht Javascript ist, Javascript kann ich ohne Probleme.

--
Ich will jetzt einfach wissen, ob ich den Window mit HTML öffnen kann.
 
Du musst dann nicht mehr von [c]JFrame[/c] (Swing) oder [c]Frame[/c] (AWT) erben (oder eine Instanz davon erzeugen), sondern von [c]JApplet[/c] bzw. [c]Applet[/c]. Mehr Infos findest du z.B. unter Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 21 Applets.

Oder Applikationen über JNLP starten, oder das Applet wie ein einziges Button aussehen lassen, welches beim drücken das gewohnte Fenster aufruft, oder das applet unsichtbar machen, und das fenster gleich beim initialisieren aufrufen, oder sonstwas...

Was willst du denn mit so einem Fenster überhaupt, wenn du dich mit Java nicht auskennst?

Meine private meinung: Applets die zusätzliche Fenster öffnen nerven, diese aufpoppende Fensterchen will man doch immer nur reflexartig wegklicken...
 
Also kann ich es, indem ich ein Applet-Tag einbaue ôo
Nehmen wir an, der Applet-Tag ist eingebaut.

Die JAR & Class hau ich zusammen in den selben Ordner mit der index.html.
Dann öffnet sich das Java-Window aber trotzdem nicht 🙂

Hat Dein Quelltext irgendwo eine
Code:
package irgendwas;
Anweisung drin? Das könnte Deinen Browser davon abhalten es zu laden...

Vielleicht ist auch was in der HTML Seite was falsch. Hier ist ein Beispiel:

SELFHTML: HTML/XHTML / Multimedia / Java-Applets einbinden (herkömmlich)

Viele Grüße,
Semo

P.S. Es wird nur die *.class file gebraucht.
 
Wollt ihr mir damit sagen, dass der Java-Code
Java:
import java.applet.Applet; 

public class Window extends Applet {
   public Window() {
	  setDefaultCloseOperation( Applet.EXIT_ON_CLOSE );
      
      setLocation( 100, 100 );
      setSize( 500, 400 );
      
      setTitle( "Titel" );
      
      setVisible( true );
   }
   
   public static void main( String[] args ) {
      new Window();
   }
}

heißen müsste?
 
Zuletzt bearbeitet:
fast, beim applet kannste dir nu so einiges schenken... z.b. die position, die hängt nämlich von deiner html page ab und nicht mehr vom applet... im übrigen würde ich setSize auf setPreferedSize ändern, das ist weniger statisch... überleg dir mal was davon noch alles unnötig is 😉
 
Was ist mit dem Sun Java Webloader? Der kann doch auch Desktop Applikationen wie ein Bean bzw. Applet laufen lassen, oder?

Ganz ehrlich: Sagt mir nichts und google spuckt nichts brauchbares aus. Was ist das genau und lässt es sich denn einfach implementieren?

Eine Main-Methode ist bei einem Applet auch nicht nötig. Ich bitte dich doch nochmals darum genauer zu sagen, was du überhaupt machen willst, dann können wir dir auch viel besser helfen.
 
Wenn es wirklich nur das sein soll:
Java:
import javax.swing.*;
import java.awt.*;


public class TestApplet extends JApplet implements Runnable {
	
	public void init(){
		JFrame fenster = new JFrame("Titel");
		fenster.setVisible(true);
		fenster.setSize(800,600);
		fenster.setLocation(100,100);
	}
	
	public void start(){

	}
	public void run(){

	}
	
	public void stop(){
		
	}
	
	public void destroy(){
		
	}
	
	public void paint(Graphics g){

	}
}

Und die index.html dazu:

Java:
<html>
 <head>
  <title>Test Fenster</title>
 </head>

 <body>
  <applet code="TestApplet.class" width="0" height="0">
  </applet>
 </body>
</html>

"width" und "height" spielen keine Rolle da du ja sowieso ein neues Fenster öffnen willst.
 
Wenn es wirklich nur das sein soll:
Java:
import javax.swing.*;
import java.awt.*;


public class TestApplet extends JApplet implements Runnable {
	
	public void init(){
		JFrame fenster = new JFrame("Titel");
		fenster.setVisible(true);
		fenster.setSize(800,600);
		fenster.setLocation(100,100);
	}
	
	public void start(){

	}
	public void run(){

	}
	
	public void stop(){
		
	}
	
	public void destroy(){
		
	}
	
	public void paint(Graphics g){

	}
}

Und die index.html dazu:

Java:
<html>
 <head>
  <title>Test Fenster</title>
 </head>

 <body>
  <applet code="TestApplet.class" width="0" height="0">
  </applet>
 </body>
</html>

"width" und "height" spielen keine Rolle da du ja sowieso ein neues Fenster öffnen willst.

Vielen Dank, kann ich da auch noch einen Text einfügen?
 
was soll das
Code:
implements Runnable
bitte bringen? :autsch:

fan34 hat gesagt.:
kann ich da auch noch einen Text einfügen?
Java:
public class TestApplet extends JApplet {
    
    public void init(){
        JFrame fenster = new JFrame("Titel");
        fenster.add(new JLabel("Hier könnte deine Werbung stehen!"));
        fenster.setSize(800,600);
        fenster.setLocation(100,100);
        fenster.setVisible(true);
    }
}
 
Zuletzt bearbeitet:
Java:
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.net.*;
import javax.imageio.ImageIO;

 
 
public class omg extends JApplet implements Runnable {
    
    public void init(){
        JFrame fenster = new JFrame("Copyright");
        fenster.setVisible(true);
        fenster.setSize(800,600);
        fenster.setLocation(100,100);
        fenster.add(new JLabel("This chat ist under a copyright of the user fan34"));
        fenster.setContentPane(new BackgroundPanel());

    }
    
    class BackgroundPanel extends JPanel
    {
        Image image;
     
        public BackgroundPanel()
        {
            loadImage();
            setBackground(Color.yellow);
        }
     
        public void paintComponent(Graphics g)
        {
            super.paintComponent(g);
            int width = getWidth();
            int height = getHeight();
            int imageWidth = image.getWidth(this);
            int imageHeight = image.getHeight(this);
            int x = (width - imageWidth)/2;
            int y = (height - imageHeight)/2;
            g.drawImage(image, x, y, this);
        }
     
        private void loadImage()
        {
            String fileName = "images/Profile.png";
            try
            {
                URL url = getClass().getResource(fileName);
                image = ImageIO.read(url);
            }
            catch(MalformedURLException mue)
            {
                System.out.println(mue.getMessage());
            }
            catch(IOException ioe)
            {
                System.out.println(ioe.getMessage());
            }        
        }
    }
    
    public void start(){
 
    }
    public void run(){
 
    }
    
    public void stop(){
        
    }
    
    public void destroy(){
        
    }
    
    public void paint(Graphics g){
 
    }
}


Also wenn ich das mache stürzt Java ab.

Beachtet, ich möchte es mit HTML öffnen!
 

Zurück
Oben