Bienvenido a Java Mexico

Java México es una comunidad de desarrolladores mexicanos en el lenguaje Java.

Este sitio es colaborativo, automáticamente al registrarte obtienes un Blog para compartir tus conocimientos o información acerca del lenguaje. Antes de publicar en tu blog o los foros por favor lee los lineamientos de publicación.

Para dudas y problemas con respecto al lenguaje Java puedes visitar los Foros de Discusión.

También puedes responder nuestra encuesta para saber en que estado vives!

Código para limpiar JTextFields

Con este método podemos limpiar uno o varios JTextFields

        protected void limpiar(Component component) {
                if (component instanceof JTextField) {
                        JTextField text = (JTextField) component;
                        text.setText("");
                } else {
                        if (component instanceof Container) {
                                for (Component c : ((Container) component).getComponents()) {
                                        limpiar(c);
                                }
                        }

                }
        }

Código para convertir flechas y enter en tab

Con este código al presionar enter y flecha abajo se hará un tab. También al presionar shift + enter y flecha arriba se hará un shift + tab.

                Set<AWTKeyStroke> teclasTab = new HashSet<AWTKeyStroke>();
                teclasTab.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, 0));
                teclasTab.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_DOWN, 0));
                teclasTab.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_TAB, 0));
                getContentPane().setFocusTraversalKeys(
                                KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, teclasTab);
                Set<AWTKeyStroke> teclasShiftTab = new HashSet<AWTKeyStroke>();
                teclasShiftTab.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER,
                                InputEvent.SHIFT_DOWN_MASK));
                teclasShiftTab.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_UP, 0));
                teclasShiftTab.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_TAB,
                                InputEvent.SHIFT_DOWN_MASK));
                getContentPane().setFocusTraversalKeys(
                                KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, teclasShiftTab);

Código para centrar JFrame

Agrega este código a tu Frame y luego llamas el método centrarVentana en el evento windowOpened

        protected void this_windowOpened(WindowEvent e) {
                centrarVentana();
        }

        private void centrarVentana() {
                // Se obtienen las dimensiones en pixels de la pantalla.
                Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();

                // Se obtienen las dimensiones en pixels de la ventana.
                Dimension ventana = getSize();

                // Una cuenta para situar la ventana en el centro de la pantalla.
                setLocation((pantalla.width - ventana.width) / 2,
                                (pantalla.height - ventana.height) / 2);
        }

Código para arrastrar JFrame con el mouse

En los eventos mousePressed y mouseDragged del JFrame agrega este código

import java.awt.MouseInfo;
import java.awt.Point;

        private int x;
        private int y;

        protected void this_mousePressed(MouseEvent e) {
                x = e.getX();
                y = e.getY();
        }

        protected void this_mouseDragged(MouseEvent e) {
                Point point = MouseInfo.getPointerInfo().getLocation();
                setLocation(point.x - x, point.y - y);
        }

JTextField Númerico

Crea un clase NumericDocument con el siguiente código

package presentacion;

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class NumericDocument extends PlainDocument {
        private static final long serialVersionUID = 1L;

        public void insertString(int offset, String str, AttributeSet a)
                        throws BadLocationException {
                if (str == null) {
                        return;
                }
                StringBuffer buf = new StringBuffer(str.length());
                for (int i = 0; i < str.length(); i++) {
                        if (Character.isDigit(str.charAt(i))) {
                                buf.append(str.charAt(i));
                        } else {
                                java.awt.Toolkit.getDefaultToolkit().beep();
                        }
                }
                super.insertString(offset, buf.toString(), a);
        }

}

Ahora solo hay que asignarselo al JTextField así:
numeroText.setDocument(new NumericDocument());

Panel con imagen redimensionable

Aquí los comparto el código que use para incluir imagenes en un panel

package presentacion;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class FondoPanel extends JPanel {
        private static final long serialVersionUID = 1L;
        private Image image = null;
        private Image intermediateImage = null;
        private Icon icon;

        public FondoPanel() {
                super();
        }

        public void paintComponent(Graphics g) {
                super.paintComponent(g);
                if (getImage() != null) {
                        if (intermediateImage == null
                                        || intermediateImage.getWidth(null) != getWidth()
                                        || intermediateImage.getHeight(null) != getHeight()) {
                                intermediateImage = createImage(getWidth(), getHeight());
                                Graphics gImg = intermediateImage.getGraphics();
                                gImg.drawImage(getImage(), 0, 0, getWidth(), getHeight(), null);
                        }
                        g.drawImage(intermediateImage, 0, 0, null);
                }
        }

        private Image getImage() {
                return image;
        }

        private void setImage(Image image) {
                this.image = image;
        }

        public Icon getIcon() {
                return icon;
        }

        public void setIcon(Icon icon) {

A la hora de programar piensa en JEdit

Ahora vamos a conocer una herramienta a la hora de programar, se trata del editor jEdit, distribuida bajo licencia GNU/GPL (GNU General Public License), escrito en el lenguaje de programación Java y lo encontramos para las plataformas Windows, GNU/Linux y Mac OS X.

Una de las características de esta herramienta es la cantidad de Plugins que encontramos con diferentes funcionalidad y agregando nuevos aspectos, con lo cual podemos llevar a cabo grandes cosas y adaptarlo principalmente a nuestras necesidades.

Slava Pestov es el creador de jEdit y el mismo se encuentra disponible desde 1998 para todas aquellas personas que desean probar algo diferente.

La pagina web del proyecto es:
http://www.jedit.org/

Acceso a la Base de Datos

Hola, estoy realizando una aplicacion web en donde me conecto a una base de datos (Oracle), todo funciona correctamente con datos pequeños, pero cuando realizo insert's por arriba de los 100 000 silmutaneamente, el rendimiento del sistema baja drasticamente ( 19 minutos para 100 000 inserts). Queria saber si alguien puede ayudarme con alguna clase ejemplo usando algun metodo para solucionar esto. Me conecto usando JDBC, gracias de antemano.

Otro mas al mundo Java

Hola a todos, yo como ustedes soy aficionado a la programación en este lenguaje, espero que podamos compartir conocimientos, y si no, pues estaremos sufriendo todos juntos jajaja...
gracias.

Atte:
The Neko

programa que calcula PI a partir de una serie infinita

//ejercicio 5.16 calculo de pi,autor ernesto ortega vásquez

import javax.swing.*;

public class Pi{

        public static void main(String args[]){

                double pi;
                double negativo = 0.0;
                double positivo = 0.0;
                double d = 3.0;
                double d1 = 5.0;

                int contador = 1;
                int contador2 = 1;

                JTextArea areaSalida = new JTextArea(20,20);

                JScrollPane desplazador = new JScrollPane(areaSalida);

                areaSalida.setText("Termino\t" + "Aproximación\n");

                while(contador2 != -1){

                switch(contador){

                        case 1:

                                negativo += 4/d;

                                d += 4.0;

                                contador += 1;

                                break;

                        case 2:

                                positivo += 4/d1;

                                d1 += 4.0;

                                contador -= 1;

                                break;

                        default:

                        JOptionPane.showMessageDialog(null,"Numero incorrecto","error",JOptionPane.INFORMATION_MESSAGE);

                }//fin del switch

                pi = 4.0 - negativo + positivo;

                areaSalida.append(contador2 + "\t" + pi + "\n");

                JOptionPane.showMessageDialog(null,desplazador,"Resultados",JOptionPane.PLAIN_MESSAGE);

                contador2 += 1;

        }//fin del while

        System.exit(0);

}//fin del método main

}//fin de la clase Pi

Distribuir contenido