Viruz Blog
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Uso de contenedor JTabbedPane

Ir abajo

Uso de contenedor JTabbedPane Empty Uso de contenedor JTabbedPane

Mensaje  Admin (Viruz) Sáb Oct 13, 2012 7:30 pm

Que tal amigos de Viruz Blog espero se encuentren muy bien estuve recordando algunos ejercicios en Java con mis primeros programas y me encontré con este que hoy les quiero compartir se trata de una ventana con otro tipo de contenedor llamado "JTabbedPane".

JTabbedPane es un componente que permite al usuario cambiar entre un grupo de componentes, haga clic en una pestaña con un título y / o un icono.
Imágenes
[Tienes que estar registrado y conectado para ver este vínculo]

¿Como funciona el Programa?

  1. Declaramos en una ventana un objeto de la clase JTabbedPane, y demás componentes que se vayan a utilizar.
  2. Mediante el método construirPaneles() indicaremos las características de cada de las pestañas que crearemos y dependiendo de los paneles que quiera uno serán los ciclos For() que se crearán.
  3. Con el método addTab() se agregan los paneles al JTabbedPane.
  4. Por último se agrega al contenedor el JTabbedPane con los paneles correspondientes.

Código

Clase Main
01 public class Main {
02 public static void main(String [] args){
03 JTabbedPaneGUI p = new JTabbedPaneGUI();
04 p.setVisible(true);
05 p.setLocationRelativeTo(null);
06 }
07 }

Clase JTabbedPaneGUI

01 import java.awt.BorderLayout;
02 import java.awt.Color;
03 import java.awt.Container;
04 import java.awt.GridLayout;
05 import javax.swing.*;
06 import javax.swing.border.Border;
07 import javax.swing.border.TitledBorder;
08
09 public class JTabbedPaneGUI extends JFrame{
10 JTabbedPane pVista; // Panel con vistas
11 JPanel [] paneles; // Paneles para vistas
12 Container c; // Contenedor
13 JButton b1; // Un botón
14 JToggleButton b2; // Un botón de palanca o interruptor
15 JSlider s1; // Barra deslizable
16 JSlider s2;
17 JList lista1; // Lista de objetos
18 JTable tabla1; // Una tabla
19
20 public JTabbedPaneGUI(){
21 super("Viruz Blog: Primer JTabbedPane");
22 setSize(450,450);
23 setBackground(Color.cyan);
24 c = getContentPane();
25 construirPaneles();
26 construirPanelConBotones();
27 construirPanelConBarras();
28 construirPanelConListas();
29 construirPanelConTablas();
30 }
31
32 private void construirPaneles(){
33 pVista = new JTabbedPane();
34 paneles = new JPanel[4];
35 String [] etiqueta = {"Botones","Barras","Listas","Tabla"};
36 String [] mensajes = {"Panel con Botones","Barras de control",
37 "Lista de Iconos","Una tabla"};
38 Border bordes[] = {BorderFactory.createMatteBorder(2, 3, 2, 3, Color.orange),
39 BorderFactory.createEmptyBorder(4, 3, 4, 3),
40 BorderFactory.createBevelBorder(6),
41 BorderFactory.createCompoundBorder(new TitledBorder (mensajes[3]),
42 BorderFactory.createRaisedBevelBorder())};
43
44 for(int i=0;i<4;i++){
45 paneles[i] = new JPanel();
46 paneles[i].setBackground(Color.lightGray);
47 paneles[i].setBorder(bordes[i]);
48 //paneles[i].setBorder(new TitledBorder(mensajes[i]));
49 //agrega El Panel con vistas (etiquetas,iconos,Panel,mensaje en cada pestaña)
50 pVista.addTab(etiqueta[i], null, paneles[i], mensajes[i]);
51 }
52
53 for(int i=1;i<4;i++){
54 paneles[i].setBackground(Color.ORANGE);
55 paneles[i].setBorder(bordes[i]);
56 paneles[i].setBorder(new TitledBorder(mensajes[i]));
57 pVista.addTab(etiqueta[i],null,paneles[i],mensajes[i]);
58 }
59
60 for(int i=2;i<4;i++){
61 paneles[i].setBackground(Color.red);
62 paneles[i].setBorder(bordes[i]);
63 paneles[i].setBorder(new TitledBorder (mensajes[i]));
64 pVista.addTab(etiqueta[i],null,paneles[i],mensajes[i]);
65 }
66
67 for(int i=3;i<4;i++){
68 paneles[i].setBackground(Color.GREEN);
69 paneles[i].setBorder(bordes[i]);
70 paneles[i].setBorder(new TitledBorder(mensajes[i]));
71 pVista.addTab(etiqueta[i],null,paneles[i],mensajes[i]);
72 }
73
74 c.add(pVista,"Center");
75 }
76
77 private void construirPanelConBotones(){
78 b1 = new JButton("Imprimir",new ImageIcon("24.gif"));
79 b2 = new JToggleButton("Otro botón");
80 paneles[0].setLayout(new BorderLayout());
81 paneles[0].add(b1,BorderLayout.NORTH);
82 paneles[0].add(b2,BorderLayout.SOUTH);
83 }
84
85 private void construirPanelConBarras(){
86 s1 = new JSlider(JSlider.VERTICAL, 0,100,50);
87 s1.setMajorTickSpacing(10);
88 s1.setMinorTickSpacing(5);
89 s1.setPaintTicks(true);
90
91 s2 = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);
92 s2.setMajorTickSpacing(10);
93 s2.setMinorTickSpacing(5);
94 s2.setPaintTicks(true);
95
96 paneles[1].setLayout(new GridLayout(3,3,5,5));
97 paneles[1].add(new JLabel("Barra deslizante vertical"));
98 paneles[1].add(s1);
99 paneles[1].add(new JLabel("Barra deslizante horizontal"));
100 paneles[1].add(s2);
101 }
102
103 private void construirPanelConListas(){
104 ImageIcon [] imagenes = {new ImageIcon("leaf1.gif"),
105 new ImageIcon("24.gif"),
106 new ImageIcon("leaf3.gif")};
107 lista1 = new JList(imagenes);
108 paneles[2].add(lista1);
109 }
110
111 private void construirPanelConTablas(){
112 String titulos[] = {"Num. de Control","Nombre","Carrera"};
113 Object celdas[][] = { titulos,
114 {"3456","Pedro Perez", "Sistemas"},
115 {"1243","Luisa López", "Industrial"},
116 {"2312","Carlos Cruz", "Mecanica"},
117 };
118
119 tabla1 = new JTable(celdas,titulos);
120 paneles[3].add(tabla1);
121 }
122 }


Descarga el Código
Uso de JTabbedPane
Autor: Viruz study
Enlace: Contenedor JTabbedPane en Java
Admin (Viruz)
Admin (Viruz)
Admin

Mensajes : 148
Fecha de inscripción : 23/09/2012
Edad : 36
Localización : Desktop

https://viruz.foroactivo.mx

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.