Boa tarde Pessoal,
Seguinte,
estou desenvolvendo um trabalho de faculdade em JAVA. Trata-se de resolver o problema do caixeiro viajante.
E eu preciso representar o grafo desse problema!!
Estou tentando usar os elementos da classe “JComponent”, estou criando linhas e pontos com
“g.drawLine(40,113,32,97);”
“g.fill(new Ellipse2D.Double(x,y,5,5));”
O problema é o seguinte, os pontos e suas coordenadas já estão pré-definidos. Eles estão em arquivos dessa biblioteca aqui
http://www2.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/tsp/
Aí por exemplo, o primeiro arquivo eu consigo imprimir todos os pontos em uma Jpanel.
Só que, os pontos estão muito juntos em um canto da tela!!! Eu preciso de algo que me dê um zoom nesses pontos por exemplo. Ou então, de uma Janela maior que deixe os pontos mais separados!!
alguém pode me ajudar???
Grato.
ou se tiver alguma forma de redimensionar o plano cartesiano…
Não duplique tópicos. Na dúvida de qual fórum abrir, peça para um moderador revisar se o local onde você colocou está correto.
Seu tópíco foi movido para o fórum de interface gráfica.
Para dar zoom nos pontos, basta alterar a transformação básica do seu Graphics2D antes de desenhar:
@Override
public void paintComponent(Graphics g) {
//1. Crie a cópia do contexto gráfico
Graphics2D g2d = (Graphics2D) g.create();
//2. Altere a escala. Nesse caso, dobraremos:
g2d.setTransform(AffineTransform.getScaleInstance(2.0f, 2.0f));
//3. Desenhe usando o g2d
//4. Libere o contexto gráfico
g2d.dispose();
}
OK, consegui dar esse zoom nos pontos.
Outra dúvida aqui, é possível inserir um Jframe em um Jpanel???
Porque até então to imprimindo os pontos em um Jframe, mas estou criando um Jpanel e preciso imprimir nele.
Não.
Faça o seu desenho diretamente no JPanel, sobrescrevendo o método paintComponent do JPanel.