Zeichenklasse auslagern

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich versuche gerade mein Programm zu strukturieren.
Programmtyp : Applet

Eine Klasse für die GUI und eine welche eine steuernde Funktion hat. Die GUI soll mit CARDLAYOUT laufen.
Ich möchte von der Steuerklasse auf spätere Textelemente der GUI zugreifen und auch ActionListener abfragen und in der Steuerklasse verarbeiten.

Leider bekomme ich über meine GUI Klasse noch nichtmal eine Anzeige, warum??

GUI-Klasse
Code:
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.awt.event.*;
import java.awt.*;
public class GUI extends Panel
{
 CardLayout MainPanel;
 Panel Main = new Panel();
 private Panel menupanel;
 
 int i;
 Button button_menu_dio;

 public static Button createButton(String label, int x, int y, int w, int h, Font font, Color backgroundColor) 
 {

  Button button = new Button(label);
  button.setBounds(x, y, w, h);
  button.setFont(font);
  button.setBackground(backgroundColor);
  return button;
 }

 public GUI()
 {
    super(null);
    menupanel= new Panel(null);  
    
	 button_menu_dio= createButton("Status",100,400,120,20,new Font("Arial",Font.BOLD,15),new Color(216,228,248));
	 menupanel.setBounds(29, 14, 950, 550);
     menupanel.add(button_menu_dio);
     add(menupanel);
     
     MainPanel = new CardLayout();
     Main.setLayout(MainPanel);
     add(Main);
 }
}

Hier die Steuereinheit

Code:
import java.awt.event.*;
import java.awt.*;
import java.util.*;

public class uControl extends java.applet.Applet
{
     GUI Main_GUI = new GUI();
   
     int t;
  
        
    public void init()
    { 
     Main_GUI.i=1;   //int i in der GUI
    }

    
    public void start()
    {  
    }

    public void stop()
    {
    }

    public void paint(Graphics g)
    {
    }

    public void destroy()
    {
    }
}

Ja ich weiß das sich das nach OBSERVER-Pattern anhört, hab auch schon Stunden damit verbracht mich damit zu beschäftigen, aber ich bin dafür irgendwie zu blöde.

Danke schonmal
Chris
 
G

Gast

Gast
weil du in der applet klasse nichts weiter machst als deine gui zuerzeugen und die referenz abzuspeichern, woher soll das applet jetzt wissen das das zufälligerweise ein panel ist und das du das gerne anzeigen lassen willst?
 
G

Guest

Gast
Und wie mache ich ihm das klar?

Ich dachte wenn ich die GUI erzeuge rufe ich autom. den Konstruktor auf und in Zeile 39 steht : add(Main);
und damit sollte er dies doch darstellen, oder?

Mein geschriebenes hört sich für mich wie ein Brett vorm Kopf an ???:L
 
G

Gast

Gast
damit fügt du dem GUI Panel das Main Panel hinzu

jetzt musst du noch das GUIPAnel dem Applet hinzufügen
 
G

Guest

Gast
OK, dann wird es nicht direkt dargestellt. Formulier ich das mal anders :

Wie kann man von einer anderen Klasse (hier die GUI) das Panel in einer anderen Klasse einfügen?

Ich weiß nicht wie ich das Panel der GUI-Klasse anspreche, wenn ich ein Panel selbst anlege kann ich es ansprechen mit Panelname.add(button zb).
Aber wie geht das mit dem Hauptpanel der Klasse GUI?
 
G

Guest

Gast
Lösung

So, jetzt funktioniert es, danke an den Gast der mir auf die Sprünge geholfen hat. Wenn noch jemand sich Fragen stellt wie soetwas geht ist hier der Sourcecode :


GUI-Klasse :
Code:
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.awt.event.*;
import java.awt.*;

public class GUI extends Panel
{
 private Panel menupanel;
 
 Button button_menu_dio;

 public static Button createButton(String label, int x, int y, int w, int h, Font font, Color backgroundColor) 
 {

  Button button = new Button(label);
  button.setBounds(x, y, w, h);
  button.setFont(font);
  button.setBackground(backgroundColor);
  return button;
 }


