J'ai une question complexe je ne peux pas trouver une réponse n'importe où.Comment mettre en page un composant dans un panneau de défilement vertical uniquement?
est un exemple ici:
public static void main(final String[] args) {
final JFrame frame = new JFrame("test");
final JPanel bigPane = new JPanel(new GridLayout(0, 1));
frame.setContentPane(new JScrollPane(bigPane, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER));
bigPane.add(new JTextField("reterterter ertertrert erterter ert"));
bigPane.add(new JTextField(" ertertrert erterter ert"));
bigPane.add(new JTextField("reterterter ertertrert ert"));
bigPane.add(new JTextField("reterterter ertertrert erterter "));
frame.pack();
frame.setSize(frame.getSize().width/2, frame.getSize().height);
frame.setVisible(true);
}
Ici, clairement les champs de texte sont coupés. Plus précisément, bigPane est coupé. Mais je voudrais que les champs de texte soient redimensionnés au lieu de couper, donc nous pouvons toujours les utiliser. Comme la barre de défilement horizontale est interdite, je souhaite que la mise en page oublie la largeur préférée de la vue (bigPane) et force toujours la largeur de la vue à correspondre à la largeur de la fenêtre. Comme il n'y aurait pas de fenêtre virtuelle pour la direction horizontale, seulement dans la verticale.
Je ne trouve pas de solution à cela, et pas même un hack, si vous pouvez aider.
Nico.
PS: ressemble le code pour ViewportLayout ne contient pas de code pour cette
PS2: voici une casquette du résultat du code ci-dessus http://www.nraynaud.com/kilombo/testLayout.png voir le côté droit.
Que voulez-vous dire par "Je voudrais que le texte à l'intérieur des champs de texte soit coupé"? Voulez-vous limiter la longueur du texte? –
voici ce que je veux: http://www.nraynaud.com/kilombo/textcut.png (je l'ai fait en enlevant le scrollpane) voici ce que je reçois et ne veux pas: http: //www.nraynaud .com/kilombo/textfieldcut.png qui rend le champ de texte inutilisable. – nraynaud
Je ne comprends pas les votes négatifs sur l'une ou l'autre de ces réponses. Ils font tous les deux ce que tu veux. – banjollity