Bom dia galera, tudo bem? Estou conseguindo gerar uma matriz de Graphics e usando o drawRect para desenhar o retângulo, e ai quando eu crio uma matriz muito grande, os retângulos passam da tela(como já era o esperado), só que ai eu fui tentar usar o JScrollPane só que não adiantou, a barra de rolagem não aparece quando eu desenho, apenas se eu escrevo algo. Obs: Ja tentei usar JPanel ao invés do JTextArea
Não é o problema principal mas, o que eu posso por no setSize() para ficar em tela cheia? Pois ficar colocando números grandes não é o certo...
O que eu posso fazer?
Abaixo segue o codigo
Não é o poblema principal mas, o que eu posso por no setSize() para ficar em tela cheia? Pois ficar colocando numeros grandes não é o certo...
public class Aplicacao extends JFrame
{
public static void main(String[] args)
{
new Aplicacao();
}
public Aplicacao()
{
Matriz matriz = new Matriz(180, 120);
JTextArea area = new JTextArea();
area.add(matriz);
JScrollPane scroll = new JScrollPane(area);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(640, 480);
setVisible(true);
add(scroll);
}
}
public class Matriz extends JComponent
{
int linha, coluna;
Graphics2D[][] g2;
Matriz(int linha, int coluna)
{
setSize(5000, 5000);
this.linha = linha;
this.coluna = coluna;
}
@Override
protected void paintComponent(Graphics g)
{
super.paintComponents(g);
g2 = new Graphics2D[linha][coluna];
int largura = 15, altura= 30;
for(int i = 0; i < linha; i++)
{
for(int j = 0; j < coluna; j++)
{
g2[i][j] = (Graphics2D)g;
g2[i][j].drawRect(j+(j*(largura+1)+8), i+(i*(altura+1)+20), largura, altura);
}
}
}
}

me ajudou muito