¿Como sabes si la ruta ingresada es correcta?
Un ejemplo de esto seria: cuando un usuario escribe una ruta de acceso a un archivo, y una interrogante para el programador es como se que la ruta es la correcta.
Pues bien, para esto en java podemos hacer uso de las librerías llamada (mas bien las importaremos)
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.File;
estas nos proveerán de funciones de uso común, ahora nos importan Paths.get() esta convierte un string (o lo que capturemos) en un path o ficho de otra forma en una ruta. Donde Ruta es una JTextField
Path RutaInterna = Paths.get(Ruta.getText());
File creara el fichero en su argumento colocaremos el nombre dado a nuestro Path, en este caso RutaInterna
describiré las funciones mas útiles para nuestro tarea.
-getRoot para obtener la raíz (solo la letra de la unidad)
-getParent obtiene la ruta(omite el ultimo directorio, pues lo toma como el nombre del archivo)
-getFileName Nombre del archivo
existen muchas mas. busquen path en java, o consulte esta pagina:
http://docs.oracle.com/javase/7/docs/api/java/nio/file/Paths.html
File fichero= new File(RutaInterna.
getParent().toString());
Bueno este seria el código completo pues solo haría falta un if y utilizar el fichero.exisit.
Path RutaInterna = Paths.get(Ruta.getText());//Convierto mi string en un path absoluto (en ruta)
File fichero= new File(RutaInterna.getRoot().toString());//Lo mantego como archivo
if (fichero.exists()==true){//Averiguo si existe
Estado.setText("Estado: La ruta existe");
}else{
Estado.setText("Estado: La ruta no se puede encontrar");
}
Por el momento a un no subiré el código pero en cuanto lo complete, podrán descargarlo.
Mostrando entradas con la etiqueta Netbeans. Mostrar todas las entradas
Mostrando entradas con la etiqueta Netbeans. Mostrar todas las entradas
sábado, 7 de julio de 2012
jueves, 5 de julio de 2012
Formulario Modal y OptionPane
Formulario Modal
¿Que es un formulario Modal?
Es cuando una ventana retiene el foco sobre si misma impide que se trabaje sobre las demás ventanas, hasta que se elija alguna de las opciones disponibles dentro de ella.
Ejemplo: Cuando un procesador de texto pregunta si deseamos Guardar, hasta que elijamos "Guardar", "No Guardar" o "Cancelar" podremos manipular las otras ventanas.
¿Como podemos hacerlo en Java?
Pues existen varias formas (cada persona puede generar distintas formas de hacerlo) pero ahora explicare una de ella.
En java existe
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
ó
this.setDefaultCloseOperation(javax.swing.WindowConstants. EXIT_ON_CLOSE );
para el caso hacen la misma acción (a un que la ultima importa la librería y la primera ya ha sido hecha), automatiza la acción de cerrar, pues la quita de memoria, es decir la cierra, si no la colocáramos esto haría que el formulario solo se ocultaría, dejaría de ser visible pero a un en ejecución.
Pero lo que necesitamos es que el botón cerrar desencadene una acción por lo cual debemos programar la acción cerra y dejarla de la siguiente forma
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
el cual no hará nada, no cerrara el formulario, por lo cual debemos usar un
this.addWindowListener(new WindowListener() )
el cual dará un error si utilizamos un editor(Netbeans) por lo cual solo veremos lo que indica el error y no sugerirá colocar los métodos abstractos, y aceptaremos la propuesta esto nos generar el código faltante, esta únicamente modificaremos windowsClosing(Windows Event e) y colocaremos un JOptionPane.showConfirmDialog para preguntar, o si lo deseamos podemos personalizar a un más utilizando un JOptionPane.showOptionDialog.
@Override
public void windowClosing(WindowEvent e) {
int Confirmar= JOptionPane.showConfirmDialog(JL,"¿Realmente deseas cerrar?","Cerrar",JOptionPane.YES_NO_OPTION);
if (JOptionPane.OK_OPTION==Confirmar){
cerrar();
}
}
_______________________________________________
¿Como creas mensajes de texto en java?
Para esta tarea utilizamos JOptionPane esta tiene muchas variantes, las cuales veremos a continuación (ver código). con esto podemos enviar mensajes de confirmación, incluso pedir información con JOptionPane.showInputDialog o personalizar con JOptionPane.showOptionDialog, su aplicación es meramente sintáctica, por lo que la forma mas fácil de aprender a utilizarlas es la practica,
_______________________________________________
public void cerrar(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
Para tener una idea mas general presentare JOptionPane, para poder practicar y ver varias opciones que ofrece esta librería. Lo puedes visualizar descargando el código
__________________________________________________________________________
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.*;
/**
*
* @author Marco
*/
public class FormularioDeseaCerrar extends JFrame implements ActionListener{
JButton JB1, JB2, JB3, JB4;
JLabel JL;
public void cerrar(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
FormularioDeseaCerrar(){
super("¿Desea cerrar?");
JPanel Jp= new JPanel();
this.add(Jp);
JB1=new JButton("Mensaje");
Jp.add(JB1);
JB2=new JButton("Mensaje de entrada");
Jp.add(JB2);
JB3=new JButton("Mensaje de combo");
Jp.add(JB3);
JB4=new JButton("Confirmación");
Jp.add(JB4);
JL= new JLabel("Etiqueta ");
Jp.add(JL);
Jp.setLayout(new FlowLayout());
JB1.addActionListener(this);
JB2.addActionListener(this);
JB3.addActionListener(this);
JB4.addActionListener(this);
this.setVisible(true);
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);//El boton cerra no hara nada(no cierra)
this.setLocationRelativeTo(null);//Centra el formulario en la pantalla
//Lo siguiente sera para modificar el comportamiento para cerrar el formulario y lanzar nuestra ventana de forma modal
this .addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowClosing(WindowEvent e) {
int Confirmar= JOptionPane.showConfirmDialog(JL,"¿Realmente deseas cerrar?","Cerrar",JOptionPane.YES_NO_OPTION);
if (JOptionPane.OK_OPTION==Confirmar){
cerrar();
}
}
@Override
public void windowClosed(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowIconified(WindowEvent e) {
// throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowDeiconified(WindowEvent e) {
// throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowActivated(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowDeactivated(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
});
this.pack();
}
public static void main(String[] args) {
new FormularioDeseaCerrar();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==JB1){
int seleccion = JOptionPane.showOptionDialog(this,"Selecciona una opción","Selecciona",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,new Object[]{"Aceptar","No","Cancelar"},"Aceptar");
this .setTitle(null);
switch (seleccion){
case 0:
JL.setText("Selecciono Aceptar");
break;
case 1:
JL.setText("Seleccion No");
break;
case 2:
JL.setText("Selecciono Cancelar");
break;
}
}
if (e.getSource().equals(JB2)){
String Texto = JOptionPane.showInputDialog(this,"Por favor ingrese sus datos",JOptionPane.QUESTION_MESSAGE);
JL.setText(Texto);
}
if (e.getSource().equals(JB3)){
Object Texto1 = JOptionPane.showInputDialog( this ,"Seleccione una opcion", "Selección",JOptionPane.QUESTION_MESSAGE,null,new Object[]{"Opcion 1","Opcion 2","Opcion 3"},"Opcion 1");
JL.setText(Texto1+"");
}
if (e.getSource().equals(JB4)){
int confirmado = JOptionPane.showConfirmDialog( this ,"¿Lo confirmas?");
if (JOptionPane.OK_OPTION == confirmado)
JL.setText("Confirmado");
else
JL.setText("No borrare nada");
}
}
}
__________________________________________________________________________
La aplicación ya en ejecución.
¿Que es un formulario Modal?
Es cuando una ventana retiene el foco sobre si misma impide que se trabaje sobre las demás ventanas, hasta que se elija alguna de las opciones disponibles dentro de ella.
Ejemplo: Cuando un procesador de texto pregunta si deseamos Guardar, hasta que elijamos "Guardar", "No Guardar" o "Cancelar" podremos manipular las otras ventanas.
¿Como podemos hacerlo en Java?
Pues existen varias formas (cada persona puede generar distintas formas de hacerlo) pero ahora explicare una de ella.
En java existe
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
ó
this.setDefaultCloseOperation(javax.swing.WindowConstants. EXIT_ON_CLOSE );
para el caso hacen la misma acción (a un que la ultima importa la librería y la primera ya ha sido hecha), automatiza la acción de cerrar, pues la quita de memoria, es decir la cierra, si no la colocáramos esto haría que el formulario solo se ocultaría, dejaría de ser visible pero a un en ejecución.
Pero lo que necesitamos es que el botón cerrar desencadene una acción por lo cual debemos programar la acción cerra y dejarla de la siguiente forma
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
el cual no hará nada, no cerrara el formulario, por lo cual debemos usar un
this.addWindowListener(new WindowListener() )
el cual dará un error si utilizamos un editor(Netbeans) por lo cual solo veremos lo que indica el error y no sugerirá colocar los métodos abstractos, y aceptaremos la propuesta esto nos generar el código faltante, esta únicamente modificaremos windowsClosing(Windows Event e) y colocaremos un JOptionPane.showConfirmDialog para preguntar, o si lo deseamos podemos personalizar a un más utilizando un JOptionPane.showOptionDialog.
@Override
public void windowClosing(WindowEvent e) {
int Confirmar= JOptionPane.showConfirmDialog(JL,"¿Realmente deseas cerrar?","Cerrar",JOptionPane.YES_NO_OPTION);
if (JOptionPane.OK_OPTION==Confirmar){
cerrar();
}
}
_______________________________________________
¿Como creas mensajes de texto en java?
Para esta tarea utilizamos JOptionPane esta tiene muchas variantes, las cuales veremos a continuación (ver código). con esto podemos enviar mensajes de confirmación, incluso pedir información con JOptionPane.showInputDialog o personalizar con JOptionPane.showOptionDialog, su aplicación es meramente sintáctica, por lo que la forma mas fácil de aprender a utilizarlas es la practica,
_______________________________________________
public void cerrar(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
Para tener una idea mas general presentare JOptionPane, para poder practicar y ver varias opciones que ofrece esta librería. Lo puedes visualizar descargando el código
__________________________________________________________________________
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.*;
/**
*
* @author Marco
*/
public class FormularioDeseaCerrar extends JFrame implements ActionListener{
JButton JB1, JB2, JB3, JB4;
JLabel JL;
public void cerrar(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
FormularioDeseaCerrar(){
super("¿Desea cerrar?");
JPanel Jp= new JPanel();
this.add(Jp);
JB1=new JButton("Mensaje");
Jp.add(JB1);
JB2=new JButton("Mensaje de entrada");
Jp.add(JB2);
JB3=new JButton("Mensaje de combo");
Jp.add(JB3);
JB4=new JButton("Confirmación");
Jp.add(JB4);
JL= new JLabel("Etiqueta ");
Jp.add(JL);
Jp.setLayout(new FlowLayout());
JB1.addActionListener(this);
JB2.addActionListener(this);
JB3.addActionListener(this);
JB4.addActionListener(this);
this.setVisible(true);
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);//El boton cerra no hara nada(no cierra)
this.setLocationRelativeTo(null);//Centra el formulario en la pantalla
//Lo siguiente sera para modificar el comportamiento para cerrar el formulario y lanzar nuestra ventana de forma modal
this .addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowClosing(WindowEvent e) {
int Confirmar= JOptionPane.showConfirmDialog(JL,"¿Realmente deseas cerrar?","Cerrar",JOptionPane.YES_NO_OPTION);
if (JOptionPane.OK_OPTION==Confirmar){
cerrar();
}
}
@Override
public void windowClosed(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowIconified(WindowEvent e) {
// throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowDeiconified(WindowEvent e) {
// throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowActivated(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void windowDeactivated(WindowEvent e) {
//throw new UnsupportedOperationException("Not supported yet.");
}
});
this.pack();
}
public static void main(String[] args) {
new FormularioDeseaCerrar();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==JB1){
int seleccion = JOptionPane.showOptionDialog(this,"Selecciona una opción","Selecciona",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,new Object[]{"Aceptar","No","Cancelar"},"Aceptar");
this .setTitle(null);
switch (seleccion){
case 0:
JL.setText("Selecciono Aceptar");
break;
case 1:
JL.setText("Seleccion No");
break;
case 2:
JL.setText("Selecciono Cancelar");
break;
}
}
if (e.getSource().equals(JB2)){
String Texto = JOptionPane.showInputDialog(this,"Por favor ingrese sus datos",JOptionPane.QUESTION_MESSAGE);
JL.setText(Texto);
}
if (e.getSource().equals(JB3)){
Object Texto1 = JOptionPane.showInputDialog( this ,"Seleccione una opcion", "Selección",JOptionPane.QUESTION_MESSAGE,null,new Object[]{"Opcion 1","Opcion 2","Opcion 3"},"Opcion 1");
JL.setText(Texto1+"");
}
if (e.getSource().equals(JB4)){
int confirmado = JOptionPane.showConfirmDialog( this ,"¿Lo confirmas?");
if (JOptionPane.OK_OPTION == confirmado)
JL.setText("Confirmado");
else
JL.setText("No borrare nada");
}
}
}
__________________________________________________________________________
La aplicación ya en ejecución.
jueves, 17 de mayo de 2012
Hagamos un formulario en java
Notas sobre java
- Necesitaremos jdk
- Un Wizard (asistente) este puede ser Netbeans, esto puede ser opcional. Pero la verdad facilita mucho el programar, lo hace menos tedioso.
Lo pueden descarga todo de la pagina de Oracle
Bueno es hora de crear nuestro primer formulario:
Primer Proyecto en Netbeans
Lo primero que debemos hacer es crear nuestro primer proyecto en Netbeans.
![]() |
| En categorías es coges java y proyectos (lado derecho) Java Application, clic en siguiente |
![]() |
| Le agregas un Nombre a tu proyecto, en mi caso FormularioBasico, clic en Terminar |
import javax.swing.JFrame; //Importamos la librería
/**
* @author MaXr
*/
public class FormularioBasico extends JFrame{ //Extendemos a JFrame
/**para heredar metods y atributos del JFrame
* para eso usamos "extends"
*Crearemos nuestro metodo con el mismo nombre que la clase "FormularioBasico"
*/
public FormularioBasico(){
/* Utilizaremos el constructor super(Nombre de mi formulario)
* this se utiliza para hacer referencia al formulario
*/
super("Mi Formulario");
this.setSize(500, 500); //SetSize(Ancho, largo) sirve para darle el tamaño al formulario
//Tambien puedes usar "this.pack;" funciona cuando ya tienes controles, automaticamente
//se redimensiona el JFrame
this.setVisible(true);//SetVisible(boolean)-- es para que se vea o este oculto el formulario
//Si no se coloca como true no se mostrara en pantalla y netbeans automaticamente la finaliza
this.setDefaultCloseOperation(EXIT_ON_CLOSE); //Esto servira para poder cerra tu aplicación
//si no lo colocas utilizara por default dispose que solo lo quita de la pantalla, pero sigue
//en ejecución
this.setLocationRelativeTo(null);//Centramos el formulario, pues por default
//aparece de lado superior izquierdo
}
public static void main(String[] args) {
// En esta parte es donde se ejecutara es el método principal
new FormularioBasico(); //llamo a mi metodo, new es un constructor crea a mi metodo
//Noten que este metodo es estático
}
}
__________________________________________________________________________
Lo puedes descargar de aqui (Archivo, Descargar, para que baje completo)... Ojala les sirva.. mas adelante publicare otra forma para crear el fomulario.. difiere un poco del actual.. He iremos aprendiendo a colocar controles y a utilizar los layout..
Por favor deja tu comentario así creceremos en conocimiento y podre corregir mis errores.
Hasta la próxima..
Etiquetas:
Formulario,
Java,
Netbeans,
SetDefaultCloseOperation,
SetLocationRelativeTo,
setSize,
SetVisible,
super
Ubicación:
Guatemala
Suscribirse a:
Entradas (Atom)




