Solo quiero saber cómo hacer un punto/píxel con una determinada coordenada x, y en mi JFrame.Java haciendo un 'punto/píxel' En swing/awt
¿Alguien sabe un código simple para esto?
Gracias,
Solo quiero saber cómo hacer un punto/píxel con una determinada coordenada x, y en mi JFrame.Java haciendo un 'punto/píxel' En swing/awt
¿Alguien sabe un código simple para esto?
Gracias,
he creado un pequeño programa de ejemplo:
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();
}
}
También podría utilizar la actualización o el método paintComponents, que sería mucho más agradable. Pero luego debes asegurarte de que se llame. Si tiene problemas y no se consiga llamar podría utilizar la siguiente solución: Why is paint()/paintComponent() never called?
mejor compromiso entre la simplicidad y utilidad, probablemente sería extender JPanel, y anular paintComponent (Gráficos). A continuación, coloque ese panel en su JFrame (con un diseño adecuado Hay algunas notas de uso aquí:.. http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JComponent.html#paintComponent%28java.awt.Graphics%29
ver
métodovoid update(Graphics g)
de la clase JFrame API gráficos (como punto de extracción, dibujar la línea, dibujar arco, etc.) están en clase Graphics
EDIT:. http://www.javadb.com/drawing-a-line-using-java-2d-graphics-api
Pregúntese si su realmente desea extender JFrame
o JPanel
. Si decides que no, entonces podrías crear un JComponent
básico. Puede tener un éxito variable dependiendo de qué administrador de diseño use.
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);
}
}
Enviar la referencia gráfica y el eje X e Y para hacer un píxel:
private void doPixel(Graphics g, int x, int y){ g.fillRect(x, y, 1, 1); }
pequeño y agradable gracias ejemplo. Tuve que agregar las importaciones para ejecutar: import javax.swing. *; import java.awt.Graphics; importar java.awt.Dimension; – strainer
Gracias, ¿hay alguna posibilidad de que sepa cómo establecer el color de la línea/punto/punto? :) –
¿cómo hacerlo para dobles en lugar de ints? –