Hallo,
als newbie in Java, möchte ich 3 Linien jeweils pro Linie mit dem eingegebenen Koordinatensystem (je Linien mit 2 angegebenen Koordinatensystem für Anfang und Endpunkt) zeichnen.
Ich versuche mit Arrays diese Linie zu zeichnen, aber immerhin klappt bei mir nicht
Hier ist die Code, wo die Linien durch ActionsListener button gezeichnet wurde.
Und hier ist die Klasse DreiLinear
Wenn ich den ActionsListenerButton klicke, kommt der Grafik nicht. Ich vermute, ich habe irgendein Methode falsch geschrieben.
Kann jemand mir weisen oder helfen, wo ich Fehler geschrieben habe?
Ich habe auch gelesen, es gibt solche Setter und Getter Methode. Aber ich verstehe immer nicht, wann und wozu benutzt man diese Methode. Soll ich auch diese Methode hier benutzen?
Falls ich später den Program erweitern, z.B. noch mehrere Linien zeichen, soll ich diese Methode benutzen?
Danke im voraus.
Liebe Grüße,
als newbie in Java, möchte ich 3 Linien jeweils pro Linie mit dem eingegebenen Koordinatensystem (je Linien mit 2 angegebenen Koordinatensystem für Anfang und Endpunkt) zeichnen.
Ich versuche mit Arrays diese Linie zu zeichnen, aber immerhin klappt bei mir nicht
Hier ist die Code, wo die Linien durch ActionsListener button gezeichnet wurde.
Java:
private void DrawButtonActionPerformed(java.awt.event.ActionEvent evt) {
try
{
int[] coordinats1 = new int[3];
coordinats1[0] = (int) Double.parseDouble(inputx1.getText());
coordinats1[1] = (int) Double.parseDouble(inputy1.getText());
coordinats1[2] = (int) Double.parseDouble(inputx2.getText());
coordinats1[3] = (int) Double.parseDouble(inputy2.getText());
int[] coordinats2 = new int[3];
coordinats2[0] = (int) Double.parseDouble(inputx3.getText());
coordinats2[1] = (int) Double.parseDouble(inputy3.getText());
coordinats2[2] = (int) Double.parseDouble(inputx4.getText());
coordinats2[3] = (int) Double.parseDouble(inputy4.getText());
int[] coordinats3 = new int[3];
coordinats3[0] = (int) Double.parseDouble(inputx5.getText());
coordinats3[1] = (int) Double.parseDouble(inputy5.getText());
coordinats3[2] = (int) Double.parseDouble(inputx6.getText());
coordinats3[3] = (int) Double.parseDouble(inputy6.getText());
JDesktopPane dreilinear = new DreiLinear(new Point(coordinats1[0], coordinats1[1]), new Point(coordinats1[2], coordinats1[3]));
new DreiLinear(new Point(coordinats2[0], coordinats2[1]), new Point(coordinats2[2], coordinats2[3]));
new DreiLinear(new Point(coordinats3[0], coordinats3[1]), new Point(coordinats3[2], coordinats3[3]));
dreilinear.setBounds(0, 0, DesktopPanel.getWidth(), DesktopPanel.getHeight());
DesktopPanel.setOpaque(true);
DesktopPanel.add(dreilinear);
dreilinear.setVisible(true);
dreilinear.repaint();
}
catch (NumberFormatException e1)
{
}
}
Und hier ist die Klasse DreiLinear
Java:
import java.awt.*;
import java.awt.Point;
import javax.swing.JDesktopPane;
public class DreiLinear extends JDesktopPane {
private Point startCoordinats;
private Point endCoordinats;
public DreiLinear(Point startCoordinats, Point endCoordinats)
{
super();
this.startCoordinats = startCoordinats;
this.endCoordinats = endCoordinats;
setVisible(true);
}
@Override
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
super.paint(g2d);
g2d.drawLine(startCoordinats.x, startCoordinats.y, endCoordinats.x, endCoordinats.y); //gerade Linie aus 2 Punkten zeichnen
}
}
Wenn ich den ActionsListenerButton klicke, kommt der Grafik nicht. Ich vermute, ich habe irgendein Methode falsch geschrieben.
Kann jemand mir weisen oder helfen, wo ich Fehler geschrieben habe?
Ich habe auch gelesen, es gibt solche Setter und Getter Methode. Aber ich verstehe immer nicht, wann und wozu benutzt man diese Methode. Soll ich auch diese Methode hier benutzen?
Falls ich später den Program erweitern, z.B. noch mehrere Linien zeichen, soll ich diese Methode benutzen?
Danke im voraus.
Liebe Grüße,