Ik ben al een hele tijd bezig om een JTextArea even groot te krijgen als de container (in dit geval een JScrollPane die weer in een JPanel zit) waar hij in zit. Maar dit wil maar niet lukken. Het is dus de bedoeling dat als ik het venster groter maak hij ook groter moet worden.
Ik maak mijn scrollpane als volgt aan:
JTextArea t = new JTextArea();
JScrollPane p = new JScrollPane(t);
dan zou het moeten werken.
[edit]
ik maak dus uit je verhaal op dat de scrollpane wel mee sized maar de textarea daarin niet? Als dit niet zo is (dus de scrollpane sized niet mee). Dan moet je de panel even een borderlayout geven, en dan die scrollPane op de center toevoegen.
JTextArea t = new JTextArea();
JScrollPane p = new JScrollPane(t);
dan zou het moeten werken.
[edit]
ik maak dus uit je verhaal op dat de scrollpane wel mee sized maar de textarea daarin niet? Als dit niet zo is (dus de scrollpane sized niet mee). Dan moet je de panel even een borderlayout geven, en dan die scrollPane op de center toevoegen.
Verwijderd
Ik neem dat je JBuilder gebruikt. Construeer je je JTextArea dmv de designer of dmv "hard-code"? In het laatste geval, lijkt het me beter dat je ff wat source post.
Euh, nee, ik doe het gewoon op de bikkel methode en codeer de gui helemaal zelfVerwijderd schreef op 06 oktober 2002 @ 22:28:
Ik neem dat je JBuilder gebruikt. Construeer je je JTextArea dmv de designer of dmv "hard-code"? In het laatste geval, lijkt het me beter dat je ff wat source post.
Hier dan een deel van de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| class ChannelTabbedPane extends JTabbedPane {
public ChannelTabbedPane(IrcClient ircClient) {
addTab("Server", new JScrollPane(New ServerViewPanel()));
}
}
public class ServerViewPanel extends JPanel {
JTextArea textArea;
public ServerViewPanel() {
textArea = new JTextArea();
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setEditable(false);
add(textArea);
}
} |
De JTabbedPane is net zo groot als het JFrame. De TextArea in ServerViewPanel moet daarin de maximale grootte aannemen.
Hmmzz.. jij stop die JTextArea eerst in een Panel (ServerViewPanel) en dan stop jij die panel weer in een JScrollPane
Volgens mij gaat er daar iets mis
En verder moet je ook op de juiste manier toevoegen aan die JPanel. Een JPanel heeft geloof ik default een BorderLayout, dus je moet ook op die manier toevoegen:
panel.add(new JScrollPane(textArea),BorderLayout.CENTER);
En verder moet je ook op de juiste manier toevoegen aan die JPanel. Een JPanel heeft geloof ik default een BorderLayout, dus je moet ook op die manier toevoegen:
panel.add(new JScrollPane(textArea),BorderLayout.CENTER);
Het probleem is dat je aan die TextArea alleen het aantal kolommen en rijen mee kunt geven...
Ok, maar wat heeft dat hier mee te maken? Als jij die JTextArea in een JScrollPane plaatst, en die ScrollPane plaatst je op de juiste manier in een JPanel, dan zal dus ScrollPane die hele JPanel opvullen, en de JTextArea de hele JScrollPane.
Iedeetjes:
jouJTextArea.setBounds(x,y,breedte,hoogte);
of
setLayout(null);
misschien heb je er wat aan...
jouJTextArea.setBounds(x,y,breedte,hoogte);
of
setLayout(null);
misschien heb je er wat aan...
Dat zijn niet zulke geweldige ideeenWindoos-vernieler schreef op 07 oktober 2002 @ 21:46:
Iedeetjes:
jouJTextArea.setBounds(x,y,breedte,hoogte);
of
setLayout(null);
misschien heb je er wat aan...
Hij moet gewoon even op een juiste manier code schrijven. Antwoord heb ik al gegeven.
Sorry, is altijd heel handig om layouts te gebruiken, en ik raad het je ook aan. ik heb 't alleen nooit aangeleerd, en merk nou dat dat heel lastig is (ik programmeer 't resizen er zelf in... hoop moeite voor nix)
Je bent niet de enigste hoorWindoos-vernieler schreef op 07 oktober 2002 @ 22:02:
Sorry, is altijd heel handig om layouts te gebruiken, en ik raad het je ook aan. ik heb 't alleen nooit aangeleerd, en merk nou dat dat heel lastig is (ik programmeer 't resizen er zelf in... hoop moeite voor nix)
Verwijderd
Zoals alarmnummer al zei, BorderLayout zorgt ervoor dat al je componenten de volledige ruimte gebruiken. Dan kun je op t contentpane dingen adden (south, west, north etc en andere posities.) volgens mij kun je nu geen x,y posities meer opgeven want de layout manager Borderlayout negeert deze (voor zo ver ik weet)
Leer werken met de GridBagLayout en je zweert er bij.
Pagina: 1