JTextAreas, JScrollPanes (?)

Status
Nicht offen für weitere Antworten.

GilbertGrape

Bekanntes Mitglied
Hi,

ich hab folgendes Problem:

Ich füge JTextAreas (inklusive JScrollPanes) dynamisch zu einem Panel mit GridBagLayout.
Wenn ich das Fenster dann beim Ausführen manuell kleiner ziehe, dann sind die TextAreas nur noch ganz mini und man kann nichts mehr erkennen.
Ich speichere die Areas jetzt in einer Liste. Bevor ich das getan habe, hatte ich den gleichen Effekt beim größer ziehen.

hier der Code:

Code:
public class GuiTests extends JFrame {

	JPanel mainPanel;
	List<JTextArea> areas;
	
	public GuiTests(){
		mainPanel = new JPanel();
		mainPanel.setLayout(new GridBagLayout());
		areas = new ArrayList<JTextArea>();
		GridBagConstraints c = new GridBagConstraints();
		c.insets = new Insets(5,5,5,5);
		c.gridwidth = GridBagConstraints.REMAINDER;
		List<String> test = new ArrayList<String>();
                test.add("hallo");
		test.add("warum geht das denn nicht?");
		test.add("bääähhh");
		for (String text : test){
			JTextArea txtArea = new JTextArea();
			txtArea.setLineWrap(true);
			JScrollPane scroll = new JScrollPane(txtArea);
scroll.setPreferredSize(new Dimension(400,200));
			txtArea.setText(text);
			areas.add(txtArea);
			mainPanel.add(scroll, c);
		}
               this.add(mainPanel);
       }
	
 
	public static void main(String[]args){
		GuiTests testFrame = new GuiTests();
		testFrame.pack();		
		testFrame.setVisible(true);
		
	}
}

Vielleicht weiß jemand Rat...

Edit: Sorry, hab das letzt irgendwie weggeschnitten..
 

The_S

Top Contributor
Dein Beispielprogramm funktioniert nicht. Zum einen fehlt eine geschweifte, abschließende Klammer beim Konstruktor und zum Anderen wird nichts beim Ausführen angezeigt (bin jetzt aber auch zu faul da nachzuschauen warum).
 
S

SlaterB

Gast
Code:
public class GuiTests
    extends JFrame
{

    JPanel mainPanel;
    List<JTextArea> areas;

    public GuiTests()
    {
        mainPanel = new JPanel();
        mainPanel.setLayout(new GridBagLayout());
        areas = new ArrayList<JTextArea>();
        GridBagConstraints c = new GridBagConstraints();
        c.insets = new Insets(5, 5, 5, 5);
        c.fill = GridBagConstraints.BOTH;
        c.weightx = 1;
        c.weighty = 1;
        c.gridwidth = GridBagConstraints.REMAINDER;
        List<String> test = new ArrayList<String>();
        test.add("hallo");
        test.add("warum geht das denn nicht?");
        test.add("bääähhh");
        for (String text : test)
        {
            JTextArea txtArea = new JTextArea();
            txtArea.setLineWrap(true);
            txtArea.setPreferredSize(new Dimension(400, 200));
            JScrollPane scroll = new JScrollPane(txtArea);
            txtArea.setText(text);
            areas.add(txtArea);
            mainPanel.add(scroll, c);
        }
        this.add(mainPanel);
    }


    public static void main(String[] args)
    {
        GuiTests testFrame = new GuiTests();
        testFrame.pack();
        testFrame.setVisible(true);

    }
}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben