Java SWT muestra los números de línea para StyledText

La clave es org.eclipse.swt.custom.Bullet . Básicamente es un símbolo (o en nuestro caso un número) que puede agregar al comienzo de una línea.

//text is your StyledText
text.addLineStyleListener(new LineStyleListener()
{
    public void lineGetStyle(LineStyleEvent e)
    {
        //Set the line number
        e.bulletIndex = text.getLineAtOffset(e.lineOffset);

        //Set the style, 12 pixles wide for each digit
        StyleRange style = new StyleRange();
        style.metrics = new GlyphMetrics(0, 0, Integer.toString(text.getLineCount()+1).length()*12);

        //Create and set the bullet
        e.bullet = new Bullet(ST.BULLET_NUMBER,style);
    }
});
Respuesta 1

Esta es una forma de usar viñetas que actualiza los números cuando cambia el contenido:

text.addModifyListener(new ModifyListener() {
    public void modifyText(ModifyEvent event) {
        int maxLine = text.getLineCount();
        int lineCountWidth = Math.max(String.valueOf(maxLine).length(), 3);

        StyleRange style = new StyleRange();
        style.metrics = new GlyphMetrics(0, 0, lineCountWidth * 8 + 5);
        Bullet bullet = new Bullet(ST.BULLET_NUMBER, style);
        text.setLineBullet(0, text.getLineCount(), null);
        text.setLineBullet(0, text.getLineCount(), bullet);
    }
});
Respuesta: 2

Actualmente estoy escribiendo un código para hacer un Knight's Tour. Estoy tratando de pasar una matriz doble (la placa) a un método y recibo un error que se espera. No sé cómo se supone que debo declarar ...

Estoy tratando de usar Java 8 para devolverme una lista de valores clave (enteros) en la que se marca el valor (casilla de verificación). El mapa que estoy tratando de procesar es de la siguiente forma. Mapa <Integer, CheckBox> ...

En mi aplicación tengo diferentes capas, como la capa de descanso, la capa de servicio y la capa de base de datos, de acuerdo con los escenarios comerciales, estoy sacando diferentes excepciones comerciales de la capa de servicio. Pero ahora, ...

Dado que básicamente quiero eliminar el uso de excepciones comprobadas y transformarlas en excepciones de tiempo de ejecución, normalmente estaría haciendo algo como esto: try {file.read (); } catch (IOException e) ...