tengo este programa que lo unico que hace es pintar donde hago click, para asignar el color uso setColor(Color.blue) por ejemplo, pero cuando quiero que pinte de otro color no puedo.
tengo un jframe, un jpanel y una clase main
en el jframe tengo los botones de colores y los metodos estan el jpanel.
JFRAME:
public class Ventana extends javax.swing.JFrame {
graficos gr = new graficos();
/** Creates new form Ventana */
public Ventana() {
super("Graficos");
setLayout(null);
initComponents();
this.setSize(400,400);
this.setLocationRelativeTo(null);
graficos gf =new graficos();
add(gf);
this.setVisible(true);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
gr.amarillo(getGraphics());
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
repaint();
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
gr.verde(getGraphics());
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
gr.rojo(getGraphics());
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
gr.blanco(getGraphics());
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
gr.negro(getGraphics());
}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
gr.fondoamarillo(getGraphics());
}
JPANEL
public class graficos extends javax.swing.JPanel {
private int x,y;
/** Creates new form graficos */
public graficos() {
initComponents();
this.setSize(400,400);
}
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
// g.fillRect(y, x, 1, 1);
}
public void pintar(Graphics g){
g.getColor();
g.fillRect(x, y, 1, 1);
}
private void formMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
y= evt.getY();
x=evt.getX();
System.out.println(x);
System.out.println(y);
pintar(getGraphics());
}
public void blanco(Graphics g){
g.setColor(Color.WHITE);
System.out.println("blanco");
}
public void amarillo(Graphics g){
g.setColor(Color.yellow);
System.out.println("amarillo");
}
public void rojo(Graphics g){
g.setColor(Color.red);
System.out.println("rojo");
}
public void verde(Graphics g){
g.setColor(Color.green);
System.out.println("verde");
}
public void negro(Graphics g){
g.setColor(Color.black);
System.out.println("negro");
}
public void fondoamarillo(Graphics g){
// g.setColor(Color.BLACK);
g.fillRect(0, 0, getSize().width - 30, getSize().height - 30);
}
}