Nochmal vereinfacht - hoffe mer kanns nachvollziehen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Code:
public class ausgabe
{

public static void ausgabefunktion()
{
}

}


Wie rufe ich in der methode ausgabefunktion die methode create der folgenden klasse auf? 1000 DAnk schonmal Vorab!


Code:
public class balkendiagramm
{


  public JLabel create(int wert1, int wert2, int wert3, int wert4, int wert5, int wert6, int wert7, int wert8, int wert9)
  {


    JLabel hlabel2 = new JLabel(); //(hintergrund2);
    hlabel2.setSize(500, 300);
    hlabel2.setLocation(300,0);
 
   
    //Das Maximum der 9 zahlen wird errechnet
    float max = Math.max(wert1,Math.max(wert2,Math.max(wert3,Math.max(wert4,Math.max(wert5, Math.max(wert6, Math.max(wert7, Math.max(wert8,wert9))))))));

    //Die Balkenlänge ergibt sich aus dem Quotienten wert/max
    //mal der festgelegten maximalen Breite von 490 Pixeln
    
    //Sollte ein negativer Gesamtwert einer Kategorie berechnet werden, so ist kein Balken sichtbar
    
    float tf1size = wert1/max*490;
    float tf2size = wert2/max*490;
    float tf3size = wert3/max*490;
    float tf4size = wert4/max*490;
    float tf5size = wert5/max*490;
    float tf6size = wert6/max*490;
    float tf7size = wert7/max*490;
    float tf8size = wert8/max*490;
    float tf9size = wert9/max*490;

    JTextField tf1 = new JTextField("Lebensmittel");
    tf1.setSize((int)tf1size,20);
    tf1.setLocation(0,12);
    tf1.setBackground(Color.GREEN);
    hlabel2.add(tf1);
    
    JTextField tf2 = new JTextField("KFZ");
    tf2.setSize((int)tf2size,20);
    tf2.setLocation(0,44);
    tf2.setBackground(Color.BLUE);
    hlabel2.add(tf2);
    
    JTextField tf3 = new JTextField("Wohnen");
    tf3.setSize((int)tf3size,20);
    tf3.setBackground(Color.RED);
    tf3.setLocation(0,76);
    hlabel2.add(tf3);
    
    JTextField tf4 = new JTextField("Bildung");
    tf4.setSize((int)tf4size,20);
    tf4.setBackground(Color.CYAN);
    tf4.setLocation(0,108);
    hlabel2.add(tf4);
    
    JTextField tf5 = new JTextField("Freizeit");
    tf5.setSize((int)tf5size,20);
    tf5.setBackground(Color.ORANGE);
    tf5.setLocation(0,140);
    hlabel2.add(tf5);
    
    JTextField tf6 = new JTextField("Haushaltswaren");
    tf6.setSize((int)tf6size,20);
    tf6.setBackground(Color.PINK);
    tf6.setLocation(0,172);
    hlabel2.add(tf6);
    
    JTextField tf7 = new JTextField("Kleidung");
    tf7.setSize((int)tf7size,20);
    tf7.setBackground(Color.MAGENTA);
    tf7.setLocation(0,204);
    hlabel2.add(tf7);
    
    JTextField tf8 = new JTextField("Verdienst");
    tf8.setSize((int)tf8size,20);
    tf8.setBackground(Color.YELLOW);
    tf8.setLocation(0,236);
    hlabel2.add(tf8);
    
    JTextField tf9 = new JTextField("Gesamtbetrag");
    tf9.setSize((int)tf9size,20);
    tf9.setBackground(Color.WHITE);
    tf9.setLocation(0,268);
    hlabel2.add(tf9);

    return hlabel2;


  }

}
 

Oni

Top Contributor
moin,

z.B so aber was hast du vor?
Code:
public class ausgabe
{

  public static void ausgabefunktion()
  {
      balkendiagramm b = new balkendiagramm();
      b.create(1,1,1,usw..);
  }

}
 
G

Guest

Gast
So habe ich es, aber das funktioniert nicht - Er meldet <identifier> expectet. Ich will die Create Methode aufrufen. Diese soll mir das Label auf einen Frame setzen, der jedoch wieder in einer völlig anderen Klasse&Methode liegt. Ich versuche jetzt erst einmal die create Methode aufsurufen - danach wollte ich mich um das Jlabel kümmern.
 

Oni

Top Contributor
warum willst du das über eine statische methode machen?

erzeug doch in der klasse vom jframe eine instanz des balkendiagramms und ruf da dann die create-methode auf.
 
G

Gast

Gast
Das Problem is, dass der Frame schon besteht und dann durch eine andere methode, die über einen button im frame aufgerufen wird, aus einer datenbank gelesen wird. Anhand dieser daten wird nun das Balkendiagramm erstellt und soll dann auf dem Frame gepackt werden.
 

Oni

Top Contributor
ich sehe das problem nicht wirklich. du kannst doch den code vom frame anpassen oder?

wenn ja,
der button wird gedrückt, der actionlistener reagier, holt die daten aus der db, dann kannst du im actionlistener eine instanz deines balkendiagramms erstellen und die methode create aufrufen um dann das label zu adden. da für brauchst du keine static methode.

oder sehe ich da was falsch?
 
G

Guest

Gast
ok, nur wird durch den Button eine funktion ausgeführt, die mir alles mit der DB macht. Soll ich die Werte, die mir diese bringt dann per return an den ActionListener zurücggeben und dann mit diesen meine create methode aufrufen?
 

Oni

Top Contributor
es wäre eine möglichkeit.

z.B.
Code:
int[] werte = holMirDieWerteAusDerDB();
balkendiagramm b = new balkendiagramm();
add(b.create(werte[0],werte[1],werte[2],usw..); ); //add to Frame

ist jetzt vielleicht nicht die schönste lösung, aber müsste gehen.
 
G

Gast

Gast
Und mit return übergebe ich einfach alle werte aus der dbFunktion, die ich benötige...? UNd die Speicher in dann in das Array.
 

Oni

Top Contributor
das war nur ein beispiel, ich weiss ja nicht was deine db-funktion genau macht.

ich habe jetzt einfach mal so getan, als würde sie ein int[]-array per return zurück geben.

du könntest auch eine arraylist oder sonstwas nehmen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
E nochmal synchronisierte Methoden Java Basics - Anfänger-Themen 5
J Hinzufügen eines Objekts in eine Liste, um später dann nochmal auf das Objekt zugreifen zu können Java Basics - Anfänger-Themen 8
B Unique ID nochmal Unique machen Java Basics - Anfänger-Themen 20
X Wenn Exception dann nochmal try. Java Basics - Anfänger-Themen 7
R Nochmal Quaxli Spieletutorial ;) Java Basics - Anfänger-Themen 9
V Nochmal Hilfe - Replace Methode Java Basics - Anfänger-Themen 2
T Override klappt nochmal wie? Java Basics - Anfänger-Themen 3
Haubitze_Broese Methode am ende nochmal startet? Java Basics - Anfänger-Themen 8
D Ausgabe sauber formatieren *bitte nochmal reinschaun* Java Basics - Anfänger-Themen 7
D C0 und C1 Test nochmal Java Basics - Anfänger-Themen 9
B könnte nochmal jemand über mein Projekt schauen? Java Basics - Anfänger-Themen 4
C Nochmal zu lokale Einstellungen Java Basics - Anfänger-Themen 2
G nach Thread.start(); nochmal start(); aufrufen geht nicht Java Basics - Anfänger-Themen 4
S Fehler durch Exception beheben und nochmal versuchen Java Basics - Anfänger-Themen 4
U Nochmal was zum Date(); Java Basics - Anfänger-Themen 23
F nochmal Array Declaration Java Basics - Anfänger-Themen 2
F Referenz Pointer oder doch nochmal neu suchen ? Java Basics - Anfänger-Themen 2
G Nochmal zweidimensionaler Vector Java Basics - Anfänger-Themen 10
ven000m Char einlesen, wie ging das nochmal? Java Basics - Anfänger-Themen 9
D Nochmal zu den dummen Eingaben über Tastatur Java Basics - Anfänger-Themen 15
B Nochmal ich/ Graphik wird nicht angezeigt ? Java Basics - Anfänger-Themen 12
G Nochmal Problem mit Kommunikation zwischen Klassen Java Basics - Anfänger-Themen 3
B nochmal ich / jdk1.5 Java Basics - Anfänger-Themen 5
S nochmal Taschenrechner ;) Java Basics - Anfänger-Themen 16
B Nochmal NoClassDefFoundError Java Basics - Anfänger-Themen 3
megachucky nochmal JDBC. komme nicht weiter. Java Basics - Anfänger-Themen 4
K nochmal Jtable Java Basics - Anfänger-Themen 5
S Vereinfacht Sounds abspielen?! Java Basics - Anfänger-Themen 3
J Guten tag, Ich hoffe ihr habt einen schönen Sonntag und könnt mir helfen Java Basics - Anfänger-Themen 2
S Bot Fragen(hoffe das ist hier richtig) Java Basics - Anfänger-Themen 12
G Hoffe jemand kann mir ein paar Tips geben:binärer Suchbaum Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben