estoy desarrollando esta interfaz grafica....
cuando ejecuto los comandos dir, ipconfig, ping me muestra la salida en el cuadro de texto.
pero con el comando date se tranca el programa pq espera a que le envie una fecha para actualizar...
dejo el codigo completo para el que lo quiera ver y me pueda ayudar... gracias
Código
// Sistema de Gestión MTSO San Cristóbal // Realizado por: Wilmer Rondón import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.Color; import javax.swing.JTabbedPane; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.JButton; import java.io.*; import java.lang.ProcessBuilder; //******************************************************************************************************************************** // CLASE PRINCIPAL DEL PROGRAMA "VENTANA" { protected JButton btOK1, btQuitar1, btSalir1, btOK2, btQuitar2, btSalir2, btOK3, btQuitar3, btSalir3, btOK4, btQuitar4, btSalir4; protected int orden; //******************************************************************************************************************************** // CONSTRUCTOR DE LA CLASE VENTANA public Main() { pestanas.addTab("Troncales", icon1, panel_pestana1); pestanas.addTab("Packet Pipes", icon2, panel_pestana2); pestanas.addTab("Celdas", icon3, panel_pestana3); pestanas.addTab("Mantenimiento", icon4, panel_pestana4); add(pestanas); } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA PESTAÑA "TRONCALES" { subpestanas1.addTab("Crear", panel_subpestana11); subpestanas1.addTab("Crecer", panel_subpestana12); subpestanas1.addTab("Dedrecer", panel_subpestana13); subpestanas1.addTab("Eliminar", panel_subpestana14); subpestanas1.addTab("Inclusión en Reporte TGCOMP", panel_subpestana15); subpestanas1.addTab("Mudanza", panel_subpestana16); texto1Inicio = "Escriba aquí un comando y haga click sobre el botón \"OK\""; texto1.setText(texto1Inicio); areaTexto1.setEditable(false); areaTexto1.setBackground(B); areaTexto1.setForeground(F1); JScrollPane pScroll = new JScrollPane(areaTexto1, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); texto1.addActionListener(new ejecutar()); btOK1.addActionListener(new ejecutar()); btOK1.addActionListener(new bdTroncales()); btQuitar1.addActionListener(new limpiarPantalla()); btSalir1.addActionListener(new cerrarVentana()); p1A.add(p1B); p1A.add(p1C); p1B.add(subpestanas1);//agregar sub pestanas p1D.add(btOK1); p1D.add(btQuitar1); p1D.add(btSalir1); btOK1.setToolTipText("Ingresar Comando"); btQuitar1.setToolTipText("Limpiar la Pantalla"); btSalir1.setToolTipText("Salir de la aplicación"); return p1A; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA PESTAÑA "PACKET PIPES" { subpestanas2.addTab("Mudar", panel_subpestana21); subpestanas2.addTab("Crecer", panel_subpestana22); subpestanas2.addTab("Dedrecer", panel_subpestana23); subpestanas2.addTab("Equipar", panel_subpestana24); subpestanas2.addTab("Desequipar", panel_subpestana25); texto2Inicio = "Escriba aquí un comando y haga click sobre el botón \"OK\""; texto2.setText(texto2Inicio); areaTexto2.setEditable(false); areaTexto2.setBackground(B); areaTexto2.setForeground(F1); JScrollPane pScroll2 = new JScrollPane(areaTexto2, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); texto2.addActionListener(new ejecutar()); btOK2.addActionListener(new ejecutar()); btQuitar2.addActionListener(new limpiarPantalla()); btSalir2.addActionListener(new cerrarVentana()); p2A.add(p2B); p2A.add(p2C); p2B.add(subpestanas2);//agregar sub pestanas p2D.add(btOK2); p2D.add(btQuitar2); p2D.add(btSalir2); btOK2.setToolTipText("Ingresar Comando"); btQuitar2.setToolTipText("Limpiar la Pantalla"); btSalir2.setToolTipText("Salir de la aplicación"); return p2A; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA PESTAÑA "CELDAS" { subpestanas3.addTab("Mudanza de RCS", panel_subpestana31); subpestanas3.addTab("Crear Celda", panel_subpestana32); subpestanas3.addTab("Borrar Celda", panel_subpestana33); subpestanas3.addTab("---", panel_subpestana34); subpestanas3.addTab("---", panel_subpestana35); texto3Inicio = "Escriba aquí un comando y haga click sobre el botón \"OK\""; texto3.setText(texto3Inicio); areaTexto3.setEditable(false); areaTexto3.setBackground(B); areaTexto3.setForeground(F1); JScrollPane pScroll3 = new JScrollPane(areaTexto3, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); texto3.addActionListener(new ejecutar()); btOK3.addActionListener(new ejecutar()); btQuitar3.addActionListener(new limpiarPantalla()); btSalir3.addActionListener(new cerrarVentana()); p3A.add(p3B); p3A.add(p3C); p3B.add(subpestanas3);//agregar sub pestanas p3D.add(btOK3); p3D.add(btQuitar3); p3D.add(btSalir3); btOK3.setToolTipText("Ingresar Comando"); btQuitar3.setToolTipText("Limpiar la Pantalla"); btSalir3.setToolTipText("Salir de la aplicación"); return p3A; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA PESTAÑA "MANTENIMIENTO" { subpestanas4.addTab("CKT OOS", panel_subpestana41); subpestanas4.addTab("TST UPATH", panel_subpestana42); subpestanas4.addTab("MEM NRODD/RODD SM's", panel_subpestana43); subpestanas4.addTab("Información del Sistema", panel_subpestana44); subpestanas4.addTab("BACKUP's DE AP's", panel_subpestana45); subpestanas4.addTab("CHKLIST MTSO", panel_subpestana46); texto4Inicio = "Escriba aquí un comando y haga click sobre el botón \"OK\""; texto4.setText(texto4Inicio); areaTexto4.setEditable(false); areaTexto4.setBackground(B); areaTexto4.setForeground(F1); JScrollPane pScroll4 = new JScrollPane(areaTexto4, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); texto4.addActionListener(new ejecutar()); btOK4.addActionListener(new ejecutar()); btQuitar4.addActionListener(new limpiarPantalla()); btSalir4.addActionListener(new cerrarVentana()); p4A.add(p4B); p4A.add(p4C); p4B.add(subpestanas4);//agregar sub pestanas p4D.add(btOK4); p4D.add(btQuitar4); p4D.add(btSalir4); btOK4.setToolTipText("Ingresar Comando"); btQuitar4.setToolTipText("Limpiar la Pantalla"); btSalir4.setToolTipText("Salir de la aplicación"); return p4A; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "CREAR" DE "TRONCALES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "CRECER" DE "TRONCALES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "DECRECER" DE "TRONCALES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "ELIMINAR" DE "TRONCALES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "INCLUSION EN REPORTE TGCOMP" DE "TRONCALES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "MUDANZA" DE "TRONCALES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "MUDAR" DE "PACKET PIPES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "CRECER" DE "PACKET PIPES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "DECRECER" DE "PACKET PIPES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "EQUIPAR" DE "PACKET PIPES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "DESEQUIPAR" DE "PACKET PIPES" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "MUDANZA DE RCS" DE "CELDAS" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "CREAR" DE "CELDAS" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "BORRAR" DE "CELDAS" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "---" DE "CELDAS" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "---" DE "CELDAS" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "CKT OOS" DE "MANTENIMIENTO" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "TST UPATH" DE "MANTENIMIENTO" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "MEM NRODD/RODD SM's" DE "MANTENIMIENTO" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "INFORMACION DEL SISTEMA" DE "MANTENIMIENTO" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "BACKUP's DE AP's" DE "MANTENIMIENTO" { panel.add(filler); return panel; } //******************************************************************************************************************************** // METODO PARA CONSTRUIR LA SUBPESTAÑA "CHKLIST MTSO" DE "MANTENIMIENTO" { panel.add(filler); return panel; } //******************************************************************************************************************************** // MÉTODO DE ENTRADA AL PROGRAMA { frame.setSize(1280, 770); frame.setVisible(true); } //******************************************************************************************************************************** // CLASE PARA MOSTRAR LAS SALIDAS DE LOS COMANDOS EN PANTALLA { { //String[] texto = {"date"}; try { // Se lanza el ejecutable. // Se obtiene el stream de salida del programa // Se prepara un bufferedReader para poder leer la salida más // comodamente. // Se lee la primera linea br3.write("07-06-2007\n"); // p.waitFor(); // Mientras se haya leido alguna linea while (aux!=null) { // Se escribe la linea en pantalla areaTexto1.append(aux + newline); areaTexto1.setCaretPosition(areaTexto1.getDocument().getLength()); texto1.setText(""); // y se lee la siguiente. aux = br.readLine(); } while (aux2!=null) { areaTexto1.append(aux2 + newline); areaTexto1.setCaretPosition(areaTexto1.getDocument().getLength()); texto1.setText(""); aux2 = br2.readLine(); } } { // Excepciones si hay algún problema al arrancar el ejecutable o al // leer su salida. e.printStackTrace(); } } } //******************************************************************************************************************************** // CLASE QUE ACTIVA LA BANDERA DE ESCRITURA EN TEXT AREA { { bd1 = true; } } //******************************************************************************************************************************** // CLASE QUE VACÍA TEXTAREA { { texto1.setForeground(F3); texto1.setText(""); texto2.setText(""); } } //******************************************************************************************************************************** // CLASE QUE SALE DEL PROGRAMA { { } } //******************************************************************************************************************************** } //FIN DE LA CLASE VENTANA