OVH Cloud OVH Cloud

fenetre qui ne s'affiche pas (2e version)

2 réponses
Avatar
jef
bonjour

je voudrais qu'une fenetre s'affiche et affiche un rectangle dans le
"BorderLayout.CENTER"
j'ai modifié ma classe, mais maintenant, je n'arrive plus à compiler
jbuilder ne trouve pas window1

voici ma classe Programme

package test08;
import java.awt.*;
import javax.swing.*;

public class Programme extends JFrame
{
JPanel jPanelPrincipal = new JPanel();
BorderLayout borderLayoutPanelPrincipal = new BorderLayout();
JTextArea jTextArea1 = new JTextArea();

public Programme()
{
super(" Mon programme");
Toolkit t = this.getToolkit();
setSize(400,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jPanelPrincipal.setLayout(borderLayoutPanelPrincipal);
//jPanelPrincipal.add(jTextArea1, BorderLayout.CENTER);//ok

window1 = new window();// hs
add(window1, BorderLayout.CENTER); // hs

this.getContentPane().add(jPanelPrincipal);
setVisible(true);
pack();//show();
}

}
class window extends JPanel
{
public void paintComponent ( Graphics g )
{
super.paintComponent(g);
g.drawRect(10, 20, 30, 40);
};
}



et la classe Main

package test08;

import java.awt.*;
import javax.swing.*;
import java.text.*;
import java.lang.Object;

public class Main
{
public static void main(String[] args)
{
Programme prog = new Programme();
}
}


voila si quelqu'un a une idée sur ce que je dois modifier...
merci

jean francois

2 réponses

Avatar
David JOURAND
1 - window1 doit être déclarée : Window window1 = null;
2 - les Window ne doivent pas être ajoutées dans un JPanel ou autre
conteneur...
3 - remplacer cette window par un composant graphique adapté au besoin :
JPanel, ou autre...

--
David JOURAND
Avatar
Jocelyn
Juste une remarque.
Les conventions Java sont de donner aux classes
un nom commencant par une majuscule. Sinon ca risque d'etre
assez perturbant pour lire le code :)