Ajouter un commentaire

Niroken

Hello,

Je n'ai pas trop compris ton problème avec ton exemple de code très épuré :D

Ceci dit je te donne un exemple minimaliste qui ajoute un JInternalFrame dans le fenêtre principale.

package graphic;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;

public class JInternalFrameViewer extends JFrame implements ActionListener { 
		
	private static final long serialVersionUID = 1L;
		    
	JPanel mJInternalFrameController = new JPanel();
	JButton mButtonAddJInternalFrame = new JButton("Ajout");
	
	JPanel mJInternalFrameContainer = new JPanel();
			
	static final int sJInternalFrameViewerWidth = 850;
	static final int sJInternalFrameViewerHeigth = 527;
	
	static final int sJInternalFrameContainerWidth = 600;
	static final int sJInternalFrameContainerHeigth = 500;
	
	static final int sJInternalFrameControllerWidth = 250;
	static final int sJInternalFrameControllerHeigth = 500;
	
	public JInternalFrameViewer() {
	   setTitle("JInternalFrameViewer"); 
	   
	   setLayout(null);
	   setBounds(0, 0, sJInternalFrameViewerWidth, sJInternalFrameViewerHeigth);
	   
	   /** */
	   mJInternalFrameContainer.setLayout(null);
	   mJInternalFrameContainer.setBorder(BorderFactory.createLineBorder(Color.black));
	   mJInternalFrameContainer.setBounds(0, 0, sJInternalFrameContainerWidth, sJInternalFrameContainerHeigth);
	   mJInternalFrameController.setBounds(sJInternalFrameContainerWidth, 0, sJInternalFrameControllerWidth, sJInternalFrameControllerHeigth);
	   mJInternalFrameController.setBorder(BorderFactory.createLineBorder(Color.black));
	   
	   /** */
	   mButtonAddJInternalFrame.addActionListener(this);
	   
	   /** */
	   JInternalFrame vJInternalFrame = new JInternalFrame();
	   vJInternalFrame.setBackground(Color.blue);
	   vJInternalFrame.setBounds(0, 0, 200, 200);
	   vJInternalFrame.setVisible(true);
	   
	   /** */
	   mJInternalFrameContainer.add(vJInternalFrame);
	   mJInternalFrameController.add(mButtonAddJInternalFrame);
	   
	   add(mJInternalFrameContainer);
	   add(mJInternalFrameController);
	   
	   setVisible(true);
	   setResizable(false);
	   setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	}

    public void actionPerformed(ActionEvent pE) {
        JInternalFrame vJInternalFrame = new JInternalFrame();
        vJInternalFrame.setBounds(300, 50, 200, 200);
        vJInternalFrame.setVisible(true);
        vJInternalFrame.setBackground(Color.green);
        mJInternalFrameContainer.add(vJInternalFrame);
    }
		
} 

Et la classe main pour le lancer :

import graphic.JInternalFrameViewer;


public class Program {

    /**
     * @param args
     */
    public static void main(String[] args) {
        new JInternalFrameViewer();
    }

}

Bonne chance,
Niroken

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 PPPP   H  H  K  K  X   X  III 
P P H H K K X X I
PPPP HHHH KK X I
P H H K K X X I
P H H K K X X III