Punkte malen

Mechamod

Neues Mitglied
Moin moin,

ich würde gerne Punkte malen, auf die eine Bedingung zutrifft. Dazu war mein Gedanke jeden Punkt einzelnt ''anzuwählen'' (durch 2 ineinander gekoppelte for-Schleifen), und dann in einer Methode (hier isElement) die Koordinaten zu übergeben und dort zu überprüfen ob eine Bedingung stimmt, oder nicht, wenn sie zutrifft dann soll der Punkt ausgemalt werden, wenn nicht dann nicht und das ganze immer so weiter.
Java:
public void paint(Graphics g){
  g.translate(WIDTH/2, HEIGTH/2);
  for(int w=0; w<WIDTH; w++){
    for(int h=0; h<HEIGHT; h++){
      if(isElement(w,h)==true){
        g.setColor(Color.black);
        g.drawLine(w,h,w,h);
      }
    }
  }
}
 
public boolean isElement(double w, double h){
  if(w==h){
    return true;
  }
    return false;
}


Ich habe aus Testzwecken den Mittelpunkt des Koordinatengitters in die Mitte des Fensters gesetzt. (WIDTH ist die Breite,hier 800. HEIGTH die Höhe 600)
Dann lass ich alle Pixel durchlaufen und in der Methode isElement ob sie auf die Bedingung (hier w==h) zutreffen.

Mein Problem: Es wird immer falsch (anders das ich es Erwarte :D ) gezeichnet. Hier würde ich erwarten dass eine gerade Entsteht welche im 45° Winkel (oder Steigung 1) hat. Allerdings wird nur der eine Punkt in der Mitte bei 0,0 gezeichnet, und einer ein Pixel weiter runter und weiter rechts. Ich bin extrem verwirrt und habe es natürlich auch mit anderen Bedingungen getestet. Aber bei (fast) allen wird eine dicke gerade (etwa 3 Pixel hoch) durchgehend nach rechts gezeichnet...

Ratschläge, Tipps?


P.S. Wenn jemand einen Tipp hat wie ich den Code hier etwas... ansehnlicher... im Post ausschauen lasse auch bitte schreiben :)
 
Zuletzt bearbeitet von einem Moderator:

Flown

Administrator
Mitarbeiter
Wenn du eine Gerade willst, warum zeichnest du nicht eine mit g.drawLine(...)?

Egal hier ein Code wie du eine Gerade mit Punkten (allerdings mit Steigung -1) erhälst, da ja in der linken oberen Ecke zum Zeichnen begonnen wird.
Java:
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class Test {
   
    public static void main(String... args) {
        SwingUtilities.invokeLater(Test::new);
    }
   
    public Test() {
        JFrame frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
       
        frame.add(new MyComponent());
        frame.setVisible(true);
    }
}

class MyComponent extends JPanel {
    private static final long serialVersionUID = 1L;
   
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
       
        for (int i = 0; i < getWidth(); i++) {
            for (int j = 0; j < getHeight(); j++) {
                if (isElement(i, j)) {
                    g.drawLine(i, j, i, j);
                }
            }
        }
    }
   
    private boolean isElement(int w, int h) {
        return w == h;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K swing/awt Panel punkte malen AWT, Swing, JavaFX & SWT 4
V Punkte malen im Panel AWT, Swing, JavaFX & SWT 3
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
T Swing Tetraeder - mehrere Punkte verbinden? - Ansätze gesucht AWT, Swing, JavaFX & SWT 2
G JavaFX Projection von 3D Punkte auf 2D Punkte AWT, Swing, JavaFX & SWT 0
Soloeco Graphics2D - Verbinden zweier Punkte AWT, Swing, JavaFX & SWT 6
N jFreeChart einzelne Punkte anwählen und Formatieren AWT, Swing, JavaFX & SWT 0
F 2D-Grafik Punkte um Mittelpunkt drehen AWT, Swing, JavaFX & SWT 11
J Reihenfolge der Punkte in Vielecken AWT, Swing, JavaFX & SWT 3
N 2D-Grafik AffineTransform - Punkte abfragen nach transform() AWT, Swing, JavaFX & SWT 3
E 2D-Grafik Div. Punkte zur Sinuskurve verbinden AWT, Swing, JavaFX & SWT 25
B unsortierte Punkte verbinden AWT, Swing, JavaFX & SWT 8
K Punkte eines Funktionsplotters zeitlich versetzt zeichnen AWT, Swing, JavaFX & SWT 18
P Welche Methode um Punkte in xy Ebene zu zeichnen? AWT, Swing, JavaFX & SWT 4
L Punkte verbinden AWT, Swing, JavaFX & SWT 3
W Punkte im JLabel AWT, Swing, JavaFX & SWT 7
H Punkte im Kreis AWT, Swing, JavaFX & SWT 3
E Mysthische Punkte auf JFrame(FlowLayout) nach Komboboxklick AWT, Swing, JavaFX & SWT 5
K Punkte in eine bestimmte Richtung bewegen AWT, Swing, JavaFX & SWT 5
M gezeichnete Punkte dynamisch verschieben mit mousedragged AWT, Swing, JavaFX & SWT 4
H Punkte auf einem JPanel zeichnen AWT, Swing, JavaFX & SWT 4
G Punkte auf Canvas zeichnen AWT, Swing, JavaFX & SWT 2
N Schnelleres Malen AWT, Swing, JavaFX & SWT 22
E Auf JPanel malen und davor JComponenten anzeigen AWT, Swing, JavaFX & SWT 12
Java_RY Bin Ratlos bzgl Malen in Swing AWT, Swing, JavaFX & SWT 5
M Schrift "malen" AWT, Swing, JavaFX & SWT 11
Regedit JavaFX Java Canvas hört ständig auf zu aktualisieren/malen AWT, Swing, JavaFX & SWT 3
Z Auf ein JLabel drauf malen? AWT, Swing, JavaFX & SWT 1
J Swing Bild laden, Kreise drin malen, Schreiben AWT, Swing, JavaFX & SWT 2
L Gradient Hintergrund malen und durchscheinen lassen AWT, Swing, JavaFX & SWT 8
windl Querstreifen beim Bilder malen und anpassen an neue CPU AWT, Swing, JavaFX & SWT 12
S JButton in JLabel malen AWT, Swing, JavaFX & SWT 7
E JButton Text malen AWT, Swing, JavaFX & SWT 3
J Swing Malen auf JPanel mit transparentem Hintergrund AWT, Swing, JavaFX & SWT 21
B 2D-Grafik Malen/übermalen mit Canvas AWT, Swing, JavaFX & SWT 5
G Auf Image malen AWT, Swing, JavaFX & SWT 12
B Wie Panel neu Laden/Malen/Aktualisieren AWT, Swing, JavaFX & SWT 14
G kreis malen -> welche funktion? AWT, Swing, JavaFX & SWT 3
V Framework zum Zeichnen/Malen? AWT, Swing, JavaFX & SWT 7
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
J Einmal gleichzeitig auf zwei Graphics malen? AWT, Swing, JavaFX & SWT 5
C ".tif" Image in Java einbinden und malen lassen AWT, Swing, JavaFX & SWT 7
H auf einem Bild malen AWT, Swing, JavaFX & SWT 4
N malen => 1 Sekunde warten => malen AWT, Swing, JavaFX & SWT 2
U Malen auf Buffered Image AWT, Swing, JavaFX & SWT 9
V Auf Knopfdruck malen ?????? AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben