Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 1mpuls0

#1311
Java / Re: problema al mover JLabel en JFrame
30 Octubre 2009, 03:43 AM
...
#1312
Java / Re: problema al mover JLabel en JFrame
30 Octubre 2009, 03:35 AM
Hola

Cita de: smasher666 en 29 Octubre 2009, 07:56 AM
osea, que un frame tiene como content panel un flowlayout y este flow layout un panel dentro? que follon XD seria porqu eno tenia flowlayout qu eno me dejaba moverlo.


Entonces en tu código para que manejas el JPanel panel?? ¬¬
Se puede agregar los componenetes al Contenedor del JFrame

no creo que quieras agregar primero tu jcombobox y los demas componentes y al final agregar tu jpanel XXD

Cita de: smasher666 en 29 Octubre 2009, 07:56 AM
No lo acavo de entender, porque so no s puede hacer con el JFrame? tiene que ser con el Jpanel? y en los metods por ejemplo pack();, no pones a que objeto te refieres, no seria panel.pack();?

Citar
pack()
auses this Window to be sized to fit the preferred size and layouts of its subcomponents.

http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html

El método pack() calcula el tamaño mínimo de una ventana para que pueda acomodar todos los componentes que contiene de forma razonable y llama a setSize() sobre ese tamaño.

Cita de: smasher666 en 29 Octubre 2009, 07:56 AM
pd: la modificacion no funciona, compila i todo pero no sale el panel por ningun lado, es como si estuviera invisible.

XDD como para que quieres ver el panel, yo tampoco lo veo por ninguna lado en tu código, y pero si quieres ver el marco agrega esta linea de código

Pero si te interesa verlo puedes agregarle un color o el marco

//Coloca las siguientes DOS lineas antes del setLayout
panel.setBackground(new java.awt.Color(204, 0, 0));
panel.setBorder(javax.swing.BorderFactory.createEtchedBorder(new java.awt.Color(0, 0, 153), null));
panel.setLayout(null);

Espero ahora si lo puedas ver XXD

Cita de: smasher666 en 29 Octubre 2009, 07:56 AM
pd: no ves la parte orientada a objetos de el prgrama porqu enoe s el programa completo, es solo una clase ;)

Tal vez sera por eso lol

Mira smasher666, a ver como me explico...
El piso es el JFrame
Tu Mesa de Escritorio es el JPanel
y el conjunto de Aparatos que conforman tu computadora es el conjunto de componentes que vas a colocar en el panel (por ejemplo jcombobox, jbutton, jtextfield, inclusive jpanel)

Tienes que seguir un orden, no vas a dejar tu computadora debajo de tu Escritorio XDD


getContentPane().setLayout(new FlowLayout());

panel.add(botonAceptar);

getContentPane().add(panel);


y no necesariamente tiene que ser FlowLayout, puedes usar cualquier Administradores de diseño o ninguno

Espero me haya explicado.


saludos
#1313
Java / Re: problema al mover JLabel en JFrame
28 Octubre 2009, 18:50 PM
Un poco?? :o

MM se mira que no te gusta leer, ni entenderle a otros códigos, con el programa que subi bastaba para entender
Ademas java es un lenguaje Orientado a Objetos, cosa que no veo por ningun lado en tu programa.

Pero bueno

Arregle un poco tu código, me dio weba hacerlo todo

Pero fijate bien en las instrucciones que agregue y modifiqué...

Citar

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.logging.Logger;
import java.util.logging.Level;

public class MapEditor extends JFrame{
   
    private int nivel;
    private int ANCHO=800;
    private int ALTO=600;
    private JComboBox text;
    private Boolean notFound;
    private int count;
    private Boolean acepted=false;
    private JComboBox[][] mapa= new JComboBox[6][12];
    private JPanel panel;
    private JLabel mensaje;
    private JButton aceptar;
   
    public static void main(String[]args){
        new MapEditor().setVisible(true);
    }