 public GUI()
 {
     this.setSize(1000,1000);
    menupanel= new Panel(null) {
              public void paint(Graphics g) 
              {
               g.drawRect(10,200,970,22); //Menü
              }
             };  
    
	 button_menu_dio= createButton("Status",1,1,120,20,new Font("Arial",Font.BOLD,15),new Color(216,228,248));
	 
	 menupanel.setBounds(1, 1, 1000, 1000);
     menupanel.add(button_menu_dio);
     this.add(menupanel);
 }
}

Control-Applet

Code:
import java.awt.event.*;
import java.awt.*;
import java.util.*;

public class uControl extends java.applet.Applet
{
     GUI Main_GUI;
   
     int t;
      
    public void init()
    { 
       
        Main_GUI = new GUI();
        setSize(1000,1000);
        this.add(Main_GUI);

    }

    public void start()
    {  
    }

    public void stop()
    {
    }

    public void paint(Graphics g)
    {
    }

    public void destroy()
    {
    }
}


Falls jemandem noch etwas auffällt melden :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
T Auslagern von Methoden bei einem JFrame Java Basics - Anfänger-Themen 6
S Funktion in Klasse auslagern Java Basics - Anfänger-Themen 4
N Methode auslagern mal wieder Java Basics - Anfänger-Themen 8
R KeyListener auslagern Java Basics - Anfänger-Themen 3
J Threads Prozess in Thread auslagern Java Basics - Anfänger-Themen 2
B Erste Schritte JFrame in Klasse auslagern Java Basics - Anfänger-Themen 4
K Erste Schritte jpanel in einer klasse auslagern Java Basics - Anfänger-Themen 3
K Exceptions auslagern Java Basics - Anfänger-Themen 15
K Vererbung Methoden in klassen auslagern und in mehreren Klassen verfügbar machen Java Basics - Anfänger-Themen 8
A Objekte in eigene Klasse auslagern Java Basics - Anfänger-Themen 2
D Programmteile in Klassen auslagern Java Basics - Anfänger-Themen 2
M MVC - gui auslagern Java Basics - Anfänger-Themen 2
K JPanel auslagern Java Basics - Anfänger-Themen 9
M Vererbung Auslagern von UI AbstractAction? Java Basics - Anfänger-Themen 2
D Codezeilen "auslagern" Java Basics - Anfänger-Themen 4
T ActionListener auslagern Java Basics - Anfänger-Themen 14
E OOP Methoden auslagern Java Basics - Anfänger-Themen 9
F Klasse bzw Objekt in eigenen Thread auslagern Java Basics - Anfänger-Themen 3
W Eventhandling auslagern Java Basics - Anfänger-Themen 4
M Java Objekte auf Platte auslagern. Java Basics - Anfänger-Themen 8
S Bild aus paint() Methode auslagern Java Basics - Anfänger-Themen 14
MrMilti einzelne Methoden einer Klasse auslagern Java Basics - Anfänger-Themen 6
K SQL Statement formatieren + Swingzeug auslagern Java Basics - Anfänger-Themen 18
I Listenerklassen in externe Dateien auslagern? Java Basics - Anfänger-Themen 7
S Icons in Icon-Odner auslagern Java Basics - Anfänger-Themen 2
S auslagern von Methoden in andere Klasse Java Basics - Anfänger-Themen 4
T Operation in Thread auslagern? Java Basics - Anfänger-Themen 7
N Mehrfach von Klassen benutze Methode in Interface auslagern? Java Basics - Anfänger-Themen 3
G Mtehoden auslagern Java Basics - Anfänger-Themen 10
P Thread auslagern Java Basics - Anfänger-Themen 4
G Daten auslagern? Java Basics - Anfänger-Themen 7
P class in neuen Thread auslagern Java Basics - Anfänger-Themen 3
T classen auslagern Java Basics - Anfänger-Themen 16
F FileChooser auslagern Java Basics - Anfänger-Themen 2
N Methode auslagern Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben