Forum: PC-Programmierung Klassen miteinander verknüpfen


von Kai S. (kai999)


Lesenswert?

Hallo alle zusammen,
ich bin ein Einsteiger und habe eine Anwendung programmiert mit 
Berechnungen und Liniendiagramm. Mein Diagramm ist in einer weiteren 
Klasse. Nun wollte ich wissen, wie ich die Klasse(Diagramm) mit meiner 
Hauptklasse verknüpfen kann, um auf die berechneten Werte zugreifen und 
es auf dem Diagramm darstellen zu können.
Eine weitere Frage ist, wie kann durch einen Knopfdruck die Linie dann 
löschen bzw. leeren?
Danke im Voraus.

von Jemand (Gast)


Lesenswert?

Das ist ganz einfach, Du musst in deiner Hauptklasse nur eine 
Verknüpfung zu deiner Klasse(Diagramm) anlegen...

Wie wäre es mit ein paar mehr Infos? Programmiersprache? Code? Irgendwas 
hilfreiches?

von Kai S. (kai999)


Lesenswert?

Wie lege ich die Verknüpfung an?

Oh sry, hab vergessen es zu erwähnen. Die Programmiersprache ist Java 
Eclipse. Das folgende Code ist für mein Diagramm und in der letzten 
Zeile "g2.drawLine(x1, y1, x2, y2);", sollen die berechneten Werte von 
der Hauptklasse stehen.

g2.drawLine(0, 0, 0, this.getHeight());
    int i = 0;
    for(int y=this.getHeight()-1; y>0;y-=scaleY)
    {
      //g2.drawLine(0, y, 3, y);
      if (i%3==0)
      {
        g2.drawString("" + (this.getHeight()-1-y)/scaleY, 3, y-3);
        g2.drawLine(0, y, 8, y);
      }
      else
      g2.drawLine(0, y, 3, y);
      i++;
    }
    g2.setPaint(Color.blue);
    g2.drawLine(50, this.getHeight()-50, 300 , 150);

von Eric B. (beric)


Lesenswert?

Deine Diagrammklasse braucht wahrscheinlich eine Referenz auf die 
Hauptklasse. Die kannst du entweder als Parameter der Funktion worin 
obigen Code steht mitgeben, oder als Member deiner Diagrammklasse 
definieren.

von Kai S. (kai999)


Lesenswert?

Wie gesagt ich bin noch Anfänger. Ich kann mir zwar von dem was du 
gesagt hast was vorstellen, aber kannst du mal etwas vorgeben, Bsp. oder 
so wie man das als Parameter der Funktion mitgibt?

von Mark B. (markbrandis)


Lesenswert?

Zeig einfach mal Deinen bisherigen Code. Am besten als Datei angehängt.

von Kai S. (kai999)


Angehängte Dateien:

Lesenswert?

In dem Code sind die Stellen mit "//Kommentar" vermerkt, da ergänze ich 
noch die dazu gehörigen Sachen.

Des Weiteren soll das Diagramm auf der Y-Achse, den Durchmesser 
(jNumberField1) ist auch gleichzeitig meine Eingabe(Input) übernehmen 
und auf der X-Achse, den berechneten Wert (jNumberField19) darstellen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

*.docx?

Ist das Dein Ernst?

von Kai S. (kai999)


Angehängte Dateien:

Lesenswert?

Oh Sorry war ein langer Tag, hab gar nicht drauf geachtet.

von Andre R. (physicist)


Lesenswert?

Warum diese Umstände und nicht einfach als schlichte Textdatei *.java 
wie sie auch vorliegen?? Vielleicht will sie ja jemand testweise 
kompilieren und dann wäre es ganz praktisch wenn das auch ginge. Weder 
mit einer docx noch mit einem pdf kann der Java compiler etwas anfangen.

von Eric B. (beric)


Lesenswert?

Kai S. schrieb:
> Wie gesagt ich bin noch Anfänger. Ich kann mir zwar von dem was du
> gesagt hast was vorstellen, aber kannst du mal etwas vorgeben, Bsp. oder
> so wie man das als Parameter der Funktion mitgibt?

Dann lies doch erst mal ein Buch oder Tutorial über Java - die erste 2 
Kapiteln sollen schon reichen.

von Kai S. (kai999)


Lesenswert?

Glaub mir Eric, dass hab ich als erstes gemacht!
Nachdem ich gescheitert bin, habe ich mich für das Forum entschieden. 
Ich hatte gehofft hier weiter zu kommen :-(

von Mark B. (markbrandis)


Lesenswert?

Kai S. schrieb:
> Glaub mir Eric, dass hab ich als erstes gemacht!
> Nachdem ich gescheitert bin, habe ich mich für das Forum entschieden.
> Ich hatte gehofft hier weiter zu kommen :-(

Ich würde Dir ja gerne helfen. Nur kann der Code, den Du hier gepostet 
hast, gar nicht kompiliert werden. Das fängt mit einer überzähligen 
geschweiften Klammer an, aber das ist noch lange nicht der einzige 
Fehler.

Anscheinen willst - oder wohl eher sollst - Du hier einen Taschenrechner 
programmieren. Wenn Du mit dieser Aufgabe aktuell überfordert bist, dann 
fang mit etwas Kleinerem an. Zum Beispiel einfach mal ein Fenster 
aufmachen und darin ein Textlabel anzeigen. Im nächsten Schritt dann 
einen Button hinzufügen, der den Inhalt des Textlabels verändert wenn 
man ihn drückt. Und so weiter, vom Kleinen hin zum Größeren.

Komm gerne wieder, wenn Du ein kompilierfähiges Beispiel hast.

von Eric B. (beric)


Lesenswert?

Mach in Calculator einen Memebr vom Typ Diagramm anstatt es in einen 
lokalen Variabele im Constructor zu packen:
1
public class Calculator
2
{
3
    private Diagramm myDiag;
4
5
    public Calculator()
6
    {
7
        ...
8
        add(myDiag, c);
9
    }
10
    
11
    public void actionPerformed(ActionEvent e)
12
    {
13
        tue_was_mit(myDiag);
14
    }
15
}

War das jetzt wirklich zu schwierig?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.