    public MapEditor() {
       
       panel = new JPanel();
       
         setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setTitle("Mostrar Imagen");
         getContentPane().setLayout(new FlowLayout());

        panel.setPreferredSize(new Dimension(800, 600));
        panel.setLayout(null);

        for(int i=0;i<6;i++){
            for(int j=0;j<12;j++){
                JComboBox box = new JComboBox();
                box.addItem("E");
                box.addItem("X");
                mapa[j]=box;

            }
        }
       
        mensaje = new JLabel("Introduce el numero del nivel a editar:" );
       
        panel.add(mensaje);
        mensaje.setBounds(20, 20, 220, 20);

        text = new JComboBox();
        count=0;
        while(count<100){           
                text.addItem(count);
                count++;
        }     
        panel.add(text);
        text.setBounds(240, 20, 50, 20);
       
        aceptar = new JButton("Aceptar");
        panel.add(aceptar);
        aceptar.setBounds(310, 20, 100, 20);
        /*MouseListener mouse = new MouseListener() {

            public void mouseClicked(MouseEvent e) {
             
            }

            public void mousePressed(MouseEvent e) {
               nivel=text.getSelectedIndex();
              System.out.println(nivel);
              acepted=true;
            }

            public void mouseReleased(MouseEvent e) {
               
            }

            public void mouseEntered(MouseEvent e) {
               
            }

            public void mouseExited(MouseEvent e) {
               
            }
        };
        aceptar.addMouseListener(mouse);
       
        while(!acepted){
            try {
                Thread.sleep(50);
            } catch (InterruptedException ex) {
                Logger.getLogger(MapEditor.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        text.setVisible(false);
        mensaje.setVisible(false);
        aceptar.setVisible(false);
       
        File file = new File("niveles/Nivel"+nivel+".txt");
        if(!file.canRead()){
            try {
               
                file.createNewFile();
                System.out.println("Fichero creado");
            } catch (IOException ex) {
                System.out.println("Error al crear fichero");
            }
        }

        int x=0;
        int y=0;
        for(int i=0;i<6;i++){
            for(int j=0;j<12;j++){
               JComboBox box= mapa[j];
                panel.add(box);
                box.setLocation(x,y);
                x=x+100;
               
            }x=0; y=y+100;
        }*/

      getContentPane().add(panel);
      pack();

    }
   
}


Trata de entenderle bien a las siguiente lineas

Citar

getContentPane().setLayout(new FlowLayout());

panel.setPreferredSize(new Dimension(123, 190));
panel.setLayout(null);

mensaje = new JLabel("Introduce el numero del nivel a editar:" );
panel.add(mensaje);
mensaje.setBounds(20, 20, 220, 20);

getContentPane().add(panel);
pack();

Espero no confundirte.


saludos
#1314
Java / Re: Java Skin
28 Octubre 2009, 03:38 AM
Hola...

Cita de: Cesk en 13 Septiembre 2009, 05:07 AM
Buenas, tengo una aplicacion en Java, me baje el pack de skins Substance y le puse uno a mi aplicacion...

Cómo compilas tu aplicacion??


Cita de: Cesk en 13 Septiembre 2009, 05:07 AM
Es que intento ejecutar mi programa y me sale que no encuentra la libreria y eso. Ayuda porfavor...

Deste donde lo ejecutas??
Agregaste la libreria substance.jar a tu proyecto??


Cita de: Cesk en 13 Septiembre 2009, 05:07 AM
Y en caso de que si, como hago esto en NetBeans?

Bien te explico, primero debes agregar la libreria substance.jar a tu paquete de librerias, para eso te vas a Libraries haces click derecho y eliges Add JAR/Folder..., buscas tu libreria y la agregas.

En tu metodo Main debes hacer lo siguiente
Citar
public class Main {

    public static void main(String[] args) {

        try{
            javax.swing.UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceNebulaBrickWallLookAndFeel");
       }
       catch(Exception look)
       {
          look.printStackTrace();
          System.out.println("Error");
       }
       javax.swing.JFrame.setDefaultLookAndFeelDecorated(true);
       javax.swing.JDialog.setDefaultLookAndFeelDecorated(true);
       javax.swing.SwingUtilities.invokeLater(new Runnable()
       {
          public void run()
          {
             new miAplicacion().setVisible(true);
          }
       });
    }

}

