Problème d'affichage

cs_f3nx
Messages postés
4
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
26 avril 2004
- 25 avril 2004 à 16:03
JBAware
Messages postés
174
Date d'inscription
lundi 23 septembre 2002
Statut
Membre
Dernière intervention
6 avril 2011
- 27 avril 2004 à 15:30
Bonjour,
je débute en Java et j'ai un problème avec mon application. En effet, j'ai 4 JButton et j'aimerais que quand on click sur l'un d'entre eux il apparaisse le JTextPane correspondant (en remplacent l'ancien sur le panel).
Voila ce que j'ai fais :

import java.awt.*;
import java.awt.event.*;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.*;

public class POPTest extends JPanel {

private JTextPane tPerso, tWorkg, tAutre, tCC;
private JButton bEnvoie, bPerso, bWorkg, bAutre, bCC;
private JScrollPane scrollAffichage;
private JFrame frame;

public POPTest() {

super(new GridBagLayout());

bEnvoie = new JButton("Envoie");
bEnvoie.addActionListener(new Action());

bPerso = new JButton("Perso");
bPerso.addActionListener(new Action());

bWorkg = new JButton("Workg");
bWorkg.addActionListener(new Action());

bAutre = new JButton("Autre");
bAutre.addActionListener(new Action());

bCC = new JButton("CC");
bCC.addActionListener(new Action());

tPerso = new JTextPane();
tPerso.setCaretPosition(0);
tPerso.setMargin(new Insets(5,5,5,5));
tPerso.setText("PERSO");
tPerso.setEditable(false);

scrollAffichage = new JScrollPane(tPerso,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

scrollAffichage.setPreferredSize(new Dimension(250,100));

CreateAndShow();
}

public void CreateAndShow() {

GridBagConstraints g = new GridBagConstraints();
g.fill = GridBagConstraints.BOTH;

g.weightx = 1 ;
g.weighty = 1 ;

g.gridx = 0;
g.gridy = 0;
add(bPerso,g);

g.gridx = 1;
g.gridy = 0;
add(bWorkg,g);

g.gridx = 2;
g.gridy = 0;
add(bAutre,g);

g.gridx = 3;
g.gridy = 0;
add(bCC,g); // fin de la ligne

g.weighty = 30;
g.weightx = 1;
g.gridx = 0;
g.gridy = 1;
g.ipady = 200;

g.gridwidth = GridBagConstraints.REMAINDER; // fin de la ligne
add(scrollAffichage,g);

}

class Action implements ActionListener {
public void actionPerformed(ActionEvent e) {

JButton source = (JButton)(e.getSource());

if(source.getText() == "Perso") Perso();
if(source.getText() == "Workg") Workg();
if(source.getText() == "Autre") Autre();
if(source.getText() == "CC") CC();
}

public void Perso() {
System.out.println("PERSO");
scrollAffichage = new JScrollPane(tPerso,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

CreateAndShow();

}

public void Workg() {
tWorkg = new JTextPane();
tWorkg.setCaretPosition(0);
tWorkg.setMargin(new Insets(5,5,5,5));
tWorkg.setText("WORKG");
tWorkg.setEditable(false);

System.out.println("WORKG");
scrollAffichage = new JScrollPane(tWorkg,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
CreateAndShow();

}

public void Autre() {
tAutre = new JTextPane();
tAutre.setCaretPosition(0);
tAutre.setMargin(new Insets(5,5,5,5));
tAutre.setText("AUTRE");
tAutre.setEditable(false);

System.out.println("AUTRE");
scrollAffichage = new JScrollPane(tAutre,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

CreateAndShow();
}

public void CC() {
tCC = new JTextPane();
tCC.setCaretPosition(0);
tCC.setMargin(new Insets(5,5,5,5));
tCC.setText("CC");
tCC.setEditable(false);

System.out.println("CC");
scrollAffichage = new JScrollPane(tCC,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

CreateAndShow();
}

}

public static void createAndShowGUI(){
JFrame.setDefaultLookAndFeelDecorated(false);
JFrame frame = new JFrame("Affichage POP TEST");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JComponent tP = new POPTest();
tP.setOpaque(true);
frame.getContentPane().add(tP,BorderLayout.CENTER);
frame.setContentPane(tP);

frame.pack();
frame.setVisible(true);

}


public static void main(String args[]){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}

5 réponses

JBAware
Messages postés
174
Date d'inscription
lundi 23 septembre 2002
Statut
Membre
Dernière intervention
6 avril 2011
1
26 avril 2004 à 10:39
8-) JB@WAre

que veux tu faire exactement :

remplacer un JTextPane par un autre ou modifier le texte qu'il contient????
0
cs_f3nx
Messages postés
4
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
26 avril 2004

26 avril 2004 à 16:43
En fait, j'essaye de faire un client winpopup. J aimerais classer les messages arrivant selon 3 sections : Perso, WorkGroup, Autre (CC étant une copie carbone des messages de l'utilisateur). Résultat, je voulais crée 4 JTextPane différents (un pour chaque sections), et quand l'utilisateur click sur le Boutton Perso, ca affiche le JTextPane Perso, sur le Button Autre ca affiche le JTextPane Autre etc....
Le problème c'est que je ne sais pas du tout comment fair pour en gros "reconstruire" mon interface avec le nouveau JTextPane. En plus vu que je débute, j suis franchement pas sur que ca soit la meilleure méthode donc si tu as des propositions y'a pas de pb.

FnX
0
JBAware
Messages postés
174
Date d'inscription
lundi 23 septembre 2002
Statut
Membre
Dernière intervention
6 avril 2011
1
26 avril 2004 à 17:26
8-) JB@WAre

A mon avis utilise un unique JTextPane et quatre String qui contiendront les données à afficher

ex :

[CODE]

JTextPane popUp = new JTextPane();
....
Button perso = ...
Button wg = ...
Button cc = ...
Button autre = ...

String sPerso = ...
String sWg = ...
String sCC = ...
String sAutre = ....

si je clique sur perso :
popUp.setText(sPerso);
popUp.repaint();

si je clique sur wg alors
popUp.setText(sWg);
popUp.repaint();

si je clique sur cc alors
popUp.setText(sCC);
popUp.repaint();

si je clique sur autre alors
popUp.setText(sAutre);
popUp.repaint();
0
cs_f3nx
Messages postés
4
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
26 avril 2004

26 avril 2004 à 18:10
Nikel !!!
Merci bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JBAware
Messages postés
174
Date d'inscription
lundi 23 septembre 2002
Statut
Membre
Dernière intervention
6 avril 2011
1
27 avril 2004 à 15:30
8-) JB@WAre

De rien content de t'avoir aidé
0