domingo, 1 de enero de 2012

JMenuBar con imagen de fondo en java

1/01/2012

El primer post de este nuevo año 2012 que esta lleno de cosas nuevas,hoy les traigo como personalizar el aburrido fondo del componente JMenuBar para darle un mejor aspecto y asi un mejor estilo a nuestros formularios o aplicaciones
¿Como lo hacemos?
teniendo ya nuestromenúhecho vamos a colocar estecódigo,el cual se compone de una variable tipoTexturePaint (es una clase que proporciona una manera de rellenar un objecto con una textura que se especifica con un BufferedImage).Tambiénhacemos uso de la clase paintComponent para poder dibujar unosrectánguloso recuadros tipo tablero en el MenuBar.

menu_bar = new JMenuBar(){
private final TexturePaint imagen = Crear_cuadriculas();
@Override protected void paintComponent(Graphics g) {
super.paintComponent(g);
//dibujo la imagen
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(imagen);
//en rectangulos,obtengo las dimensioones del menubar
g2.fillRect(0, 0, getWidth(), getHeight());
}
};
La función cuadricula es la encargada de crear las cuadriculas con su respectiva dimensión es decir el mismo tamaño de cada cuadro con una separación.
private TexturePaint Crear_cuadriculas() {
int cuadro = 4;//tamaño de las cuadriculas, o recuadros
int dimension = cuadro*cuadro;
BufferedImage imagen = new BufferedImage(dimension,dimension,BufferedImage.TYPE_4BYTE_ABGR);
Graphics2D g2 = imagen.createGraphics();
g2.setPaint(new Color(100,150,150,50));
g2.fillRect(0,0,dimension,dimension);
for(int i=0;i*cuadrodimension;i++) {
for(int j=0;j*cuadrodimension;j++) {
if((i+j)%2==0) g2.fillRect(i*cuadro, j*cuadro, cuadro, cuadro);
}
}
g2.dispose();
return new TexturePaint(imagen, new Rectangle(0,0,dimension,dimension));
}

Si lo imaginas,lo programas













Feliz año nuevo 2012

1/01/2012

domingo, 18 de diciembre de 2011

Popup con formulario en [JAVA]

12/18/2011


Por motivo de vacaciones del mes de diciembre casi no he posteado nada este mes pero,aquíles dejo el ultimo post de diciembre del 2011, es unmenúpopup o JPopupMenu el cual contiene un formulario este menu soporta casi cualquier objeto que ustedes quieran agregar todo depende de su creatividad, al agregar un objeto esto no es muy complicado esfácil solo necesitamos estecódigo.

//Un evento del raton al cual le agregamos el objeto JButton el cual llama al popup
//el numero 25 es unacoordenadaque le podemos cambiar para definir el lugar que se va a presentar el popup
MouseEvent eventoMouse=new MouseEvent(boto_for2, 0, e.getWhen(), KeyEvent.VK_UNDEFINED, 0,25 , 1, true)

//Con estemétodoextraemos el evento y las respectivascoordenadas, para definir en que lugarsaldráel popup

private void checkPopup2(MouseEvent e) {
for2.show(e.getComponent(), e.getX(), e.getY());
}

Si lo imaginas,lo programas





lunes, 28 de noviembre de 2011

Descargar y Subir y Ejecutar comandos FTP en java

11/28/2011

Hoy veremos como conectarnos a un servidor FTP y poder descargar y subir ficherostambiéntener la oportunidad de ejecutar comandos FTP, pero para hacer todo eso necesitamos que nuestro proyecto tenga lalibreríaJvFTP desarrollada porBea Petrovicova, que estaincluidaen el proyecto, antes de utilizar todas la propiedades debemos de tener una cuenta en un servidor FTP pueden registrarse en 260MBque es un hosting casi completo y brinda muchos servicios gratuitos.
¿Como funciona el proyecto?
despuésse haberseregistrado a su correo llegara unainformaciónmuy importante no la borren por que se encuentran todas las claves de acceso que les da 260MB, como servidor,usuario,y contraseña el cual necesitamos para poder conectarnos, hay una casilla en laaplicacióndonde dice que coloquen la ruta remota deben de colocar la ruta del servidor donde se alojan los archivos ejem: /mipagina/index.html/ digamos que quiero descargar ese archivo solo pongo esa ruta me voy a la casilla descargar escribo el directorio local osea de la pc mas el nombre del archivo y la extencion , casi lo mismo si quiero subir un archivo.
fragmento del codigo subir y descargar

