Estoy creando una nota adhesiva de aplicaciones utilizando Java.

Lo que quiero hacer:
Quiero aumentar el tamaño de los textos dentro de textArea cada vez que hago clic en el aumento de tamaño.
Yo sé cómo hacer lo contrario obviamente.

Código Corto:

        JButton incButton = new JButton("+");
        fontFrame.add(incButton);
        incButton.addActionListener(new fontIncAction());
        JButton DecButton = new JButton("-");
        fontFrame.add(DecButton);

        //textArea.setFont( Font("Serif", Font.PLAIN, fz));
    }
}

private class fontIncAction implements ActionListener{
    public void actionPerformed(ActionEvent e){

        textArea.setFont(new Font("Serif",Font.PLAIN,20));
    }
}
  • Esto sólo es una suposición, pero, trate de: textArea.setText(textArea.getText()) después de cambiar la fuente. Todo lo que debe hacer es restablecer el texto. Mi corazonada es que al cambiar la fuente sólo se aplica al texto nuevo en la caja. Si esto no funciona, no te puedo ayudar. Sólo pensé que una conjetura era mejor que el silencio 🙂 Buena suerte!
  • 1) Utilizar el tamaño actual de la Fuente como base para el nuevo tamaño. 2) Para una mejor ayuda antes, publicar un SSCCE. 3) ¿Qué problema exacto estás experimentando en la consecución del objetivo?
  • la fuente se aplica a todo el texto. Usted no tiene que sustituir el texto.
  • Señaló, gracias.
InformationsquelleAutor Sobiaholic | 2011-12-30

1 Comentario

  1. 11

    Para hacer el código más general que usted puede hacer algo como lo siguiente en su ActionListener:

    Font font = textArea.getFont();
    float size = font.getSize() + 1.0f;
    textArea.setFont( font.deriveFont(size) );
    • wow! nunca vi algo como esto! ¿qué es exactamente el f en 1.0f también lo es deriveFont? así getSize() devuelve el tamaño de la fuente.
    • Véase también §3.10.2 Punto Flotante Literales.

Dejar respuesta

Please enter your comment!
Please enter your name here