# Rahmen um JTextArea?



## deIsa (25. August 2010)

Hallo Leute,

ich habe die grafische Oberfläche einer Art Fragebogen mit Java erstellt. 
Nun sieht man ja im Hintergrund das standartmäßige Hellgrau. Auf dem Hintergrund, lassen sich die weißen Flächen, leider nur kaum vom Rest abgrenzen. 
Deshalb wollte ich fragen, ob es eine Möglichkeit gibt, eine Art dünnen Rahmen (wie er beim JTextField, automatisch vorhanden ist) um des Area zu erstellen.

Vielen lieben Dank schon einmal im voraus.
LG die Isa



P.S.: Zur besseren Veranschaulichung anbei mein Quellcode: 

import java.awt.event.ActionEvent;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.text.NumberFormat;


import javax.swing.*;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;


public class AdressDatenBank extends JFrame
{
	JTextArea 	textarea_name;
	JTextArea	textarea_firma;
	JTextArea 	textarea_address;
	JTextArea   textarea_country;
	JTextArea   textarea_phone;
	JTextArea   textarea_email;
	JTextArea   textarea_net;
	JTextArea   textarea_extras;

	JButton		button;

	JLabel jname = new JLabel("Name:");
	JLabel jfirma = new JLabel("Firma:");
	JLabel jaddress = new JLabel("Adresse:");
	JLabel jcountry = new JLabel("Land:");
	JLabel jphone = new JLabel("Telefon:");
	JLabel jemail = new JLabel("E-Mail:");
	JLabel jnet = new JLabel("Internetadresse:");
	JLabel jextras = new JLabel("Bemerkungen:");

	//JPanel pname = new JPanel();

	public AdressDatenBank() 
	{
		this.getContentPane().setLayout(null);


		this.getContentPane().add(jname);						//das Panel hinzugefügt
		jname.setBounds(5,17,110,25);
		this.getContentPane().add(jfirma);
		jfirma.setBounds(5,62,110,25);
		this.getContentPane().add(jaddress);
		jaddress.setBounds(5,107,110,25);
		this.getContentPane().add(jcountry);
		jcountry.setBounds(5,232,110,25);
		this.getContentPane().add(jphone);
		jphone.setBounds(5,277,110,25);
		this.getContentPane().add(jemail);
		jemail.setBounds(5,347,110,25);
		this.getContentPane().add(jnet);
		jnet.setBounds(5,417,110,25);
		this.getContentPane().add(jextras);
		jextras.setBounds(5,487,110,25);


		// Instanzieren:
		textarea_name = new JTextArea();
		textarea_firma = new JTextArea();
		textarea_address = new JTextArea();
		textarea_country = new JTextArea();
		textarea_phone = new JTextArea();
		textarea_email = new JTextArea();
		textarea_net = new JTextArea();
		textarea_extras = new JTextArea();



		button = new JButton("Speichern");



		button.addActionListener(new ActionListener() 
	    {

			public void actionPerformed(ActionEvent arg0) 
			{
				// TODO Auto-generated method stub

			}
		});



		// Positionen festlegen
		textarea_name.setBounds(120,17,550,25);
		textarea_firma.setBounds(120,62,550,25);
		textarea_address.setBounds(120,107,550,105);
		textarea_country.setBounds(120,232,550,25);
		textarea_phone.setBounds(120,277,550,50);
		textarea_email.setBounds(120,347,550,50);
		textarea_net.setBounds(120,417,550,50);
		textarea_extras.setBounds(120,487,550,200);
		button.setBounds(570,710,100,30);


		// Elemente dem Fenster hinzufügen:
		this.getContentPane().add(textarea_name);
		this.getContentPane().add(textarea_firma);
		this.getContentPane().add(textarea_address);
		this.getContentPane().add(textarea_country);
		this.getContentPane().add(textarea_phone);
		this.getContentPane().add(textarea_email);
		this.getContentPane().add(textarea_net);
		this.getContentPane().add(textarea_extras);
		this.getContentPane().add(button);

		this.pack();

		this.addWindowListener(new WindowListener() 
		{

			public void windowClosed(WindowEvent arg0) 
			{
			}

			public void windowActivated(WindowEvent e) 
			{
			}

			public void windowClosing(WindowEvent e) 
			{
				System.exit(0);
			}

			public void windowDeactivated(WindowEvent e) 
			{
			}

			public void windowDeiconified(WindowEvent e) 
			{
			}

			public void windowIconified(WindowEvent e) 
			{
			}

			public void windowOpened(WindowEvent e) 
			{
			}



		});

	}


	public static void main(String[] args)
	{
	    AdressDatenBank f=new AdressDatenBank();
	    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    f.setSize(700,850);
	    f.setVisible(true);
	}
}


----------



## Der Wolf (25. August 2010)

Hi,

erstmal wäre es nett, wenn du deinen Quellcode hier auch zwischen die passenden Tags schreibst, dass würde den Post etwas übersichtlicher machen. 

Ansonsten kannst du bei einer JTextArea mit der setBorder(...) Methode auch einen Rahmen um deine TextArea ziehen. Hier ein Beispiel:


```
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JTextArea;


public class Main extends JFrame {

  public Main() {
	this.setTitle("Testing gui.");
	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	this.getContentPane().add(createTextArea());
	this.pack();
  }

  private JTextArea createTextArea() {

	JTextArea area = new JTextArea();
	area.setBorder(BorderFactory.createEtchedBorder());
	area.setPreferredSize(new Dimension(150, 150));	

	return area;

  }

  public static void main(String[] args) {
	final Main main = new Main();
	java.awt.EventQueue.invokeLater(new Runnable() {

	  public void run() {
		main.setVisible(true);
	  }
	  
	});
	
  }

}
```

Gruß
Der Wolf


----------



## deIsa (25. August 2010)

dankeschön =) 
ich konnte den Quelltext leider nicht schöner gestalten, da ich als Gast meinen Eintrag geschrieben habe.
Ich werd mich aber so bald wie möglich als richtiger User anmelden


----------

