Se puede reiniciar la interfaz grafica en Java?

Mi problema es el siguiente, tengo un JTextArea que debe mostrar el resultado de unos comandos ejecutados en Linux, estos comandos se reciben por un socket, el caso es que cuando ejecuto el comando, logro recibir los datos de el comando, pero la Interfaz grafica se queda sin responder, ~

            if(!entrada.getText().equals("")){                  enviar(entrada.getText());                 salida = leer();                 while(salida!=null){                     System.out.println(salida);                     salida = leer();                     System.out.println(salida);                     }                                                   }else{                 JOptionPane.showMessageDialog(null, "Ingrese un comando");                                 }                

Este es el metodo que se ejecuta cuando presiono ejecutar, y estos son los metodos leer y enviar: ~

     public String leer(){         String Msg ="";         try{             InputStream fAuxEntrada = Cliente.skCliente.getInputStream();             DataInputStream fEntrada = new DataInputStream(fAuxEntrada);             Msg = fEntrada.readUTF();             if(Msg==null){                 fEntrada.close();             }          }catch(Exception e){          }         return Msg;     }      public void enviar(String h){         String Msg = h;         try{              OutputStream fAuxSalida = Cliente.skCliente.getOutputStream();             DataOutputStream fSalida  = new DataOutputStream(fAuxSalida);             fSalida.writeUTF(Msg);             if(h==null){                 fSalida.close();             }                         }catch(Exception e){          }     } 

Sumar y restar cadenas en Java sin array

necesito sumar una cadena que el usuario insterte ej. 1+2+3-1-2 y hacer la operacion con su respuesta , me salio la suma pero no logro adjuntarle la resta , el ejercicio no deja usar array. espero que me puedan ayudar.Esto es lo que llevo:

    public String sumalineal (String cadena) {     int suma=0;     String numero="";     char signo='+';      for (int x=0; x<cadena.length(); x++) { //numero de caracteres de la cadena         if (cadena.charAt(x)== signo) {             suma=suma + Integer.parseInt(numero);             numero="";         }         else {             numero=numero+Character.toString(cadena.charAt(x));         }     }     return Integer.toString(suma+Integer.parseInt(numero)); } public String restalineal(String cadena) {     int resta=0;     String numero="";     char signo='-';     for (int x=0; x<cadena.length();x++) {         if (cadena.charAt(x)== signo) {             resta=resta-Integer.parseInt(numero);             numero=" ";          else{             if (cadena.charAt(x)==signo){                 resta = resta - Integer.parseInt(numero);                 numero=" ";             }             numero=numero+Character.toString(cadena.charAt(x));         }     }     return Integer.toString(resta+Integer.parseInt(numero)); 

} }

Usar datos de una base de datos de Access en Java

quiero hacer un programa tipo preguntas y respuestas donde de una base de datos con tres columnas (una con las preguntas, otra con las respuestas y otra con la explicación) se elija una pregunta aleatoria y se tenga que introducir la respuesta.

El problema es que soy un poco nuevo programando, tengo la conexión a la base de datos hecha con UCanAccess pero ahora no sé como se “coge” un dato de la primera columna para que lo imprima en pantalla.

¿Alguna ayuda, por favor?

Gracias.

if else if else no funciona no se por que, ayuda please JAVA

Estoy validando el peso del electrodomestico:

if (this.peso >= 0 && this.peso < 19) {          this.valor_extra += 10;      }else if (this.peso >= 20 && this.peso < 49) {          this.valor_extra += 50;      }else if (this.peso >= 50 && this.peso <= 79) {          this.valor_extra += 80;      }else if (this.peso >= 80) {          this.valor_extra += 100;     }  

lo he visto mil veces y esta bien validado, pero por alguna razon el no valida las demas opciones, simplemente le agrega 10 aunque el peso sea mayor o igual a 20

Ejercicio Rebota Pelota en JFrame – Java

Estoy haciendo un ejercicio, donde el objetivo es que una pelota rebote en un JFrame, después de hacer clic en el JButton dale El problema, es que el IDE me arroja una excepción de tipo NullPointerException(), pero no puedo encontrar cual es la variable que esta en NULL Alguien podría probarlo y ayudarme por favor? Este es el código:

