Entradas

Mostrando entradas de 2011

Quitar botones en pantalla de un canvas que aparece en el movil

Cuando realizamos un programa en j2me de java para un movil usando un canvas, resulta que al ejecutar la aplicación en el dispositivo, en este caso en un nokia 5800, aparece un molesto(en este caso) keypad con botones a,b,c,d y botones de dirección, abarcando la mitad de la pantalla. En muchos casos no queremos esto ya que sólo necesitamos un par de botones de navegación de la aplicación (exit, start...) Para el caso concreto del nokia 5800 bastará con especificar que no queremos este keypad en pantalla incluyendo una linea en nuestro archivo .jad: Nokia-MIDlet-On-Screen-Keypad: no

Nuevas ventanas en tu aplicación java con netbeans 6

Vamos a explicar como abrir una nueva ventana con java netbeans 6 desde tu aplicación, por ejemplo al pulsar un botón. Es más, explicaremos los distintos tipos de ventanas que puedes utilizar y podrás diseñar el contenido de las mismas desde la vista de diseño. Si lo que querías son ventanas ya prefabricadas de mostrar texto, error, aceptar-cancelar deberías buscar información sobre la clase JOptionPane. Se supone que tu aplicación ya dispone de un JFrame principal, por lo que añadirle un botón no supone ningún problema. En cualquier paquete de nuestro proyecto si pinchamos con el botón derecho del ratón, tenemos la posibilidad de crear un Nuevo->Otro...->Swing GUI Form->Formulario JFrame o JDialog . Le ponemos un nombre y cuando se cree podremos editarlo en Vista de Diseño. Qué diferencia hay entre uno y otro? Tu ventana de la aplicación principal es un JFrame como habíamos comentado. Si creas un nuevo JFrame para empezar, tendrás algo parecido a una nueva aplicación, y verá...

Cómo se ha resaltado el código en este blog

Para resaltar el código en este blog se ha hecho lo siguiente: En las páginas de configuración del blog, concretamente en Diseño->Editar html se han incluido las siguientes líneas para añadir un code higlighter hecho en javascript justo después de la etiqueta <head>: <link href='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css' rel='stylesheet' type='text/css'/> <script src='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js' type='text/javascript'></script> A la etiqueta <body bla bla bla> debemos añadirle lo siguiente: onload='prettyPrint()' y quedaría algo parecido a esto: <body bla bla bla onload='prettyPrint()'> Por último al escribir nuestra entrada del blog cuando queremos que aparezca código resaltado lo hacemos entre etiquetas <code> o <pre> pero de la siguiente forma: <code class="prettyprint"> //Esto es un comentari...

Tres ejemplos de cómo usar un jComboBox en java netbeans 6

Hay muchos ejemplos en la web de cómo usar un jComboBox mediante código. Por ejemplo creamos un array de String y se lo pasamos al constructor del jComboBox, algo parecido a lo siguiente: String [] meses={"enero","febrero","marzo"}; JComboBox micombo=new JComboBox(meses); Pero en el IDE Netbeans 6.9.1.. Cómo lo hacemos? Hemos sabido arrastrar el componente a nuestro panel, pero ahora que? Pues habrá muchas formas de llenar nuestro JComboBox, pero aquí sólo vamos a explicar tres formas, empezando por la más fácil y terminando por una un poco más compleja. Ya según la necesidad, usaréis la que más os convenga. Primer método Esto es lo más fácil. Pincha sobre el jComboBox en la parte de diseño y en propiedades->model usando el "Editor del modelo de lista desplegable" tan sólo tendrás que escribir los items, uno en cada línea. Segundo método Este es si por ahí tienes ya definido tu array de String con los valores que quieres que aparezcan en el de...

Personalizar el render de celdas de un jTable

Programando en java mediante netbeans 6.9.1 me he encontrado con un problema al intentar cambiar el fondo de una celda checkbox . Está claro que debemos crearnos una clase de renderizado personalizada. En internet hay muchos ejemplos al respecto, unos extienden la clase DefaultTableCellRenderer, posiblemente funcione si para una celda muy concreta queremos aplicar un cambio. Otros ejemplos en cambio extienden un JLabel (por ejemplo) que implementa TableCellRenderer y este es el que he usado para la ocasión. El código de mi CellRenderer queda así: public class MiCellRenderer extends JLabel implements TableCellRenderer { protected int column; public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { MiModelo model = (MiModelo) table.getModel(); this.column=column; JCheckBox j=new JCheckBox(); //La tabla espera un componente, no importa si le envio this(JLabel) u otr...

La apariencia del Interfaz de nuestra aplicación

Seguimos programando con java Netbeans 6.9.1, y en este caso queremos que la interface de nuestra aplicación sea similar al sistema operativo sobre el que ejecutamos el programa. Para ello, dentro de la función main, por ejemplo al principio, se puede incluir el siguiente código: try { UIManager.setLookAndFeel( //UIManager.getCrossPlatformLookAndFeelClassName() UIManager.getSystemLookAndFeelClassName() ); } catch (Exception e) { } Si hemos generado de forma automática el código la función main se muestra un poco diferente y la inclusión del código quedaría así: public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { //new VentanaPrincipal().setVisible(true); try { UIManager.setLookAndFeel( //UIManager.getCrossPlatformLookAndFeelClassName() UIManager.getSystemLookAndFeelClassName() ...

Usando nuestra clase gráfica extendida

Cuando al trabajar con Netbeans 6.9.1 nos creamos una clase java extends propia, ésta es una clase que desciende de una clase gráfica como un JPanel, un JButton o un JLabel y además queremos usarla en un JFrame, tendremos que tener en cuenta lo siguiente para que nos resulte relativamente fácil: En primer lugar deberemos crear la clase y asegurarnos de que exista un contructor por defecto que no tenga parámetros de entrada. Si teníamos pensado hacer la clase con parametros de entrada podemos usar la técnica de varios constructores encadenados, es decir, se crean varios constructores donde el constructor sin parametros de entrada llama al constructor con parámetros. Además debemos asegurarnos de que los constructores sean públicos. Cuando compile sin problemas tenemos que añadir nuestro objeto a la Paleta de componentes para así poder añadirlo a nuestro JForm en vista de diseño. Una forma de añadirlo es por ejemplo pinchando con el botón derecho sobre el archivo.java de nuestra clase en...

Ventana centrada en pantalla

Mediante el entorno de desarrollo Netbeans IDE 6.9.1, cuando creamos una aplicación gráfica usando librerías awt o swing puede que queramos que nuestro JForm principal aparezca centrado en la pantalla cuando ejecutemos el programa y/o que el JForm sea de un tamaño concreto. Para ello, despues de crear un nuevo proyecto Java -> Java Application en el main de la clase principal realizamos los siguientes cambios: public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { //new VentanaPrincipal().setVisible(true); //hemos dividido la instrucción anterior para meter codigo enmedio javax.swing.JFrame principalframe=new VentanaPrincipal(); principalframe.setSize(800,600); principalframe.setLocationRelativeTo(null); principalframe.setVisible(true); } }); } Es importante destacar que si establecemos pri...