Mehrere Klassen verbinden?

Daisho

Grünschnabel
Ich habe damals in der Schule in C++ nie Objektorientiertes Programmieren usw gemacht :( (verdammte Lehrer), nun Frage ich mich:

Kann man in Java eigentlich (wahrscheinlich ne blöde Frage) z.B. eine Hauptklasse schreiben (in meinem Fall das Hauptfenster) und Nebenklassen (z.B. Splashscreen's, Unterfenster, Berechnungsprogramme,...) und wie verbindet man diese ? :rolleyes:
 
Containing.

Also als Member der Klasse.

Beispiel ein Auto und deren Insassen die Personen sind.

Code:
// erst die Person Klasse

public class Person {
   private String vorname;
   private String nachname;
   public void Person(String vorname, String nachname) {
       this.vorname = vorname;
       this.nachname = nachname;
   }
}

public class Auto {
 private int sitze; 
 private ArrayList personen;
 public void Auto() {
   sitze = 4;
  }
  public void addPerson(Person einePerson) {
     if(personen.length < 4)
        personen.add(einePerson);
  }
}

...... 
public void main(String[] args) {
   Person chris = new Person("Christian","Fein");
   Person hagen = new Person("Cosma Shiva","Hagen");
    Auto myAuto = new Auto();
    myAuto.addPerson(chris);
    myAuto.addPerson(hagen);
}

Verständlich?
 
Ja das kenne ich aus C++ auch. Funktioniert das auch mit mehreren Dateien ? Ich verwende Borland JBuilder (Projekt mit Klassendateien).

Edit:

z.B.

EBS_MAIN.java

Code:
package EBS;

import java.awt.Toolkit;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: </p>
 * <p>Company: </p>
 * @author 
 * @version 
 */

public class EBS_MAIN extends javax.swing.JFrame {

  public EBS_MAIN() {                                                           // Der Konstruktor
  }

  public static void main(String[] args) {                                      // Das Hauptprogramm
    EBS_MAIN EBS_jframe = new EBS_MAIN();                                       // Ein Objekt "Hauptfenster" erzeugen
    EBS_jframe.setTitle("Das Fenster zur Java-Welt");                           // Titel für das "Hauptfenster" setzen
    EBS_jframe.setSize(Toolkit.getDefaultToolkit().getScreenSize());            // Das "Hauptfenster" an die Bildschirmgröße anpassen
    EBS_jframe.setExtendedState(EBS_jframe.MAXIMIZED_BOTH);                     // Das "Hauptfenster" maximieren (falls möglich)
    EBS_jframe.setVisible(true);                                                // Das "Hauptfenster" sichtbar machen
    EBS_jframe.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);      // Den Schließen-Button definieren
    EBS_jframe.start();
  }

   public void start()
    {
    System.out.println("Hauptscreen gestartet");
    }

}

und

Code:
package EBS;

import javax.swing.JFrame;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Graphics;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: </p>
 * <p>Company: </p>
 * @author 
 * @version 
 */

public class EBS_SPLASH extends JFrame {

  Image splashimage = null;
  JPanel splashpanel = null;
  Graphics splashgraph;

  public EBS_SPLASH() {

   int splashwidth = 320;
   int splashheight = 240;
   String splashfile = "splash.jpg";

   setTitle("");
   setSize(320,240);
   setUndecorated(true);
   setLocation((Toolkit.getDefaultToolkit().getScreenSize().width / 2) - (splashwidth / 2),
               (Toolkit.getDefaultToolkit().getScreenSize().height / 2) - (splashheight / 2));
   this.getContentPane().add(splashpanel, BorderLayout.CENTER);
   setVisible(true);
   splashimage = Toolkit.getDefaultToolkit().getImage(splashfile);
   splashgraph.drawImage(splashimage, 0, 0, this);
 }
}

...kann sein das noch viele Fehler drin sind, is nur ein Beispiel
 
Zuletzt bearbeitet:
Ich versteh deine Frage nicht.

Was meinst du mit mehreren Dateien. Was willst du mit deinem SplashScreen erreichen?

Erst den Splash laden, dann das Fenster?

Oder Fenster laden, beim Auftreten den Splash zeigen?
 
Hmmm, ich dachte man Programmiert nicht z.B. mehrere Klassen in eine Source-Datei (*.java) hinein, sondern z.B. in mehrere (main.java, splashscreen.java, ...) usw.

Wann der Splashscreen auftauchen soll ist eigentlich egal, war ja nur als Beispiel herangezogen.
 
Das ist richtig, nur ist die Datei ansich uninterressant, solange sie im Classpath liegt.
Sprich wenn die Klassendatei dort liegt, so wird die Datei dort gefunden. Ein include oder ähnliches ist nicht notwendig
 
Hohl dir doch erstmal Netbeans (http://www.netbeans.org). Damit hast du ne vernüftige Entwicklungsumgebung zum Nulltarif.Dann besorg dir ein Buch (so habs ich gemacht) und lies erstmal das Grundsätzliche nach. OOP, Klassen, Vererbung, Datentypen, Swing usw. zu Empfehlen ist hier das Buch Java 2 Kompendium von MuT.

Danach würde ich dazu übergehen mich anhand von kleinen Beispielen (werden bei Netbeans ein paar mitgeliefert) mit der Java-API Doku vertraut zu machen.

Wenn du Dir dann das Grundsätzlich in Sachen OOP und Java im Prinzip reingezogen hast geht der Rest eigentlich von alleine.

Gruß

Nove
 
splashscreen einbinden

Original geschrieben von Christian Fein
Ich versteh deine Frage nicht.

Was meinst du mit mehreren Dateien. Was willst du mit deinem SplashScreen erreichen?

Erst den Splash laden, dann das Fenster?

Oder Fenster laden, beim Auftreten den Splash zeigen?

ich würde gerne wissen, wie ich erst einen Splashscreen anzeigen kann und nach sagen wir 2 sec das Fenster erscheint. hab einen Splashscreen und das Fensterprogramm, aber ich schaffe es nicht, diese beiden Programme mit einem Klick ablaufen zu lassen bzw. den Splashscreen in das Fensterprogramm einzubinden. vielen dank für Hinweise!
 

Neue Beiträge

Zurück