probleme d'implementation Scrollbar ou scrollpane

Résolu
cs_Escap Messages postés 12 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 11 février 2011 - 5 oct. 2006 à 17:19
cs_Escap Messages postés 12 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 11 février 2011 - 6 oct. 2006 à 15:59
Bonjour,

j'ai beaucoup de difficulté a implementer un scrollbar ou scrollpane, dans mon application il y a une

guillotinePanel

= guillotineFrame.getContentPane();

guillotinePanel.setLayout(
new BoxLayout(
guillotinePanel, BoxLayout.
X_AXIS));

puis plus loin ...

panelCourant.add(imageCarteLable);  //  * x

guillotinePanel.add(panelCourant);

Le probleme c'est le taille des x imageCarteLable dépasse la capicité de l'ecran et que je n'arrive pas a correctement creé un scrollbar ou scrollpane

merci d'avance pour votre aide

8 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
6 oct. 2006 à 10:20
Salut,

ha bon ????? c'est pas plutot 'interface' qui est reservé et non 'Interface' ....

bref tiens un petit code d'exemple apres c'est a toi de l'adapter pour le mettre dans ton application

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

public class Test extends JFrame {
    private static final long serialVersionUID = 1802199483736051124L;

    public static void main(String[] args) {
        new Test().setVisible(true);
    }

    public Test() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(800, 600);
        setLocationRelativeTo(null);
        JPanel contentPane = (JPanel) getContentPane();
        JPanel currentPane = new JPanel();
        currentPane.setLayout(new BoxLayout(currentPane, BoxLayout.X_AXIS));
        ImageIcon imageCarte = new ImageIcon("fond1.png");
        final JLabel imageCarteLable = new JLabel(imageCarte);
        // juste pour mettre un truc
        imageCarteLable.setName(imageCarte.getDescription());

        imageCarteLable.addMouseListener(new MouseAdapter() {
            private boolean over = false;
            public void mouseClicked(MouseEvent e) {
                System.out.println("Carte selectionner: " + imageCarteLable.getName());
                if (over) {
                    imageCarteLable.setEnabled(true);
                    over = false;
                }
                else {
                    imageCarteLable.setEnabled(false);
                    over = true;
                }
            }
        });
        currentPane.add(new JScrollPane(imageCarteLable));
        contentPane.add(currentPane);
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 oct. 2006 à 17:49
Salut,

une solution serait de passer par un JLabel exemple :

JLabel imageCarteLabel
= new JLabel(new ImageIcon("image.png"));
panelCourant.add(new JScrollPane(imageCarteLabel));

après je ne sais pas trop ce que cela donne avec un BoxLayout

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
cs_Escap Messages postés 12 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 11 février 2011
5 oct. 2006 à 21:23
En faite c'est déjà le cas il faut s'imaginer une suite de carte jouer, les une à coté des autres...

le probléme c'est que je dois en aligner 12, et que celà est rendu impossible vue la taille de ces images(pour garder une certaine visibilié je ne peux pas les reduire)
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 oct. 2006 à 21:49
Salut,

donne un peu plus d'info et de codes histoire de comprendre ce qui ne va pas

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0

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

Posez votre question
cs_Escap Messages postés 12 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 11 février 2011
5 oct. 2006 à 22:02
D'accord c'est vrai que cela est un peu vague en tout cas merci d'avance :




public








class

Interface


implements

MouseListener {



private

Container

guillotinePanel
;



private

Vector<JPanel>

CarteFiledattenteIconPanel
;



public

Interface(JFrame guillotineFrame) {


guillotinePanel
= guillotineFrame.getContentPane();


guillotinePanel
.setLayout(


new

BoxLayout(

guillotinePanel
,BoxLayout.



X_AXIS

));

creeCarteFiledattente();

creeTrophee();

creeCarteAction();

}



private





void

creeCarteFiledattente() {

Iterator itFiledattente = C_Guillotine.getFiledattente().iterator();


CarteFiledattenteIconPanel
=


new

Vector<JPanel>();



while

(itFiledattente.hasNext()) {itFiledattente.next();


CarteFiledattenteIconPanel
.add(


new

JPanel());}

Iterator itPanel =


CarteFiledattenteIconPanel
.iterator();itFiledattente = C_Guillotine.getFiledattente().iterator();



while

(itFiledattente.hasNext()) {CarteNoble carteFiledattente = (CarteNoble) itFiledattente.next();

JPanel panelCourant = (JPanel) itPanel.next();

panelCourant

.setLayout(



new

BoxLayout(panelCourant, BoxLayout.


X_AXIS

));

ImageIcon imageCarte = carteFiledattente.getIcon(ClassLoader

. getSystemResource (carteFiledattente.getURL()));



final

JLabel imageCarteLable =


new

JLabel(imageCarte,SwingConstants.



CENTER

);

imageCarteLable.setName(carteFiledattente.getNom());

imageCarteLable.addMouseListener(



new

MouseAdapter() {



private





boolean




over
=


false

;



public





void

mouseClicked(MouseEvent e) {System.



out

.println(

"Carte selectionner: "

+ imageCarteLable.getName());








if

(

over
) {imageCarteLable.setEnabled(


true

);

over
=


false

;}



else

{imageCarteLable.setEnabled(


false

);

over
=


true

;}}

});

panelCourant.add(imageCarteLable);


guillotinePanel
.add(panelCourant);

}

}


 
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
6 oct. 2006 à 08:42
bonjour, le mot "Interface" est un mot réservé en java. donc commences par changer le nom de ta classe.
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
6 oct. 2006 à 13:25
tu as raison twinuts. j'ai sortie une anerie ce matin. c'est bien "interface". j'ai regardé seulement regardé le titre de la page de la javadoc.
0
cs_Escap Messages postés 12 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 11 février 2011
6 oct. 2006 à 15:59
Ok merci à tous.
0
Rejoignez-nous