J'ai une applet Java pour dessiner un tableau (juste un rectangle l'un après l'autre).Comment changer la taille des graphiques
Lorsque l'utilisateur sélectionne pour créer un tableau de taille n
, il dessine des rectangles n
connectés ensemble. Quand n
devient plus grand, les graphiques deviennent plus grands, mais puisque j'utilise JPanel
pour dessiner le tableau, et JPanel
ne défilera pas, je dois ajouter ce JPanel
dans un JScrollPane
, mais toujours il ne défilera pas. L'utilisateur ne peut voir qu'une partie du tableau entier.
Quelqu'un peut-il m'aider?
Voici mon code:
public class ArrayPanel extends JPanel {
....
public void paintComponent(Graphics g) {
...draw array here..
// I wish to get the updated size of the graphis here,
// then i can reset the preferredSize()....?
System.out.println("width=" + getWidth() + " height=" + getHeight());
}
}
public class ArrayDemo extends JPanel {
public ArrayDemo() {
super(new BorderLayout());
arrayPanel = new ArrayPanel();
arrayPanel.setPreferredSize(new Dimension(400, 300));
JScrollPane container = new JScrollPane(arrayPanel,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
container.setPreferredSize(arrayPanel.getPreferredSize());
add(container, BorderLayout.CENTER);
...
}
}
@ohana: J'ai reformaté votre question pour une meilleure lisibilité, et votre code fourni pour éviter le défilement. N'hésitez pas à annuler mes modifications si vous n'êtes pas d'accord. –