Bueno te cuento...
VentanaPrincipal es JFRAME es la ventana principal.
En la ventana principal se alojan 3 JInternalFrames, Izquierdo, Superior y central.
Ahí va el código:
VENTANA PRINCIPAL (JFRAME): [CODE]public class VentanaPrincipal extends JFrame { private VentanaPrincipal vp; private PanelCentral pc; private PanelSuperior ps; private PanelIzquierdo pi; public VentanaPrincipal(){ this.setLayout(null); this.setTitle("VENTANA PRINCIPAL"); this.setResizable(true); this.setBounds(0, 0, 1024, 768); this.setLocationRelativeTo(null); vp=this; /******** PANEL CENTRAL *******************/ pc = new PanelCentral(); /******** PANEL SUPERIOR *******************/ ps = new PanelSuperior(this, pc); /******** PANEL IZQUIERDO *******************/ pi = new PanelIzquierdo(this,ps,pc); ps.setPanelIzquierdo(pi); /******** AÑADIR A LA VENTANA *******************/ add(pi); add(pc); add(ps); /******** ESCUCHADOR CUANDO CAMBIAMOS TAMAÑO DE VENTANA PRINCIPAL *******************/ this.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { pi.setBounds(0, 30, 200, vp.getHeight()-72); pc.setBounds(pi.getWidth(),ps.getHeight()+30,vp.getWidth()-pi.getWidth()-18,vp.getHeight()-ps.getHeight()-72); ps.setBounds(pi.getWidth(),30,vp.getWidth()-pi.getWidth()-18,vp.getHeight()-pc.getHeight()-70); } }); } public static String getFechaActual() { Date ahora = new Date(); SimpleDateFormat formateador = new SimpleDateFormat("dd-MM-yyyy"); return formateador.format(ahora); } public static String getHoraActual() { Date ahora = new Date(); SimpleDateFormat formateador = new SimpleDateFormat("hh:mm:ss"); return formateador.format(ahora); } }[/CODE] PANEL CENTRAL: [CODE]public class PanelCentral extends JInternalFrame { private int x, y; private PanelCentral pc; private JScrollPane scrollPane; public PanelCentral(){ pc=this; this.setLayout(null); this.setTitle(null); this.setVisible(true); this.setClosable(false); this.setMaximizable(false); this.setResizable(false); } }[/CODE] PANEL SUPERIOR [CODE] public class PanelSuperior extends JInternalFrame implements ComponentListener { private PanelIzquierdo vpi; private VentanaPrincipal vvp; private PanelSuperior vps; private PanelCentral vpc; public PanelSuperior(VentanaPrincipal vp, PanelCentral vc){ vps=this; vvp=vp; vpc=vc; this.setLayout(null); this.setTitle(null); this.setVisible(true); this.setClosable(false); this.setMaximizable(false); this.setResizable(true); this.addComponentListener(this); this.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { vpc.setBounds(vpi.getWidth(),vps.getHeight()+30,vvp.getWidth()-vpi.getWidth()-18,vvp.getHeight()- vps.getHeight()-72); } }); } public void setPanelIzquierdo(PanelIzquierdo pi){ this.vpi=pi; } @Override public void componentHidden(ComponentEvent e) { // TODO Auto-generated method stub } @Override public void componentMoved(ComponentEvent e) { vps.reshape(vpi.getWidth(), 30,vvp.getWidth()-vpi.getWidth()-18,vvp.getHeight()-vpc.getHeight()-70); } @Override public void componentResized(ComponentEvent e) { // TODO Auto-generated method stub } @Override public void componentShown(ComponentEvent e) { // TODO Auto-generated method stub } } [/CODE] PANEL IZQUIERDO [CODE]public class PanelIzquierdo extends JInternalFrame implements ComponentListener , MouseListener{ private PanelIzquierdo pi; private VentanaPrincipal vvp; private PanelSuperior vps; private PanelCentral vpc; private JTree tree; public PanelIzquierdo(VentanaPrincipal vp, PanelSuperior vs, PanelCentral vc){ //this.setLayout(null); this.setBounds(0,30,200,768); this.setVisible(true); this.setClosable(false); this.setMaximizable(false); this.setResizable(true); this.setTitle("Navegador"); pi=this; vvp=vp; vps=vs; vpc=vc; this.addComponentListener(this); this.addMouseListener(this); crearJTREE(); this.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { vpc.setBounds(pi.getWidth(),260,vvp.getWidth()-pi.getWidth()-18,vvp.getHeight()-302); vps.setBounds(pi.getWidth(),30,vvp.getWidth()-pi.getWidth()-18,vvp.getHeight()-vpc.getHeight()-70); tree.setBounds(0, 0, pi.getWidth(), pi.getHeight()); } }); } @Override public void componentHidden(ComponentEvent e) { // TODO Auto-generated method stub } @Override public void componentMoved(ComponentEvent e) { pi.reshape(0, 30, 200, vvp.getHeight()-72); } @Override public void componentResized(ComponentEvent e) { // TODO Auto-generated method stub } @Override public void componentShown(ComponentEvent e) { // TODO Auto-generated method stub } public void crearJTREE(){ DefaultMutableTreeNode Sistema = new DefaultMutableTreeNode("Sistema"); DefaultMutableTreeNode hijos = new DefaultMutableTreeNode("hijos"); DefaultTreeModel modelo = new DefaultTreeModel(Sistema); tree = new JTree(modelo); tree.setBounds(0, 0, pi.getWidth(), pi.getHeight()); DefaultMutableTreeNode Medicos = new DefaultMutableTreeNode("Medicos"); DefaultMutableTreeNode Otros = new DefaultMutableTreeNode("Otros"); DefaultMutableTreeNode Altas=new DefaultMutableTreeNode("Altas"); DefaultMutableTreeNode Bajas=new DefaultMutableTreeNode("Bajas"); DefaultMutableTreeNode Quirofano = new DefaultMutableTreeNode("Quirofano"); DefaultMutableTreeNode Otros2=new DefaultMutableTreeNode("Otros 2"); modelo.insertNodeInto(Medicos,Sistema,0); modelo.insertNodeInto(Otros, Sistema, 1); modelo.insertNodeInto(Otros2, Sistema, 2); modelo.insertNodeInto(Altas, Medicos, 0); modelo.insertNodeInto(Bajas, Medicos, 1); modelo.insertNodeInto(Quirofano, Medicos, 2); add(tree); } @Override public void mouseClicked(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } }[/CODE]
Bueno llamariamos desde main a VentanaPrincipal.
La estructura queda así:
Un saludo.
Hola, disculpa tengo una duda, como lo mandamos a llamar desde main?
ResponderEliminar