public static boolean uploadFileByFTP(String server, String user, String pass, String localPath, String remotePath) {
try {
URL url = new URL("ftp://"+user+":"+pass+"@"+server + remotePath+";type=i");
URLConnection urlc = url.openConnection();
OutputStream os = urlc.getOutputStream();
BufferedReader br = new BufferedReader(new FileReader(localPath));
int c;
while ((c = br.read()) != -1) {
os.write(c);
}
os.flush();
os.close();
br.close();
principal.imagen_progre.setIcon(null);
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}

public static boolean downloadFileByFTP(String server, String user, String pass, String localPath, String remotePath) {
try {
URL url = new URL("ftp://" + user + ":" + pass + "@" + server + remotePath + ";type=i");
URLConnection urlc = url.openConnection();
InputStream is = urlc.getInputStream();
BufferedWriter bw = new BufferedWriter(new FileWriter(localPath));
int c;
while ((c = is.read()) != -1) {
bw.write(c);
}
is.close();
bw.flush();
bw.close();
principal.imagen_progre.setIcon(null);
return true;
} catch (Exception ex) {
ex.printStackTrace();
System.out.println(ex.getMessage());
return false;
}
}


Si lo imaginas,lo programas





jueves, 24 de noviembre de 2011

JavaFaceComponentPanel V1.0 compatible con Eclipse y Netbeans

11/24/2011


Hoy les traigo un nuevo componente estilo JPanel es un contenedor personalizado de diferentes formasexclusivamentepara sus proyectos para dejar ya el aburrido contenedor por defecto de java, dejen alguna duda o sugerencia para poder mejorar este componente en las siguientes versiones colocare elcódigofuente de la anteriorversiónpara que elaboren sus propias herramientas a su gusto


Si lo imaginas,lo programas


lunes, 21 de noviembre de 2011

Cargar datos en JComboBox desde un fichero XML

11/21/2011

Hoy veremos como cargar datos desde un archivo xml a un JComboBox en java esto es de dificultad media baja pero primero veremos unas definiciones.

¿Que es Xml?
XMLson las siglas deExtensible Markup Language, una especificación/lenguaje de programación estadiseñado especialmente para los documentos de la web. Permite que los diseñadores creen sus propias etiquetas, permitiendo la definición, transmisión, validación e interpretación de datos entre aplicaciones y entre organizaciones.
si quieres aprender mas de este lenguajeclic aqui
ejem de sintaxis xml:

usuarios
usuarioJacinto/usuario
usuarioAna/usuario
/usuarios

¿Pero como un lenguaje diseñado para la web sirve en Java?
como es un lenguaje especial para documentos en posible utilizarlo ya que es un fichero o archivo y lo podemos leer como cualquier otro desde java, pero para eso debemos utilizarmétodosespeciales que al momento de leer nos permita separar los tags (son etiquetas o comandos que los navegadores leen).
fragmento de codigo que permite leer y separar los tag con parametros.

ListItem items = new ArrayListItem();
String strRutaFileCiudades = "";
try {
strRutaFileCiudades = getClass().getResource("/xml/nombres.xml").toURI().getPath();
} catch (URISyntaxException ex) {
System.out.println("No se encontro la ruta del fichero xml");
}
String[] params = new String[]{"persona", "codigo", "nombre"};
try {
items = cargador.cargarDatosDesdeXml(strRutaFileCiudades, params);
} catch (Exception ex) {
System.out.println("No se pudo cargar el fichero xml");
}


DefaultComboBoxModel model = (DefaultComboBoxModel) this.getModel();


for (Item item : items){
model.addElement(item);
}








Si lo imaginas,lo programas