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
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.
Et la classe main pour le lancer :
Bonne chance,
Niroken