Ruben_Barbosa 0 Denunciar mensagem Publicado 30 de Março de 2010 Boas pessoal eu Criei um JPanel. Onde ai Dentro Quero criar Grafos Aleatoriamente. Actualmente ja crios os grafos aleatoriamente mas e na Frame toda :| e eu quero somente dentro do painel pois se o utilizador clickar fora do panel nao pode gerar grafo. Aqui deixo o meu Codigo Graphics g= getGraphics(); Random random =new Random(); int x= random.nextInt(400); int y= random.nextInt(400); grafo1.newNodo(); //desenha um circulo preto g.drawOval(x , y, 30, 30); //preenche a Azul g.setColor(Color.BLUE); g.fillOval(x, y, 30, 30); System.out.println("x "+x+" y "+y); //string String str="V"; //concatena a string o numero do Vertice em que esta str=str.concat(String.valueOf(grafo1.Vertices())); g.setColor(Color.black); //cria a String com o nome do Vertice g.drawString(str, x, y); if(grafo1.Vertices()>1){ g.drawLine(x+10, y, ValX+10, ValY); grafo1.Addarc(grafo1.Vertices()-1, grafo1.Vertices()); // System.out.println("Ligaçao do V"+(grafo1.Vertices()-1)+" para o V"+(grafo1.Vertices())); } ValX=x; ValY=y; JOptionPane.showMessageDialog(this,"Grafo nº: "+grafo1.Vertices()+"\nLigação do V"+(grafo1.Vertices()-1)+" para o V"+(grafo1.Vertices()),"Informação",JOptionPane.INFORMATION_MESSAGE); // jLabel2.setText(String.valueOf(grafo1.Vertices()));//mostra o total de Vertices g.dispose(); Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
DVD 0 Denunciar mensagem Publicado 30 de Março de 2010 Isso é so restringir os clicks do rato ao painel que queres da seguinte maneira: JPanel jp = new JPanel(); j.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } }); Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Ruben_Barbosa 0 Denunciar mensagem Publicado 30 de Março de 2010 Nao percebi meu Como faco isso no meu codigo entao ? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
DVD 0 Denunciar mensagem Publicado 30 de Março de 2010 Chamas o codigo onde crias os grafos dentro do método public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } Tens é de retirar o callback que tinhas anteriormente. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Ruben_Barbosa 0 Denunciar mensagem Publicado 30 de Março de 2010 Epah LOL DVD Esquece meu eu estava aescrever uma coisa e a pensar noutra LOOL omfg. O que eu queria era criar Grafos dentro do meu Painel quando faço random e nao sair do Painel LOL. Isso do Evento já tenho mouseClicked. Epah isto ja estã tao carburado que até nem sai coisa com coisa :|. Por isso pus o Codigo Graphics g= getGraphics(); Random random =new Random(); int x= random.nextInt(400); int y= random.nextInt(400); grafo1.newNodo(); //desenha um circulo preto g.drawOval(x , y, 30, 30); //preenche a Azul g.setColor(Color.BLUE); g.fillOval(x, y, 30, 30); System.out.println("x "+x+" y "+y); //string String str="V"; //concatena a string o numero do Vertice em que esta str=str.concat(String.valueOf(grafo1.Vertices())); g.setColor(Color.black); //cria a String com o nome do Vertice g.drawString(str, x, y); if(grafo1.Vertices()>1){ g.drawLine(x+10, y, ValX+10, ValY); grafo1.Addarc(grafo1.Vertices()-1, grafo1.Vertices()); // System.out.println("Ligaçao do V"+(grafo1.Vertices()-1)+" para o V"+(grafo1.Vertices())); } ValX=x; ValY=y; JOptionPane.showMessageDialog(this,"Grafo nº: "+grafo1.Vertices()+"\nLigação do V"+(grafo1.Vertices()-1)+" para o V"+(grafo1.Vertices()),"Informação",JOptionPane.INFORMATION_MESSAGE); // jLabel2.setText(String.valueOf(grafo1.Vertices()));//mostra o total de Vertices g.dispose(); Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites