public interface VilleSite {
public void hameaucommune();
}
public abstract class Site {
protected Affectation affectation = new Restauration();
protected VilleSite villesite = new PontEtoile();
public Site(){}
public Site(Affectation affectation, VilleSite villesite){
this.affectation = affectation;
this.villesite = villesite;
}
public void referencement(){
affectation.alimentaire();
}
public void hameaudanslacommune(){
villesite.hameaucommune();
}
abstract void libelleSite();
public void setAffectation(Affectation affectation)
{
this.affectation = affectation;
}
}
public class Restauration implements Affectation{
public void alimentaire(){
System.out.println("Restauration");
}
}
public class PontEtoile implements VilleSite {
public void hameaucommune(){
System.out.println("Pont de l'etoile");
}
}
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Fenetre fen = new Fenetre();
}
}
public class Lola extends Site {
public Lola(){
this.affectation = new Restauration();
this.villesite = new PontEtoile();
}
public Lola(Affectation affectation, VilleSite villesite){
super(affectation, villesite);
}
public void libelleSite(){
System.out.println("Association de loisir - reference 28/08/15");
}
}
public class PontEtoile implements VilleSite {
public void hameaucommune(){
System.out.println("Pont de l'etoile");
}
}
Bonjour les zéros, mon probleme est le suivant le programme marche bien , mon souci c'est que je n'arrive pas a la mettre dans la fenetre java, je remercie votre eventuelle aide, je remercie un internaute qui m'a aide hier mais dans ce cas precis avec des this je suis incapable de le faire fonctionner dans une fenetre java, bien entendu je recherche toujours la solution mais si vous pouvez solutionner merci d'avance . je viens de modifier la fenetre par contre la un element du tableau s'affiche sur la fenetre mais pas les donnees desirees ce qui m'intéressent c'est s.referecement et s.hameaudanslacommune.
a quoi bon une fenetre java si on n'arrive pas a afficher un resutlat???? exemple dans la classe fenetre ou il y'a public void paint, toujours à la recherche mais je tourne en rond.... une aide ? , ci joint le resultat que je veux afficher
Salut! Je ne comprends pas bien ce que tu veux faire Tu veux afficher en mode graphique quelque chose que tu as en console? Que veux-tu afficher? Comment?
bonjour triterium, j'essaye d'etre le plus clair j'ai realise le programme que tu as vu affiche, il s'affiche en console tres bien, mais je voudrais qu'il s'affiche en mode graphique, en fait comme un logiciel tu appuie sur un bouton il t'affiche le resultat dans la fenentre s , j'ai essayé g.drawString il 'affiche un texte, mais pas le resultat, j'en perd mon latin , cela me bloque pour plus tard tu comprends ? merci d'avance
Essaye de voir comment utiliser swing, j'ai l'impression que tu ne maitrise pas tout
Commence par voir comment ajouter un JLabel à une JFrame, puis vois comment ajouter un JButton à une JFrame, puis vois comment utiliser un ActionListener sur ton JButton. Commence par un petit projet où tu écris juste "bonjour" dans un JLabel. A partir de la, essaye d'ajouter un bouton en plus. etc. J'ai l'impression que tu vas trop vite dans ton apprentissage!
justement j'attendez de finir le livre apprenez a programmer en java et tous les exemples avaient réussis, je m'appui sur le chapitre 21 "le fil rouge une animation" car il lance une animation dans cette fenetre, mais pour afficher un resultat basic autre qu'animation ???? aucun exemple concret concernant ce que je veux comme si cela n'existait pas en tout ca cela fait une semaine que je me bute ca me gave.... bon...
Pour afficher un résultat simple c'est à dire "quand je clique sur un bouton ça fait apparaitre un texte", tu mets un bouton dans ta JFrame, tu lui mets un ActionListener, et dans cet ActionListener tu lui dis d'ajouter un JLabel avec le texte que tu veux.
Si tu ne comprends pas comment faire, alors c'est que tu n'es pas allé assez loin dans l'apprentissage (note que je peux t'aider, mais c'est genre le plus basique exemple de GUI sur java ^^)
Juste un petit truc : dans le fil rouge, il crée son propre panel et définit donc paintComponent, et affiche avec le contexte graphique et drawstring une chaine de caractère (et après, d'autres trucs en plus). Pour faire ce que tu souhaites, pas besoin de tout cela.
Je t'ai fais un petit exemple, basique, qui est simplement composé d'une fenêtre avec un bouton qui, quand on clique dessus, incrémente un compteur à l'écran (et en plus, j'ai tout commenté ^^) :
public class Swing {
private static int counter = 0;
public static void main(String[] args) {
// on crée la fenêtre en lui donnant un titre
JFrame frame = new JFrame("Swing example");
// on crée un label qui servira à afficher le texte
JLabel label = new JLabel("Counter : ");
// on crée un bouton pour faire une action
JButton button = new JButton("Increment the counter");
// on définit l'action suivant un clic
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// on incrémente le compteur
counter++;
// on actualise le texte de notre label
label.setText("Counter : " + counter);
}
});
// on ajoute à la fenêtre le bouton, en haut
frame.getContentPane().add(button, BorderLayout.NORTH);
// on ajoute à la fenêtre le label, en bas
frame.getContentPane().add(label, BorderLayout.SOUTH);
// si on clique sur la croix, alors on quitte le programme
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// la fenêtre sera centrée à l'écran
frame.setLocationRelativeTo(null);
// on définit la taille de la fenêtre en fonction de ses composants
// (bouton et label)
frame.pack();
// on affiche la fenêtre
frame.setVisible(true);
}
}
triterium, arowbaw j'ai etudie la page 309 exemple de arowbaw ca marche tres bien pour le compteur, mais pas pour mon projet, je repete pour l'affiche de texte simple ca marche, pour l'affichage d'un resultat que vous voyez là , cela marche uniquement dans la console et pas dans la fenetre , c'est pourtant une operation que je pensais simple !, je n'ai pas de solution
Lol, c'est la même question que ton dernier sujet non ? Je t'explique :
System.out.println("Mon Texte");
ça affiche dans ta console, il faut créer un String en attribut de ta classe et tu fait monString = "Mon Texte"; et tu utilise un getter après avoir appelé cette classe...
class Maclasse{
private String s;//ton string
private static int entier = 1;
public Maclasse(){
s="Troll";
s+=" n°"+entier;
}
public String getmessage(){
entier++;
System.out.println(s);
return s;
}
}
public class Fenetre extends JFrame{
private JPanel p = new JPanel();//ton panel
private JLabel LabTab[] = {new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()};//un tableau contenant les JLabel et j'en met 10
private int posy = 0;
private int labsize = 15;//taille du texte
public Fenetre(){
setSize(1000,800);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setContentPane(p);
p.setLayout(null);//pour positionner les Labels où l'on veut
for(JLabel l : LabTab){//on lit le tableau et on s'occupe du texte contenu dans les Labels
String s = new Maclasse().getmessage();
l = new JLabel(s);
l.setFont(new Font(Font.DIALOG,Font.BOLD,labsize));
l.setForeground(Color.RED);
p.add(l);
sauterligne(l);
}
}
private void sauterligne(JLabel l){
l.setBounds(200,posy,1920,labsize); //on positionne le label, (x,y,longueur max x, hauteur max y)
posy+=100;
}
public static void main(String[] args) {
new Fenetre();
}
}
je t'ai montré comment faire, là ton résultat est sur la fenêtre et sur la console ça te va ? Donc tu procède comme ça dans ton code !
oui, fikoukorki c'est la meme question mais pas avec les memes variables lol, j'essaye de decrypter ton code et le juxtaposé au mien, je te garanti que depuis une dizaine de jour je bouillone.
Pourtant c'est pas compliqué, dis toi seulement que ton code a un ordre et que si tu dis pas tout dans ton code bah ton programme il fera pas tout quoi... demande moi ce que tu comprends pas dans ce code ! Car là, j'ai l'impression que ta pas compris les méthodes... et que comme ta pas compris tu as copié/collé.
public class Fenetre extends JFrame{
private JPanel p = new JPanel();
private Site sit[] = {new Lola()};
public Fenetre(){
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setContentPane(p);
p.setLayout(null);
for(Site l: sit){
String s = new Calcul().getmessage();
l = new Site(s);
p.add(l);
}
}
}
oui fifourki, effectivement j'ai copie colle et apres adapte selon mes codes qui sont sur ce site, mais sa bloque pourtant le livre je l'ai lu et fait les exemples nickel mais la ca veut dire que j'ai rien compris, en tout cas je te remercie d'avoir essaye de m'aider. bon week end.
serait mieux (enfin si ça marche tu peux garder comme mais je sais pas si c'est utile et ça porte à confusion) et sur le code que tu viens de m'afficher à l'instant je ne vois pas dans ton code de classe Calcul :
Quand tu invoque une classe par exemple :
class Maclasse(){
private int a = 0;
public Maclasse(int a){
this.a = a;
//a passe de 0 à 20
}
//méthode :
public void augmente(){
a+=10;//a augmente de 10
}
public int reprendre(){//on change void par int car on rend un entier
return a;
}
}
//puis dans main ou dans ton code
MaClasse m = new Maclasse(20);
m.augmente();//a = 30
m.augmente();//a = 40
System.out.println(m.reprendre());//là dans ta console tu as 40
JLabel l = new JLabel(m.reprendre());//ton label à comme texte 40
Si tu veux juste écrire
augmente(m);
}
private void augmente(MaClasse mo){//private car c'est une fonction aucune autres classe l'utilise
mo.augmente();
}
Essaye de comprendre lol Bonne chance !
ps : avant de voir les classe abstraites et interfaces, essaye d'apprendre à utiliser une classe normale ! et fait une recherche sur le forum sur this car là tu l'utilise quand y'en a pas besoin...
j'ai utilisé les interfaces c'était les exemples du livres, et je me suis dit pourquoi on arrive pas a mettre le résultat dans une fenetre. Je regrette que le livre n'aborde pas le sujet de cet affichage puisque il évoque celui de l'animation et qui marche je l'ai testé lol .Le probleme n'est pas réglé, et loin de là, bon week end à tous je ferme le sujet, merci à tous en tous cas
faire communiquer la console vers la fenetre Java
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
oui fifourki, effectivement j'ai copie colle et apres adapte selon mes codes qui sont sur ce site, mais sa bloque pourtant le livre je l'ai lu et fait les exemples nickel mais la ca veut dire que j'ai rien compris, en tout cas je te remercie d'avoir essaye de m'aider. bon week end.