Y tu aplicación se verá algo así, dependiendo de tu Skin




Saludos

#1315
Java / Re: problema al mover JLabel en JFrame
28 Octubre 2009, 03:18 AM
Hola, Mover??, será mostrar

Bueno como sea, no es muy complicado la verdad, checa este ejemplo.


import javax.swing.*;
import java.awt.*;

public class cargarImagen extends JFrame {

    private JLabel etqImagen;
    private JPanel panel;

    public static void main(String args[]) {
new cargarImagen().setVisible(true);
    }

    public cargarImagen() {
        initComponents();
    }

    private void initComponents() {

        panel = new JPanel();
        etqImagen = new JLabel();

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setTitle("Mostrar Imagen");
        setResizable(false);
        getContentPane().setLayout(new FlowLayout());

        panel.setPreferredSize(new Dimension(123, 190));
        panel.setLayout(null);

        etqImagen.setIcon(new ImageIcon(getClass().getResource("/images/duke.png")));
        panel.add(etqImagen);
        etqImagen.setBounds(20, 20, 83, 150);

        getContentPane().add(panel);

        pack();
    }
}


Te creas una carpeta que se llame images y dentro guardas una imagen que se llame duke con la extension png (para este ejemplo)

http://mindprod.com/image/iconcorp/duke.png

Saludos
#1316
Java / Re: JTable y Layouts
16 Octubre 2009, 05:15 AM
Y respecto al código de tu ejemplo que te parece si te ordenas un poquito mas (no te lo tomes a mal) y hacemos lo siguiente


import java.awt.*;
import javax.swing.*;

public class Ventana extends JFrame
{

   Object[][] data = {
                               {"Mary", "Campione", "Esquiar", new Integer(5), new Boolean(false)},
                               {"Lhucas", "Huml", "Patinar", new Integer(3), new Boolean(true)},
                               {"Kathya", "Walrath", "Escalar", new Integer(2), new Boolean(false)},
                               {"Marcus", "Andrews", "Correr", new Integer(7), new Boolean(true)},
                               {"Angela", "Lalth", "Nadar", new Integer(4), new Boolean(false)}
                             };
  String[] columnNames = {"Nombre", "Apellido", "Pasatiempo",
                                  "Años de Practica", "Soltero(a)"};
  JTable table = new JTable(data,columnNames);


   public static void main(String []args)
   {
       new Ventana();

   }

   public Ventana()
   {
       setTitle("Tabla");
       getContentPane().setLayout(null);

       table.setPreferredScrollableViewportSize(new Dimension(500, 70));
       JScrollPane scrollPane = new JScrollPane(table);
       scrollPane.setBounds(30,30,500,70);

       getContentPane().add(scrollPane);

       setSize(600,500);
       show();
   }
}


Cualquier duda ya sabes..

Saludos
#1317
Java / Re: JTable y Layouts
16 Octubre 2009, 05:00 AM
Hola

Que te parce si del primer ejemplo que tienes agregamos las siguientes lineas de código..


import javax.swing.*;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;

public class  Ventana extends JFrame {
    public  Ventana() {
       super("Ejemplo 1");

       getContentPane().setLayout(null);//Colocar esquema al contenedor

       //array bidimencional de objetos con los datos de la tabla
       Object[][] data = {
           {"Mary", "Campione", "Esquiar", new Integer(5), new Boolean(false)},
           {"Lhucas", "Huml", "Patinar", new Integer(3), new Boolean(true)},
           {"Kathya", "Walrath", "Escalar", new Integer(2), new Boolean(false)},
           {"Marcus", "Andrews", "Correr", new Integer(7), new Boolean(true)},
           {"Angela", "Lalth", "Nadar", new Integer(4), new Boolean(false)}
       };

       //array de String's con los títulos de las columnas
       String[] columnNames = {"Nombre", "Apellido", "Pasatiempo",
                                  "Años de Practica", "Soltero(a)"};

       //se crea la Tabla
       final JTable table = new JTable(data, columnNames);
       table.setPreferredScrollableViewportSize(new Dimension(500, 70));


       //Creamos un JscrollPane y le agregamos la JTable
       JScrollPane scrollPane = new JScrollPane(table);
       scrollPane.setBounds(30,30,500,70);//Colocar posicion y dimension al JScrollPanel
       

       //Agregamos el JScrollPane al contenedor
       getContentPane().add(scrollPane);


       //manejamos la salida
       addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent e) {
               System.exit(0);
           }
       });
   }

   public static void main(String[] args) {
       Ventana frame = new  Ventana();
       frame.pack();
       frame.setSize(500, 600);//Colocar Tamaño al JFrame
       frame.setVisible(true);
   }
}


