+ All Categories
Home > Documents > Espo Layoutmanager

Espo Layoutmanager

Date post: 07-Jan-2016
Category:
Upload: karlos-diaz
View: 228 times
Download: 0 times
Share this document with a friend
Description:
conceptos layout
Popular Tags:

of 16

Transcript

CARACTERSTICAS LAYOUT MANAGER

CARACTERSTICAS LAYOUT MANAGERBORDERLAYOUT

PruebasFrame(){ setTitle("JFrame de pruebas"); //Para un BorderLayoutgetContentPane().setLayout(new BorderLayout()); getContentPane().add(new JButton("CENTER"), BorderLayout.CENTER); getContentPane().add(new JButton("NORTH"), BorderLayout.NORTH); getContentPane().add(new JButton("SOUTH"), BorderLayout.SOUTH); getContentPane().add(new JButton("EAST"), BorderLayout.EAST); getContentPane().add(new JButton("WEST"), BorderLayout.WEST); setSize(300,200); }FLOWLAYOUTElFlowLayoutes bastante sencillo de usar. Nos coloca los componente en fila. Hace que todos quepan. Es adecuado para barras de herramientas, filas de botones, etc.Los componentes fluyen de izquierda a derecha, dejando, por omisin, un espacio vertical y horizontal de 5 pixeles entre sus componentes.

CONSTRUCTORES

PruebasFrame(){setTitle("JFrame de pruebas"); //Para un FlowLayout getContentPane().setLayout(new FlowLayout()); getContentPane().add(new JButton("Botn 1")); getContentPane().add(new JButton("Botn 2")); getContentPane().add(new JButton("Botn 3")); getContentPane().add(new JButton("Botn 4")); getContentPane().add(new JButton("Botn 5")); setSize(300,200); }Este pone los componentes en forma de matriz, estirndolos para que tengan todos el mismo tamao. Los componentes se colocan en una rejilla de celdas iguales. Se colocan de arriba hacia abajo y de izquierda a derecha.ElGridLayoutes adecuado para hacer tableros, calculadoras en que todos los botones son iguales, etc.

GRIDLAYOUT

CONSTRUCTORES

PruebasFrame(){ setTitle("JFrame de pruebas"); //Para un GridLayout getContentPane().setLayout(new GridLayout(3,2,5,5)); getContentPane().add(new JButton("Botn 1")); getContentPane().add(new JButton("Botn 2")); getContentPane().add(new JButton("Botn 3")); getContentPane().add(new JButton("Botn 4")); getContentPane().add(new JButton("Botn 5")); getContentPane().add(new JButton("Botn 6")); setSize(300,200); }ElGridBagLayoutes de los layouts ms verstiles y complejos de usar. Es como elGridLayout, pone los componentes en forma de matriz (cuadrcula), pero permite que las celdas y los componentes en ellas tengan tamaos variados.Es posible hacer que un componente ocupe varias celdasUn componente puede estirarse o no con su celdaSi no se estira, puede quedar en el centro de la celda o pegarse a sus bordes o esquinas.Las columnas pueden ensancharse o no al estirar la ventana y la proporcin podemos decidirla.Lo mismo con la filas.

GRIDBAGLAYOUTGridBagLayout gridbag = new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); setLayout(gridbag); // Create the component JButton button = new JButton("Button");

constraints.fill = GridBagConstraints.BOTH; constraints.gridheight = 2; constraints.weighty = 1.0; add(button, constraints);

Es como unFlowLayout, pero mucho ms completo. Permite colocar los elementos en horizontal o vertical.Muestra los componentes en una nica fila o columna.Su constructor necesita un argumento con el contenedor a utilizar y la orientacin determinada por las constantes BoxLayout.X_AXIS o BoxLayout.Y_AXIS. BoxLayout(Container destino, int orientacin).Precisa la creacin de un objeto de la clase Container para su utilizacin como contenedor.Normalmente ser un objeto de la clase JPanel.Existe un contenedor que tiene como gestor de posicionamiento un BoxLayout: la clase Box.Box permite aadir separaciones entre los componentes aadiendo puntales (Strut), zonas rgidas (RigidArea) y pegamento (Glue).BOXLAYOUTPuntal (Strut): zona invisible de un alto o ancho fijo para separar dos componentes. Box.createHorizontalStrut(int ancho)Box.createVerticalStrut(int alto)

Zona rgida (RigidArea): proporciona un rea invisible de separacin horizontal y vertical.En una caja horizontal, la separacin vertical afectar a todos sus componentes y viceversa.Box.createRigidArea(Dimension dim)Precisa de la creacin de un objeto Dimension (new Dimension(alto,ancho)).

Glue: zona invisible que alinea los siguientes controles con el borde derecho o inferior. Box.createGlue()

PruebasFrame(){ setTitle("JFrame de pruebas"); //Para un BoxLayout con un objeto Box Box caja = Box.createVerticalBox(); caja.add(new JButton("Botn 1")); caja.add(Box.createVerticalStrut(20)); caja.add(new JButton("Botn 2")); caja.add(new JButton("Botn 3")); caja.add(Box.createRigidArea(new Dimension(50,30))); caja.add(new JButton("Botn 4")); caja.add(Box.createGlue());caja.add(new JButton("Botn 5")); setContentPane(caja);setSize(300,200); }CARDLAYOUTElCardLayouthace que los componente recibidos ocupen el mximo espacio posible, superponiendo unos a otros. Slo es visible uno de los componentes, los otros quedan detrs. Tiene mtodos para indicar cual de los componentes es el que debe quedar encima y verse.ElCardLayoutes el que utiliza elJTabbedPanede forma que en funcin de la pestaa que pinchemos, se ve uno u otro.

panelLogin = new JPanel(new GridLayout(2,1));panelData = new JPanel(2,2);//Panel de captura de datospanelData = new JPanel(new GridLayout(2,2));panelData.add(this.lblUser);panelData.add(this.txtFldUser);panelData.add(this.lblPasswd);panelData.add(this.txtFldPasswd);panelData.setBorder(new EmptyBorder(10,10,10,10));//Panel para los botonesthis.panelBtns = new JPanel();this.panelBtns.add(this.btnOk,BoxLayout.X_AXIS);this.panelBtns.add(this.btnPasswd,BoxLayout.X_AXIS);//Panel de logeopanelLogin.add(panelData);panelLogin.add(panelBtns);

GROUPLAYOUTEs mas complicadoEsta hecho para ser utilizado desde un GUI, aunque tambin puede utilizarse manualmenteInternamente tiene dos organizaciones: vertical y horizontalCada elemento tiene que configurarse dos veces.

SPINGLAYOUTEs un poco menos complicado que el groupLayout.Tambin esta hecho para ser utilizado desde un GUI.Permite alinear un conjunto de controles en base a patrones, a distancias adecuadas para la visin.


Recommended