martes, 26 de julio de 2022

De texto a Voz

Necesitaba algo que me leyera las páginas web y encontré “Lector de Selección”
que pasa el texto a voz solo vamos a extensiones y en la tienda de extensiones  
ponemos en el cuadro de búsqueda “de texto a voz” y nos dará varias opciones
pero la que funciona bien es “Lector de selección”.

Cuando la instalas solo hay que configurar el idioma pero eso es sencillo, lo probé en varios navegadores pero solo funciona en Google Chrome, hay
para otros navegadores pero no son buenos.

 

extension Lector de Selección

 

jueves, 23 de diciembre de 2021

Cambiar fondo de la celda con el foco en JTable

 

Cómo al seleccionar una fila en una jtable quería que la celda que tuviera el 

foco fuera de un color diferente para que la persona supiera en dónde estaba. 

Entonces la mejor forma es por medio DefaultTableCellRenderer.

Debemos crear una clase que herede de DefaultTableCellRenderer como sigue:

 

en este caso le puse una letra c es solo para poder reusarla en otra jtable

pero se puede quitar. 

 

/*
* Clase para poner la celda que se esta editando en color blanco u otro
*/
package vista;

import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
*
* @author miusuario
*/
public class ColorCeldaEditando extends DefaultTableCellRenderer {
char quePanelEditar;
Color colorDeCeldaAEditar;
public ColorCeldaEditando(char panelEditando){
//ponemos el panel editando para que ponga el color
if('c' == panelEditando){
colorDeCeldaAEditar = new Color(176,196,222);
}else{
colorDeCeldaAEditar = new Color(176,196,222);
}
}
@Override
public Component getTableCellRendererComponent(JTable table,

Object value, boolean Selected, boolean hasFocus, int row, int col){
 

        super.getTableCellRendererComponent(table, value, Selected, 

hasFocus, row, col);
 

        if(hasFocus){
setBackground(colorDeCeldaAEditar);
}
return this;
}
} 

 

Luego para la llamada seria:

 

TablaClientes.setSelectionBackground(new Color(65,105,225));

//aqui creamos la clase que hereda de DefaultTableCellRenderer

ColorCeldaEditando ColoreaEnFoco;

//le mando una c solo para decir que es la tabla de clientes y escoger alumnos etc.
ColoreaEnFoco = new ColorCeldaEditando('c');

/*ahora colocamos la clase en la TablaClientes mandandole un Object.class y la

 recien creada clase que le cambiará el color si tiene el foco */
TablaClientes.setDefaultRenderer(Object.class,ColoreaEnFoco); 

 

¡y con eso queda lista!. 

martes, 21 de diciembre de 2021

Base de datos resta un día

 

Estoy trabajando con Java 11 e hibernate 5.4.7.Final pero cuando recuperaba 

los datos de la base me restaba un día y no sabía que pasaba.

Investigue y el error era por la configuración del país, revise la configuración 

del gestor mariaDB pero estaba correcto y no funcionó, y a hibernate no se le 

pudo cambiar, así que tuve que abrir la base de datos sin hibernate 

poniéndole la zona horaria del país directamente y allí funcionó 

lo hice cómo está continuación:

 

public Connection conexionSinHibernate() {


final String url = "jdbc:mysql://localhost:3306/nombreDeLaBase"+
"?useUnicode=true&useJDBCCompliantTimezoneShift=true"+
"&useLegacyDatetimeCode=false&serverTimezone=America/Guatemala";


final String driver = "com.mysql.jdbc.Driver";


final String usuario = "usuarioDeBaseDeDatos";


final String clave = "miclave";


Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, usuario, clave);
System.out.println("Conexion Exitosa");
} catch (ClassNotFoundException ex) {
System.out.println("Error al abrir la conexion");
} catch (SQLException ex) {
System.out.println("Conexion fallida por SQL");
}
return conn;
} 

jueves, 11 de noviembre de 2021

Arrancar Fedora 35 desde grub2

 Si necesitamos arrancar la imagen iso de fedora 35 en este caro fedora mate pero puede ser con otro escritorio, directamente desde el cargador de arranque Grub2 para no usar memoria USB o DVD se hace de la siguiente manera:

en la consola cargamos el archivos de configuración de grub2 como administrador

nano /etc/grub.d/40_custom

