Rahmen um JTextArea?

  • Themenstarter Themenstarter deIsa
  • Beginndatum Beginndatum
D

deIsa

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);
}
}
 
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:

Java:
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
 
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 ;)
 
Zurück