Friday, November 26, 2010

Inicio de Traducción de NetBeans 7.0

Ya esta disponible los archivos para traducción de NetBeans 7.0 en diversos idiomas incluyendo español.


Friday, November 19, 2010

NetBeans 7.0 Beta

Ya esta disponible NetBeans 7.0 Beta, la información general puedes encontrarla aqui
http://netbeans.org/community/releases/70/


Entre ellas soporte para JDK7

Web Languages
  • HTML5 editing support
  • JSON formatter






Friday, November 12, 2010

OpenJDK para MacOS

En un comunicado de Apple titulado

Oracle and Apple Announce OpenJDK Project for Mac OS X



Una noticia importante la colaboración de Apple en el proyecto OpenJDK, para continuar con el soporte de Java en Mac Os

Tuesday, November 09, 2010

Migracion de Java.net

El portal Java.net ha sido migrado a la infraestructura anteriormente de Kenai.
Puedes visitarlo en java.net

Aqui encontramos los detalles de la migración

Wednesday, November 03, 2010

Ventana de login para NetBeans Platform parte 2

Solo deseamos que tenga los botones de Aceptar y Cancelar habilitados, para ello modificamos el
método createLoginDialog().
private void createLoginDialog(){
JButton ok = new JButton();
ok.setText("OK");
JButton cancel = new JButton();
cancel.setText("Cancel");
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//close whole application
}
});
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//authenicate username and password
}
});
NotifyDescriptor nd = new NotifyDescriptor.Confirmation(form, "Login");
nd.setOptions(new Object[]{ok, cancel});
DialogDisplayer.getDefault().notifyLater(nd);
}

Corregimos las importaciones
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;

Agregamos el codigo para el botón Cancel, agregango exit();
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//close whole application
exit();
}
});
Ahora creamos el metodo exit()
importamos





Código completo



Para cerrar la aplicación al presionar la X en la ventana agregamos el código
nd.addPropertyChangeListener(new PropertyChangeListener(){
public void propertyChange(PropertyChangeEvent evt){
if(NotifyDescriptor.CLOSED_OPTION.equals(evt.getNewValue())){
exit();
}
}
});

Editar LoginFrame.java y agregar
public String getUsername(){
return this.jTextFieldUser.getText();
}
public String getPassword(){
return this.jPasswordField.getPassword().toString();
}


Ahora nos ubicamos en el modulo UserMagnament
Buscamos las propiedades del proyecto
Marcamos el paquete org.avbravo.UserMagnament como publico.



Editamos UserMagnamentPanel.java, y cambiamos la definición de la clase agregandole
public




Ahora editamos las propiedades del modulo login

En bibliotecas seleccionamos Añadir Dependencias

Seleccionamos UserMaganment de la lista, presionamos el botón Aceptar
Se muestra la dependencia agregada




Editamos Installer.java
Agregamos
NotifyDescriptor d;
int msgTypeError = NotifyDescriptor.ERROR_MESSAGE;
int msgType = NotifyDescriptor.INFORMATION_MESSAGE;






Y Creamos el método
private boolean authenticate() {
if (NbPreferences.forModule(UserMagnamentPanel.class).get("user", "").equals(this.form.getUsername()))
{
try {
String passwordFromForm = null;
String passwordFromPref = NbPreferences.forModule(UserMagnamentPanel.class).get("pass",
"").toString();
String passwordPref = new String(this.form.getPassword());
if (passwordPref.equals(passwordFromPref)) {
d = new NotifyDescriptor.Message("El password es correcto", msgType);
DialogDisplayer.getDefault().notify(d);
} else {
d = new NotifyDescriptor.Message("El password no es correcto", msgType);
DialogDisplayer.getDefault().notify(d);
exit();
}
//do nothing here
// } else {
// exit();
// }
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
d = new NotifyDescriptor.Message("authenticate() " + ex.getLocalizedMessage().toString(),
msgTypeError);
DialogDisplayer.getDefault().notify(d);
}
} else {
d = new NotifyDescriptor.Message("El usuario no es correcto", msgType);
DialogDisplayer.getDefault().notify(d);
exit();
}
return false;
}

Corregimos las importaciones


Con esto al ejecutar el programa nos validara el login. Que sera almacenado en las Opciones.








Ventana de login para NetBeans Platform parte 1

Cuando necesitamos utilizar una ventana de Login para nuestra aplicación basada en NetBeans Platform, podemos referirnos al tutorial

NetBeans Platform Login Tutorial

Pasos:
Creamos un proyecto basado en NetBeans platform


Agregar un nuevo modulo



Creamos un Panel de opciones



Agregamos los elementos al diseño

En el método store() agregamos
NbPreferences.forModule(UserMagnamentPanel.class).put("user", jTextField1.getText());
NbPreferences.forModule(UserMagnamentPanel.class).put("pass",
jPasswordField1.getPassword().toString());

Importamos
import org.openide.util.NbPreferences;
En el método load() agregamos
jTextField1.setText(NbPreferences.forModule(UserMagnamentPanel.class).get("user", ""));
jPasswordField1.setText(NbPreferences.forModule(UserMagnamentPanel.class).get("pass", ""));


Ejecutamos el proyecto, luego en Herramientas->Opciones





Nos muestra las opciones



Agregamos un nuevo modulo al proyecto

 Creamos un instalador

Seleccionamos Installer/Activator

 Creamos un Panel

Diseñamos los componentes
En las propiedades del módulo agregamos. API de Diálogos, Api de Utilidades para iU

Ahora llamaremos el Panel desde el Installer.
Primero creamos un objeto
LoginFrame form = new LoginFrame();
y agregamos en el método restored()
NotifyDescriptor nd = new NotifyDescriptor.Message("Ok");
DialogDisplayer.getDefault().notifyLater(nd);
importamos
import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor;
Quedaría de la siguiente manera


Ejecutamos el proyecto
Solo nos mostrara el mensaje de OK.



Ahora modificamos el código de Installer.java para que muestre el panel de login. Y Creamos el
metódo createLoginDialog()
@Override
public void restored() {
createLoginDialog();
}
private void createLoginDialog(){
NotifyDescriptor nd = new NotifyDescriptor.Confirmation(form, "Login");
DialogDisplayer.getDefault().notifyLater(nd);
}

Ejecutamos el proyecto
Ahora si nos muestra el panel solicitando la información del usuario.