nos aparecerá como lo siguiente y le agregamos desde la fila donde dice

menuentry

#!/usr/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Fedora 35 Mate Compiz" {
#no dejar ningun espacio en blanco en esta linea
set isoFileFedora35="/homar/Fedora-MATE_Compiz-Live-x86_64-35-1.2.iso"

loopback loop (hd1,5)$isoFileFedora35

linux (loop)/isolinux/vmlinuz iso-scan/filename=$isoFileFedora35 initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet


initrd (loop)/isolinux/initrd.img

}

menuentry lo que está entre comillas es el título que deseamos ponerle.

con set ponemos en la variable isoFileFedora35 que creamos nosotros la ruta y el archivo iso no debemos dejar ningún espacio en blanco.

(hd1,5) ponemos el disco duro en mi caso es el segundo disco duro hd1 si fuera el primero es hd0 y el 5 es el número de la partición podemos averiguarla con el comando

lsblk

me a funcionado ese directorio siendo el primero en la raíz


/isolinux/vmlinuz es el directorio dentro de la imagen iso donde esta el kernel vmlinuz


initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet para poner esto debemos entrar en el directorio que esta dentro de la imagen iso

/isolinux/

allí habrá un archivo llamado isolinux.cfg


donde nos aparecerá un párrafo como el siguiente:

label linux

  menu label ^Start Fedora-Mate-Live 35

  kernel vmlinuz

  append initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet


copiamos lo que esta después del append que lo puse en negrilla y lo pegamos después de lo siguiente:

iso-scan/filename=$isoFileFedora35

quedando como aparece en el archivo que seria así:

linux (loop)/isolinux/vmlinuz iso-scan/filename=$isoFileFedora35 

initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet


recordemos actualizar el grub2 y ya nos aparecerá en el menú de arranque de grub2 y ¡listo!


viernes, 15 de octubre de 2021

Contar palabras en archivos de texto en Gnu/Linux

 Quería contar palabras en un archivo de texto desde la consola gracias a la ayuda del grupo de linux lo cual se puede hacer abriendo la terminal y usando el comando siguiente:

grep -i <palabra> <nombre de archivo>  | wc -l


ejemplo:

grep -i domingo itinerario2005.txt | wc -l

 

contara todas las palabras "domingo" que halla en el archivo de texto intinerario2005.txt.

si quisiéramos una frase podemos usar comillas algo como lo siguiente:

 grep -i  "cuando termino" vitacora2005.bak | wc -l

allí contará cuantas veces aparece la frase "cuando termino"

 

-i                                  ignora mayúsculas y minúsculas

domingo                     palabra a contar

itinerario2005.txt      nombre del archivo

 

 

miércoles, 25 de agosto de 2021

Como desarrollar en C++ en SolusOS

Una de las cosas que me costo mucho fue poder desarrollar en lenguaje C++ en SolusOS se puede instalar code::blocks pero no hace nada, siempre hay que instalar Code::Blocks IDE e instalar también codeblocks-devel

Luego en consola debemos instalar un paquete mas de la siguiente manera, como administrador.

sudo eopkg install -c system.devel

donde se encuentran herramientas para desarrollar si queremos ver la información del paquete podemos hacer:

eopkg info -c  system.devel

En el caso de Code::Blocks no se podrá salir la terminal porque la que usa code blocks es Xterm que no esta en los repositorios de SolusOS así que debemos pasarnos a la terminal y correrlo desde allí para ver el resultado.

jueves, 1 de julio de 2021

NetBeans ya no corría

 Cuando quise abrir NetBeans resulta que ya no funcionaba, me puse a ver cual era el error la corrí desde consola.

correr netbeans desde consola error de java

Al ver nos damos cuenta que ya no encuentra java, entonces me recordé que había habido una actualización.

buscamos el archivo en netbeans-12.3/netbeans/etc/netbeans.conf en el directorio de netbeans de la versión que tengamos.

netbeans.conf jdkhome

En la linea:

netbeans_jdkhome=

debemos poner la nueva versión de java seguimos la ruta para saber cual es, la cual esta en la barra de la dirección y podemos ver la versión, recordar poner la que dice java no debemos confundirnos con la jre.

/usr/lib/jvm/

ruta de java en mageia linux


copiamos el nombre exacto de la versión de java quedando ahora como sigue y listo:

ruta de java en jdkhome