Perdon no sé como colocarlas en color, pero son estas..


getContentPane().setLayout(null);//Colocar esquema al contenedor
scrollPane.setBounds(30,30,500,70);//Colocar posicion y dimension al JScrollPanel
frame.setSize(500, 600);//Colocar Tamaño al JFrame


Espero qeu te sirva

Saludos
#1318
Java / Re: Ayuda para entender netbeans
14 Octubre 2009, 23:25 PM
Citar
Debci:
De todos modos yo no empecé guiandome por colores, s no viendo la sintaxis, ya sabia lo que era cada cosa, pero los colores nos ayudan a encontrar datos rapidamente.

Hola estoy deacuerdo, no importa tanto guiarse por los colores, me imagino que para otros ides como (p.e. eclipse) son diferentes

Pero si quieres saber en si de que es cada color aqui algunas capturas que hice

Netbeans IDE 6.7.1 Español




Netbeans IDE 6.7.1 Ingles



Espero te sirvan

Saludos
#1319
Java / Re: JTree y scrolling
11 Octubre 2009, 06:42 AM
Hola

Puedes intentar con


scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);



Aqui un ejemplo...


import javax.swing.*;
import java.awt.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;

public class jtree extends JFrame {

    private JPanel panel;
    private JScrollPane scroll;
    private JTree tree;
    private DefaultMutableTreeNode root;
    private DefaultMutableTreeNode nodo1;
    private DefaultMutableTreeNode nodo2;
    private DefaultTreeModel model;
   
public static void main(String args[]) {
        new jtree().setVisible(true);
}

    public jtree() {
        iniciarComponentes();
    }

    private void iniciarComponentes() {

        panel = new JPanel();
        scroll = new JScrollPane(); 
        root = new DefaultMutableTreeNode("Raiz");
        nodo1 = new DefaultMutableTreeNode("nodo1");
        nodo2 = new DefaultMutableTreeNode("nodo2");
        model = new DefaultTreeModel(root);
        tree = new JTree(model);

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setTitle("Prueba JTree");
        setResizable(false);
        getContentPane().setLayout(new FlowLayout());

        panel.setPreferredSize(new Dimension(200, 300));
        panel.setLayout(null);
       
        root.add(nodo1);
    root.add(nodo2);

        scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
        scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scroll.setViewportView(tree);

        panel.add(scroll);
        scroll.setBounds(10, 10, 180, 280);

        getContentPane().add(panel);
        pack();
    }
}


Espero te sirva


Saludos
#1320
Java / Re: Cómo animar JLabel?¿
8 Octubre 2009, 03:36 AM
Hola nuevamente, he seguido lo que me has dicho AmeRiK@nO, pero me produce el mismo resultado con el metodo alternativo, el cual lo que hacia era "como" si solo cambiara la etiqueta de lugar pero sin mostrar animacion, es decir como si solo hiciera:


etiqueta.setBounds(xI, yI, 50, 25);


y lo cambiara por


etiqueta.setBounds(x,F yF, 50, 25);


Repito sin mostrar ninguna "animacion".

Me puedes aconsejar hacer algo para intentar, o algun metodo ya existente en Java que me pueda ayudar  :rolleyes: o alguna otra alternativa.


Saludos y gracias por la respuesta