@Override public void paint(Graphics g) {
        g.setColor(Color.BLACK);
        g.fillRect(0, 0, (w+2)*size, h+2);
        
        if (disabled) return;

        for (int i = 0, v = Math.abs(value); i < size; i++, v /= 10) {
            byte shape = (i == size-1 && value < 0) ? 8 : nums[v%10];
            drawBox(shape, 0);
            drawBox((byte)(shape>>3), (w-1)*w);
            for (int x = 3; x < 8; x++) {
                for (int y = 3; y < 9; y++) buf[y*w+x] = 0;
                for (int y = 12; y < 18; y++) buf[y*w+x] = 0;
            }
            g.drawImage(im, (w+2)*(size-i-1)+1, 1, null);
        }
    }