Citat:
Ursprungligen postat av
Proton
De flesta verkar fresprka att anvnda nulllayout fr att lsa problemet, samma mnniskor sger ven att det r en dlig ide att anvnda nulllayout, det kan jag hlla med om.
Ett annat stt du br vervga r att "wrappa" din JTextArea i en JScrollPane, d behver du ju inte visa upp hela textarean hela tiden, utan kan scrolla den efter behov istllet.
http://www.coderanch.com/t/333711/GU...izing-TextArea
Jag la till main i coderanch exemplet du skickade men storleken ndras p hela fnstret och inte textarean i sig.
Kod:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame1 extends JFrame {
private JFrame frame;
public static void main(String args[]) {
Frame1 window = new Frame1();
window.setTitle("Frame1");
window.setSize(800, 600);
window.setVisible(true);
}
JPanel contentPane;
GridBagLayout gridBagLayout1 = new GridBagLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea jTextArea1 = new JTextArea();
JPanel jPanel1 = new JPanel();
JButton jButton1 = new JButton();
//Den Frame konstruieren
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Initialisierung der Komponenten
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Ihr Symbol]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(gridBagLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame-Titel");
jTextArea1.setText("jTextArea1");
jButton1.setText("jButton1");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
contentPane.add(jScrollPane1, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
contentPane.add(jPanel1, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jButton1, null);
jScrollPane1.getViewport().add(jTextArea1, null);
}
//�berschrieben, so da� eine Beendigung beim Schlie�en des Fensters m�glich ist.
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void jButton1_actionPerformed(ActionEvent e) {
Dimension dim = this.getSize();
dim.width = dim.width + 100;
dim.height = dim.height + 100;
this.setSize(dim);
this.validateTree();
}
}
Jag anvnder JScrollPane till textarean men hade grna sett att storleken gick att ndra ocks.