Hur man ritar pixlar i Java
Java's Graphics2D-klass ger metoder för att rita primitiva former, såsom linjer, rektanglar och ellipser. Det saknar en metod för att rita pixlar. Du kan färga en enda pixel i en Java-ritning genom att dra en linje med samma startpunkt och slutpunkt. Innan du kan rita pixlar måste du skapa en JFrame eller annan synlig komponent och lägga till en anpassad komponent med en överdriven färgmetod.
1.
Skapa ett nytt projekt i din utvecklingsmiljö. Lägg till en ny klass i ditt projekt och kalla det "Ritningskomponent." Skriv följande linjer kod längst upp i den nya klassen för att importera de obligatoriska klasserna:
importera java.awt.Component; importera java.awt.Color; importera java.awt.Graphics; importera java.awt.Graphics2D; importera java.util.Random;
2.
Skriv "sträcker komponent" direkt efter "klass DrawingComponent" men före öppningsfästet i din nya klassdeklaration. Lägg till följande kod inuti klassfästena för att åsidosätta komponentklassfärgmetoden och initiera ett nytt Graphics2D-objekt:
allmän tomrumsfärg (grafik g) {Graphics2D g2d = (Graphics2D) g;
}
3.
Ställ in färgen på den första pixeln som du vill rita genom att ange följande kod inuti parenteserna i den nya färgmetoden:
g.setColor (Color.CYAN);
Använd en färg som är tillgänglig som en konstant i Java-klassen Färg.
4.
Definiera koordinaterna för din punkt, dra sedan en rad som börjar och slutar vid dessa koordinater:
int x = 25; int y = 32; g.drawLine (x, y, x, y);
5.
Skapa en ny JFrame och lägg till din DrawingComponent till den med den här koden i projektets huvudmetod:
int frameWidth = 300; int frameHeight = 300; javax.swing.JFrame frame = nytt javax.swing.JFrame (); frame.setSize (frameWidth, frameHeight); frame.setVisible (true); frame.getContentPane (). lägg till (ny DrawingComponent ());
tips
- Bädda in koden från steg 3 och 4 i en uppsättning nestade slingor för att skapa mönster. Till exempel kommer följande kod att skapa mönster av vertikala svarta och cyan linjer:
- för (int i = 0; i <300; i ++) {
- för (int j = 0; j <300; j ++) {
- om (i% 2 == 0) {
- g.setColor (Color.BLACK);
- }annan{
- g.setColor (Color.CYAN);
- }
- g.drawLine (jag, j, i, j);
- }
- }