public class UsoThreads {  public static void main(String[] args) {     // TODO Auto-generated method stub      Marco miMarco=new Marco();     miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     miMarco.setVisible(true);  } 

}

class Marco extends JFrame{

public Marco() {     setBounds(400,300,600,400);     setTitle("Rebota Pelota");     LaminaPelota miLamina=new LaminaPelota();     add(miLamina,BorderLayout.CENTER);     LaminaBotones milamina2=new LaminaBotones();     add(milamina2,BorderLayout.SOUTH); }    

}

class Pelota extends JPanel{

private double x=10; private double y=10; private static final int TAMX=15; private static final int TAMY=15; private double speedX=1; private double speedY=1;  public void mover(Rectangle2D limite) {     x+=speedX;     y+=speedY;      if(x<limite.getMinX()) {         x=limite.getMinX();         speedX=-speedX;     }      if(x+TAMX>limite.getMaxX()) {         x=limite.getMaxX()-TAMX;         speedX=-speedX;     }      if(y<limite.getMinY()) {         y=limite.getMinY();         speedY=-speedY;     }      if(y+TAMY>limite.getMaxY()) {         y=limite.getMaxY()-TAMY;         speedY=-speedY;     }  }  public Ellipse2D dibujarPelota() {     return new Ellipse2D.Double(x,y,TAMX,TAMY); } 

}

class LaminaPelota extends JPanel{

private ArrayList<Pelota>arrayPelota=new ArrayList<Pelota>();  public void agregarPelota(Pelota b) {     arrayPelota.add(b); }  public void paintComponent(Graphics g){  super.paintComponent(g); Graphics2D g2=(Graphics2D) g;   for(Pelota e:arrayPelota) {     g2.fill(e.dibujarPelota()); }   } 

}

class LaminaBotones extends JPanel{

public LaminaBotones() {     JButton dale=new JButton("Dale");     JButton salir=new JButton("Salir");     dale.addActionListener(new ActionListener() {          @Override         public void actionPerformed(ActionEvent e) {             // TODO Auto-generated method stub              comienza();         }      });      salir.addActionListener(new ActionListener() {          @Override         public void actionPerformed(ActionEvent e) {             // TODO Auto-generated method stub             System.exit(0);         }       });     add(dale);     add(salir); }  public void comienza() {     Pelota pelota=new Pelota();     lamina.agregarPelota(pelota);     for(int i=1;i<=3000;i++) {         pelota.mover(lamina.getBounds());         lamina.paint(lamina.getGraphics());      } }  private LaminaPelota lamina; 

}

Guardar un arreglo de objetos en Java (Android Studio)

estoy empezando a programar para Android, y estoy haciendo un test con una app para guardar valores de glucosa y fecha/hora junto a comentarios y detalles del alimento.

Intento que queden guardados en Parse.com, eso ya está hecho, y cuando los descargo los pongo dentro de un arreglo de objetos:

public class MyData {  Integer gluc; Integer insulinaV; Date fec; Integer alimento; String comentarios;  public MyData(Integer gluc, Integer insulinaV, Date fec, Integer alimento, String comentarios) {     this.gluc = gluc;     this.insulinaV = insulinaV;     this.fec = fec;     this.alimento = alimento;     this.comentarios = comentarios; }  public Integer getGluc() {     return gluc; }  public Integer getInsulinaV() {     return insulinaV; }  public Date getFec() {     return fec; }  public Integer getAlimento() {     return alimento; }  public String getComentarios() {     return comentarios; } 

}

Genero mi arreglo así:

for (ParseObject object : objects) {                      dataArray = new MyData[objects.size()];                      dataArray[i] = new MyData(object.getInt("glucosa"), object.getInt("insulina"), object.getDate("fecha"), object.getInt("Alimentos"), object.getString("Comentarios"));                      alimentosVal = dataArray[i].getAlimento();                     comentariosVal = dataArray[i].getComentarios();                     glucVal = dataArray[i].getGluc();                     insulinaVal = dataArray[i].getInsulinaV();                     fecVal = dataArray[i].getFec();                      i++;                    } 

Y lo intento guardar en MySQL así:

SQLiteDatabase myGlucosebase = this.openOrCreateDatabase("GlucoseEvents", MODE_PRIVATE, null);     myGlucosebase.execSQL("CREATE TABLE IF NOT EXISTS glucoseevents (");     myGlucosebase.execSQL("INSERT INTO glucoseevents (alimentos, comentarios, gluc, insulinv, fec) VALUES (alimentosVal, comentariosVal, glucVal, insulinaVal, fecVal) "); 

Pero incluso si meto los valores a mano:

Glucosebase.execSQL("INSERT INTO glucoseevents (alimentos, comentarios, gluc, insulinv, fec) VALUES (1, "ninguno", 80, 0, 17/07/2019) "); 

Siempre me marca el siguiente error:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.parse.starter/com.parse.starter.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method ‘android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$ CursorFactory)’ on a null object reference

Entiendo que me está considerando como si sólo hubiera un string e int en las columnas de la base de datos, cierto?, que estoy haciendo mal?

Muchas gracias

Java Authentication with Office 365 Sharepoint

I have an application that I tested out with a self-created SharepointServer based on an Active Directory environment. For this I used the following code to authenticate with the Sharepoint server(which worked)

    public void authenticate() {     Authenticator.setDefault (new Authenticator() {         @Override             protected PasswordAuthentication getPasswordAuthentication() {                 logger.info("Authenticated with user: " + user + " and password: " + password);                 return new PasswordAuthentication (user, password.toCharArray());             }     }); } 

Now however, they have given me access to an Office 365 environment with a Sharepoint site containing multiple files that have to be read through the API. They have given me a login and a password through which I can log on to the site and check to contents but I am not able to connect to this API (403 error). I have tried the

X-Forms_Based_Auth_Required=f  

as a header but also without success. Is there a way I can get my java program authenticated with this online sevice?

Pasar datos desde Java a JavaScript con Thymeleaf

Sería posible pasar información a la interfaz,desde una clase java sin utilizar JSP? Como un método push pero en la otra dirección. Todo esto con Thymeleaf. En un principio he pensado en pasar esta información como parámetros en la URL y recuperarlos, pero con el arquetipo usado esta opción queda descartada.

La a aplicación añade registros a una tabla SQLServer y la idea era poder mandar estos registros como cadena a la interfaz HTML, pudiendo sacarlos en una ventana, a modo de consola.