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:
Comentarios (Atom)


