Wir möchten gerne Werte aus einem Array mit einer getMethode an eine Klasse übergeben, welche anhand dieser unterschiedliche Polygone zeichnet. Das hat an einer anderen Stelle auch schon funktioniert (hier wurden aber keine Polygone sondern Rechtecke gezeichnet). Leider kommen aber momenten immer nur Fehlermeldungen. Kann uns jemand helfen?
Java:
//3.10 Berechnungsergebnisse Momente
this.moment1 = new double[gesa];
this.moment2 = new double[gesa];
this.momentges = new double[gesa];
for(int i=0; i<gesa; i++){
this.moment1[i] = (Hdges * i * ((gesh/100)+(dest/100)));
if (i == 0){
this.moment1[i] = (Hdges * i * ((gesh/100)+(dest/100)));
this.moment1[i] += moment1[i];
} else {
this.moment1[i] += moment1[i-1];
}
this.moment2[i] = (Hdgesh * ((dest/100)+(gesh/100)) * (i+1));
this.momentges[i] = moment1[i]+moment2[i];
System.out.println("\nMoment1 " + i + " = " + moment1[i]);
System.out.println("Moment2 " + i + " = " + moment2[i]);
System.out.println("MomentGes " + i + " = " + momentges[i]);
}
//3.11 Berechnungsergebnisse Querkraft
System.out.println(" ");;
this.querkraft = new double[gesa];
for (int i=0; i<gesa; i++){
this.querkraft[i] = (Hdgesh) + Hdges * (i);
System.out.println("Querkraft " + i + " = " + querkraft[i]);
}
}
//4. Ausgabe für Grafik
public int getgesa() {
return this.gesa;
}
public double getgesh() {
return this.gesh;
}
public double getwindr() {
return this.windr;
}
public double getdest() {
return this.dest;
}
public double[] getQuerkraft () {
return this.querkraft;
}
public double[] getMoment () {
return this.momentges;
Java:
package berechnung;
import java.awt.*;
import java.text.DecimalFormat;
import java.applet.*;
import javax.swing.JComponent;
public class LaMaDarstellungMoment extends JComponent {
private LaMaGebaeude LaMa;
DecimalFormat f2 = new DecimalFormat("#0.00");
public LaMaDarstellungMoment(LaMaGebaeude LaMa) {
super();
this.LaMa = LaMa;
this.setSize(600, 400);
this.setPreferredSize(new Dimension(600, 400));
}
@Override
protected void paintComponent(Graphics mg) {
double anzahlmoment = this.LaMa.getgesa();
double hoehemoment1 = this.LaMa.getdest();
double hoehemoment2 = this.LaMa.getgesh();
double[] breitemoment = this.LaMa.getMoment();
double hoehemoment = hoehemoment1 + hoehemoment2;
Polygon poly = new Polygon();
poly.addPoint(100, 100);
poly.addPoint(100 + (int) breitemoment[0], 100);
poly.addPoint(100, 100 + (int) hoehemoment);
mg.fillPolygon(poly);
mg.setColor(new Color(0, 0, 0));
mg.drawString("Breite = " + f2.format(breitemoment[0]) + " [kN]", (110 + (int) hoehemoment),
(53 + (int) breitemoment[0] / 2));
System.out.println(anzahlmoment + " " + hoehemoment1 + " " + hoehemoment2);
if (anzahlmoment >= 2)
;
{
Polygon poly2 = new Polygon();
poly2.addPoint(100, 100 + (int) hoehemoment);
poly2.addPoint(100 + (int) breitemoment[1], 100);
poly2.addPoint(100 + (int) breitemoment[1], 100 + (int) hoehemoment * 2);
poly2.addPoint(100, 100 + (int) hoehemoment * 2);
mg.fillPolygon(poly2);
mg.setColor(new Color(0, 0, 0));
mg.drawString("Breite = " + f2.format(breitemoment[1]) + " [kN]", (110 + (int) hoehemoment),
(53 + (int) breitemoment[1] / 2));
System.out.println(anzahlmoment + " " + hoehemoment1 + " " + hoehemoment2);
if (anzahlmoment >= 3)
;
{
Polygon poly3 = new Polygon();
poly3.addPoint(100, 100 + (int) hoehemoment * 2);
poly3.addPoint(100 + (int) breitemoment[1], 100 + (int) hoehemoment * 2);
poly3.addPoint(100 + (int) breitemoment[2], 100 + (int) hoehemoment * 3);
poly3.addPoint(100, 100 + (int) hoehemoment * 3);
mg.fillPolygon(poly3);
mg.setColor(new Color(0, 0, 0));
mg.drawString("Breite = " + f2.format(breitemoment[2]) + " [kN]", (110 + (int) hoehemoment),
(53 + (int) breitemoment[2] / 2));
System.out.println(anzahlmoment + " " + hoehemoment1 + " " + hoehemoment2);
if (anzahlmoment >= 4)
;
{
Polygon poly4 = new Polygon();
poly4.addPoint(100, 100 + (int) hoehemoment * 3);
poly4.addPoint(100 + (int) breitemoment[2], 100 + (int) hoehemoment * 3);
poly4.addPoint(100 + (int) breitemoment[3], 100 + (int) hoehemoment * 4);
poly4.addPoint(100, 100 + (int) hoehemoment * 4);
mg.fillPolygon(poly4);
mg.setColor(new Color(0, 0, 0));
mg.drawString("Breite = " + f2.format(breitemoment[3]) + " [kN]", (110 + (int) hoehemoment),
(53 + (int) breitemoment[3] / 2));
System.out.println(anzahlmoment + " " + hoehemoment1 + " " + hoehemoment2);
if (anzahlmoment >= 5)
;
{
Polygon poly5 = new Polygon();
poly5.addPoint(100, 100 + (int) hoehemoment * 4);
poly5.addPoint(100 + (int) breitemoment[3], 100 + (int) hoehemoment * 4);
poly5.addPoint(100 + (int) breitemoment[4], 100 + (int) hoehemoment * 5);
poly5.addPoint(100, 100 + (int) hoehemoment * 5);
mg.fillPolygon(poly5);
mg.setColor(new Color(0, 0, 0));
mg.drawString("Breite = " + f2.format(breitemoment[4]) + " [kN]", (110 + (int) hoehemoment),
(53 + (int) breitemoment[4] / 2));
System.out.println(anzahlmoment + " " + hoehemoment1 + " " + hoehemoment2);
if (anzahlmoment == 6)
;
{
Polygon poly6 = new Polygon();
poly6.addPoint(100, 100 + (int) hoehemoment * 5);
poly6.addPoint(100 + (int) breitemoment[4], 100 + (int) hoehemoment * 5);
poly6.addPoint(100 + (int) breitemoment[5], 100 + (int) hoehemoment * 6);
poly6.addPoint(100, 100 + (int) hoehemoment * 6);
mg.fillPolygon(poly6);
mg.setColor(new Color(0, 0, 0));
mg.drawString("Breite = " + f2.format(breitemoment[5]) + " [kN]", (110 + (int) hoehemoment),
(53 + (int) breitemoment[5] / 2));
System.out.println(anzahlmoment + " " + hoehemoment1 + " " + hoehemoment2);
if (anzahlmoment > 6) {
mg.setColor(Color.RED);
mg.drawString("Es können maximal sechs Geschosse graphisch dargestellt werden", 10,
80 + 5 * (int) hoehemoment);
}
}
}
}
}
}
}
}