setlinewrap merkwürdigkeiten lack of verständning

hallo alle miteinand,

ich habe folgende frage zu unterrem code: die platzierung der buttons,labels und Textareas ändert sich sobald man frageTxtA.setlinewrap() auf true und frageTxtA.wrapstyleword() auch auf true setzt warum? wenn ich zusätzlich frageTxtA.setpreferedsize() und frageTxtA.settext() setze sieht das ganze ungefähr so aus wie ich es haben will nur weiss ich nich warum? und was wäre wenn ich z.b. erstmal keinen text setzen möchte?

thx schon mal im voraus....




Code:
package FragenUndAntworten;

import java.awt.*;
import javax.swing.*;

public class QuizKartenMGMT extends JFrame
{
	String gebiet;
	JPanel mainPanel=new JPanel();
	JPanel naviPanel=new JPanel();
	JTextArea frageTxtA=new JTextArea(6,15); 
	JTextArea antwortTxtA=new JTextArea(6,15);
	JTextArea subThemenTxtA=new JTextArea(6,15);
	JTextField supaThemaTxtF=new JTextField(15);
	JTextField mitteThemaTxtF=new JTextField(15);;
	JLabel fragenHeadlineLbl=new JLabel("Fragen Text");
	JLabel antwortHeadlineLbl=new JLabel("Antwort Text");
	JLabel supaThemaLbl=new JLabel("Supa Thema");
	JLabel mitteThemaLbl=new JLabel("Thema"); 
	JLabel subThemenLbl=new JLabel("Sub Themen");
	JButton nxtKarteBtn=new JButton("Nächste Karte"); 
	JButton speichernBtn=new JButton("Speichern");;
	JButton löschenBtn=new JButton("Löschen");

	
	public QuizKartenMGMT()
	{
		super("Quizkarten-MGMT");
		initGUI();
	}
	
	private void initGUI()
	{
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setSize(new Dimension(1000,800));
		setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));

		getContentPane().add(naviPanel);
		getContentPane().add(mainPanel);		
		mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
		naviPanel.setLayout(new BoxLayout(naviPanel, BoxLayout.Y_AXIS));		

		mainPanel.add(fragenHeadlineLbl);
		mainPanel.add(frageTxtA);
		//mainPanel.add(Box.createRigidArea(new Dimension(0, 8)));
		mainPanel.add(antwortHeadlineLbl);
		mainPanel.add(antwortTxtA);
		
		supaThemaLbl.setSize(new Dimension(10,10));
		mitteThemaLbl.setSize(new Dimension(10,10));
		subThemenLbl.setSize(new Dimension(10,10));
		subThemenTxtA.setPreferredSize(new Dimension(10,10));//wenn setLineWrap und/oder setWrapStyleWord eingeschaltet sind hilft dies..
		subThemenTxtA.setLineWrap(true); //warum anschalten?
		subThemenTxtA.setWrapStyleWord(true);
		frageTxtA.setBackground(Color.yellow);
		antwortTxtA.setBackground(Color.blue);

		naviPanel.add(nxtKarteBtn);
		naviPanel.add(speichernBtn);
		naviPanel.add(löschenBtn);
		naviPanel.add(supaThemaLbl);
		naviPanel.add(supaThemaTxtF);
		naviPanel.add(mitteThemaLbl);
		naviPanel.add(mitteThemaTxtF);
		naviPanel.add(subThemenLbl);
		naviPanel.add(subThemenTxtA);
		
                String s="";
		for(int x=1;x<2000;x++)
		{
			char c=(char)x;
			s=s+c;
			if(x % 100==0)s=s+"\n";
		}
		frageTxtA.setText(s);//Wirkt sich auch auf die Darstellung aus
	
         }
}
 
Zuletzt bearbeitet:
Zurück