hi,
ich hab ein problem.. würd gerne wissen ob ich was falsch mache, das absicht oder gar ein bug von java ist?
ist vielleicht nicht das hübscheste, aber naja...
mein Problem:
[JAVA=12]
textArea.setLineWrap(true);
[/code]
wenn das auf true ist, und ich das fenster skaliere.. wenn ichs größer mache, ist alles wunderbar, allerdings wenn ichs kleiner mache, verkleinert sich die textarea nicht mit.
allerdings wenn man die zeile auskommentiert, und die drunterliegenden rein, dann funktioniert alles einwandfrei (nur wird eben nichts mehr gewrapt)..
um nochmal klar zu machen was ich meine:
beim beispiel mit setLineWrap(false) kommt klarerweise auch ein scrollbar, sobald es nich mehr genug platz ist (da es ja nich gewrapt wird), allerdings kommt der scrollbar erst wenn der text erreicht wird, nicht vorher
wenn man beim bsp mit setLineWrap(true) den text verkürzt, sodass er locker platz hat (also einfach ein paar "NoBlanks_" streichen), kommt der scrollbar sofort, schon weit bevor der text zu wenig platz haben sollte..
ich hoffe es ist klar was ich meine..
wie schon oben erwähnt - würds mich jetz interessiern ob ich einfach dumm bin und was falsch mache, obs nen workaround gibt, oder ob das einfach ein nicht (schön) behebbarer bug ist.
greetz
ps.: der workaround mit resize-listener und immer manuell die größe der JTextArea setzten, das könnte zwar funktioniern, aber es ruckelt dann sehr, und ist alles andere als schön
ich hab ein problem.. würd gerne wissen ob ich was falsch mache, das absicht oder gar ein bug von java ist?
Java:
public static void main(String[] args) {
JFrame frame = new JFrame ("test");
JPanel main = new JPanel();
JScrollPane scroll = new JScrollPane(main);
JTextArea textArea = new JTextArea();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridBagLayout());
main.setLayout( new GridBagLayout());
// textArea.setLineWrap(true);
// textArea.setText("NoBlanks_NoBlanks_NoBlanks_NoBlanks_NoBlanks_NoBlanks_NoBlanks_NoBlanks_NoBlanks");
textArea.setLineWrap(false);
textArea.setText("Blanks Blanks Blanks Blanks Blanks");
main.add(textArea, new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
frame.add(scroll, new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0,0,0,0), 0, 0));
frame.setSize(500,500);
frame.setVisible(true);
ist vielleicht nicht das hübscheste, aber naja...
mein Problem:
[JAVA=12]
textArea.setLineWrap(true);
[/code]
wenn das auf true ist, und ich das fenster skaliere.. wenn ichs größer mache, ist alles wunderbar, allerdings wenn ichs kleiner mache, verkleinert sich die textarea nicht mit.
allerdings wenn man die zeile auskommentiert, und die drunterliegenden rein, dann funktioniert alles einwandfrei (nur wird eben nichts mehr gewrapt)..
um nochmal klar zu machen was ich meine:
beim beispiel mit setLineWrap(false) kommt klarerweise auch ein scrollbar, sobald es nich mehr genug platz ist (da es ja nich gewrapt wird), allerdings kommt der scrollbar erst wenn der text erreicht wird, nicht vorher
wenn man beim bsp mit setLineWrap(true) den text verkürzt, sodass er locker platz hat (also einfach ein paar "NoBlanks_" streichen), kommt der scrollbar sofort, schon weit bevor der text zu wenig platz haben sollte..
ich hoffe es ist klar was ich meine..
wie schon oben erwähnt - würds mich jetz interessiern ob ich einfach dumm bin und was falsch mache, obs nen workaround gibt, oder ob das einfach ein nicht (schön) behebbarer bug ist.
greetz
ps.: der workaround mit resize-listener und immer manuell die größe der JTextArea setzten, das könnte zwar funktioniern, aber es ruckelt dann sehr, und ist alles andere als schön