Olá pessoal, tudo bem?
Estou montando um pequeno editor de texto com um JFrame, e nele utilizo dois JButtons para fazer com que ele aumente e diminua o tamanho da fonte em uma JtextArea, fica mais ou menos da seguinte forma:
public void actionPerformed (ActionEvent e) {
caixa.setFont(new Font("Serif",fonte.getStyle(),fonte.getSize()+1));
}
eu testei e de fato ele aumenta o tamanho da fonte quando eu clico, porém ele só faz isso uma vez, poderiam me ajudar a achar uma forma de toda vez que eu clicar ele refaz essa tarefa? já tentei com um While mas o Jframe trava quando eu clico no botão ;-;
agradeço desde já.
É dificil saber sem ver o restante do código, mas meu palpite é que não está aumentando, pois vc sempre soma +1 ao tamanho de fonte, que é fixo.
Você teria que somar +1 com base no tamanho atual da fonte da caixa. Assim:
public void actionPerformed (ActionEvent e) {
caixa.setFont(new Font("Serif", caixa.getFont().getStyle(), caixa.getFont().getSize() + 1));
}
É que você está usando como base a sua variável fonte
, que sempre tem o mesmo tamanho.
Faça assim:
Font fonteAtual = caixa.getFont();
caixa.setFont(new Font(fonteAtual.getFontName(), fonteAtual.getStyle(), fonteAtual.getSize() + 1));
amigos, obrigado pelas dicas, consegui aqui