package agregarlabels; import java.awt.Color; import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.border.Border; /** * * @author jaac747 */ public class pantalla extends javax.swing.JFrame { /** * Creates new form pantalla */ public pantalla() { initComponents(); inicio(); this.setSize(400, 425); } private void inicio(){ JLabel[] tablero; jPanel1.setSize(340, 340); int datox=15;//el total de piesas horizontalmente int datoy=datox;//para que sea una matriz cuadrada se iguala int aux=datox*datoy;//el total de labels en la matriz tablero=new JLabel[aux];//se crea el arreglo de labels segun el tamaño total int espacio=5;//se crea un espacio que sera el que estara entre los datos //se obtiene el tamaño en x de los labels segun la cantidad de estos int tamanox=(jPanel1.getWidth()-(espacio*(datox+1)))/datox; System.out.println(tamanox); //se obtiene el tamaño en y de los labels segun la cantidad de estos int tamanoy=(jPanel1.getHeight()-(espacio*(datoy+1)))/datoy; System.out.println(tamanoy); int total=0;// se crea una bariable para recorrer el arreglo de labels int posiciony=0;//variable que sirve para ver la posicion en y de for(int y=0;y<datoy;y++){ //se le da una pocicion en y posiciony=(y*(tamanoy+espacio)+espacio); for(int x=0;x<datox;x++){ //System.out.println(total); tablero[total]=new JLabel("1");// se crea el objeto jlabel tablero[total].setBackground(Color.red); //se le da un borde tablero[total].setBorder(BorderFactory.createLineBorder(Color.black)); //se le da una pocicion en x int posicionx=((x+1)*espacio+(x*tamanox)); System.out.println(posicionx); //se le da una posicion en x & y & se le da un tamaño en x & y tablero[total].setBounds(posicionx,posiciony, tamanox, tamanoy); // se añade el label a un panel jPanel1.add(tablero[total]); //se le da que el label es visible tablero[total].setVisible(true); total++; //System.out.println((espacio+x*tamanox)); } } }
Blog dedicado a compartir conocimientos adquiridos en la carrera de ciencias y systemas de la Universidad de San Carlos de Guatemala.
miércoles, 19 de septiembre de 2012
agregar un arreglo de labels
Lastimosamente para netbeans no hay un metodo que solo indicar el tamaño del arreglo y ya esta, hay que hacerlo a mano, en este caso cree una clase jframe y a este le añadi un jpanel y en este es el que le aplico el codigo.
sábado, 1 de septiembre de 2012
cambio de varios jpanel's en unico jframe
Una obcion util al momento de realizar programas es el cambio de paneles en una misma ventana con el click de un boton o la seleccion de un menu, puesto que nos separa las diferentes secciones de codigo segun lo necesitemos
primero se añade un jpanel dentro de la ventana y se le da el tamaño deceado, el panel es la parte seleccionada en el cuadro rojo
luego se le da click derecho y se va a set Layout(1) que es un tipo de ordenamiento y se selecciona el ordenamiento card layout(2)
se crea los paneles como clases de jpanel que seran los que utilizaremos con cada obcion en este caso tenemos ingresos(1) y modificar(2)
en el jframe se añade este codigo que es el que ara el cambio de paneles, asi tendria que quedar la clase pantalla
primero se añade un jpanel dentro de la ventana y se le da el tamaño deceado, el panel es la parte seleccionada en el cuadro rojo
luego se le da click derecho y se va a set Layout(1) que es un tipo de ordenamiento y se selecciona el ordenamiento card layout(2)
se crea los paneles como clases de jpanel que seran los que utilizaremos con cada obcion en este caso tenemos ingresos(1) y modificar(2)
en el jframe se añade este codigo que es el que ara el cambio de paneles, asi tendria que quedar la clase pantalla
package cambioventana; import java.awt.CardLayout; /** * * @author jaac747 */ public class pantalla extends javax.swing.JFrame { /** * Creates new form pantalla */ private CardLayout paletas;//esta es una obcion que nos permite hacer el cambio de panels en la misma ventana private ingreso ingresos=new ingreso();// jpanel que contiene ingresos private modificar modifica= new modificar();//jpanel que contiene modificar boolean cambios=true; public pantalla() { initComponents(); //se añade este codigo jPanel1.setLocation(WIDTH, WIDTH);// le digo que tenga una localizacion dentreo de la ventana jPanel1.add(ingresos,"menu1"); //le indico que ingresos tendra de sobrenombre menu1 y que pertenece a jpanel de ventana jPanel1.add(modifica,"menu2");//le indico que modifica tendra el sobrenombre de menu2 y que pertenece a jpanel de ventana paletas = (CardLayout)jPanel1.getLayout(); //le agrego la obcion a paletas para que aga el cambio paletas.show(jPanel1, "menu1");// le indico que jpanel tendra el cambio y cual panel mostrara } /** * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") /** * esto es para que al precionar el boton aga el cambio */ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if(cambios==true){// comprueva que panel esta como son dos se usa true o false paletas.show(jPanel1, "menu2");// hace cambio entre el panel uno al 2 cambios= false; }else{ paletas.show(jPanel1, "menu1");// hace cambio entre el panel 2 al 1 cambios= true; } } /** * @param args the command line arguments */ // Variables declaration - do not modify private javax.swing.JButton jButton1; private javax.swing.JPanel jPanel1; // End of variables declaration }
Suscribirse a:
Entradas (Atom)