AWT Ein Raster in meine GUI implementieren

PooBucket

Mitglied
Hallo, ich bin totaler Java Anfänger und soll als Ausbildungsaufgabe das Sieb des eratosthenes grafisch darstellen und habe nun Probleme im Frontend.

Ich möchte ein Raster Ausgeben, in dem die Zahlen von 1-120 angezeigt werden und alle Nicht-Primzahlen ausgestrichen werden.

Meine Frage:

Wie bekomme ich in meine GUI nun ein Raster mit den Maßen 10x12 ?


Java:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*; 
import java.awt.event.*; 

public class SieveOfEra{

    public static void main (String args[]){
       
        userInterface();
        
    }
    
    public static void userInterface() {
        
        JFrame hauptFenster = new JFrame("Das Sieb des Eratosthenes");
        JButton startKnopf = new JButton("Start");
        JLabel titleText =new JLabel("Das Sieb des Eratosthenes");
        
        
        hauptFenster.setSize(800,600);
        hauptFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        hauptFenster.setLayout(null);
        hauptFenster.setVisible(true);
        hauptFenster.add(startKnopf);
        hauptFenster.add(titleText);
        
        titleText.setBounds(40, 40, 200, 28);
        startKnopf.setBounds(680, 500, 80, 50);
       
        startKnopf.addActionListener(new ActionListener()
        {
            
                public void actionPerformed(final ActionEvent e)
                {
                    
                    //Hier soll der Algorithmus zum Ausstreichen der Zahlen rein
            
                }

				
        });
        
   }

    public static void raster(){
    
    	//Hier soll das Raster rein
    
    }
}
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Wenn das Ganze nicht editierbar sein soll, dann empfehle ich dir die
Code:
paintComponent(Graphics)
Methode zu überschreiben. Guck dir dazu bitte mal ein Tutorial zum Zeichnen in Swing an. (Nicht das, dass eine zusätzliche Klasse zum Zeichnen fordert. Die ist unnötig, funktioniert aber auch)

Dann machst du in die überschriebene Methode zwei ineinander verschachtelte Schleifen, die pro Durchlauf ein Quadrat malen. Die Größe der Quadrate bleibt dabei immer gleich. Nur die Koordinaten werden mit den Variablen der Schleifen multipliziert. (Also z.B. der x-Wert mit der äußeren Variable und der y-Wert mit der aus der inneren Schleife). Dadurch erhältst du ein Raster. Dazu benutzt du noch drawString() und du kannst deine Zahlen auf das JFrame malen.
 

Neue Themen


Oben