9
votes

Java faisant un "point / pixel" à Swing / AWT

Je veux savoir comment faire un point / pixel sur un certain X, y coordonné sur mon jframe.

Quelqu'un en connaît un code simple pour cela?


0 commentaires

5 Réponses :


1
votes

Le meilleur compromis entre la simplicité et l'utilité serait probablement d'étendre JPanel et d'outrepasser la peinture compromet (graphiques). Ensuite, placez ce panneau dans votre jframe (avec une mise en page appropriée. Il y a quelques notes d'utilisation ici: http://download.oracle.com/javase/1.4.2/docs/aCi/javax/swing/jcomponent.html#paintcomponent%28java .awt.graphics% 29


0 commentaires

1
votes

voir

void update(Graphics g) 


0 commentaires

8
votes

J'ai créé un petit exemple d'exemple:

public class Test extends JFrame {

    public Test() {
        this.setPreferredSize(new Dimension(400, 400));
        this.pack();
        this.setVisible(true);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);

        // define the position
        int locX = 200;
        int locY = 200;

        // draw a line (there is no drawPoint..)
        g.drawLine(locX, locY, locX, locY); 
    }

    public static void main(String[] args) {
        Test test = new Test(); 
    }
}


3 commentaires

Petit exemple soigné merci. Je devais ajouter les importations à exécuter: importer javax.swing. *; import java.awt.graphics; import java.awt.dimension;


Merci, tout risque de savoir comment définir la couleur de la ligne / point / point? :)


Comment le faire pour les doubles au lieu d'INTS?



1
votes

Demandez-vous si votre vraiment em> veux prolonger jframe code> ou jPanel code>. Si vous décidez que vous ne pouvez pas alors créer un jComponent de base code>. Vous pouvez avoir un succès supplémentaire avec cela en fonction de l'utilisation de la mise en page que vous utilisez.

public class PixelComponent extends JComponent
{
    private Color color;

    public PixelComponent(Color color)
    {
        super();
        this.color = color;
    }

    public PixelComponent()
    {
        this(Color.BLACK);
    }

    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);

        g.setColor(color);
        g.fillRect(0, 0, 1, 1);
    }
}


0 commentaires

0
votes

Envoyer la référence graphique et l'axe X et Y pour faire un pixel:

noïde privé dopixel (graphiques g, int x, int y) { g.fillrect (x, y, 1, 1); }


0 commentaires