TextArea Größenänderung

Popon

Mitglied
Kann mir einer mal über meinen Code schauen und mir erklären warum meine TextArea bei manchen Abfragen die Größe automatisch verstellt und den Inhalt dadurch nicht anzeigt.

Ich habe in der Datenbank 10 Beschreibungen in der gleichen Tabelle.
6 von 10 Beschreibungen zeigt meine Textarea richtig an.
Bei den restlichen 4 ist die TextArea nur 2 Millimeter hoch, so dass der Inhalt nicht ersichtlich ist.

Java:
package Projekt;

import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;

/**
 * 
 * @author Tiger_Locke
 *
 */
public class CreatePDF extends JDialog implements ActionListener
{

	private static final long serialVersionUID = 1L;

	Process process;
	String textAreaContent = "";
	String nameTemp = "";
	JTextArea textArea = new JTextArea(40, 80);
	String name = "";
	JScrollPane panel = new JScrollPane(textArea);
	JButton createPDF_button = new JButton();
	ImageIcon pdf_icon = new ImageIcon("images/pdf_icon_15.png");
	JButton exit_button = new JButton();
	ImageIcon exit_icon = new ImageIcon("images/exit_new_size.jpg");
	
	/**
	 * 
	 * @param array
	 */
	public CreatePDF(JTextArea areaDescription, JLabel labelName)
	{
		
		super();
		labelName.setFont(new Font("SansSerif", Font.PLAIN, 34));
		this.setTitle("PDF erstellen");
		this.setLayout(new GridBagLayout());
		this.setResizable(false);
		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		GridBagConstraints c = new GridBagConstraints();
		c.fill = GridBagConstraints.BOTH;
		c.insets = new Insets(5, 5, 5, 5);
		c.weightx = 1;
		
		
		c.gridwidth = GridBagConstraints.REMAINDER;
		this.add(panel, c);
		panel.setOpaque(false);
		textArea.setOpaque(false);
		
		
		c.gridwidth = 1;
		this.add(createPDF_button, c);
		createPDF_button.setIcon(pdf_icon);
		createPDF_button.addActionListener(this);
		
		this.add(exit_button, c);
		exit_button.addActionListener(this);
		exit_button.setIcon(exit_icon);
		
		this.pack();
		this.setVisible(true);
		joinText(areaDescription, labelName);
		
	}
	/**
	 * 
	 * @param array
	 */
	public void joinText(JTextArea areaDescription, JLabel labelName)
	{		
		this.textArea.setText("\n" + labelName.getText() + 
				"\n\n\n" + areaDescription.getText());
		
		if (nameTemp == "")
		{
			nameTemp = labelName.getText();
		}
	
	}
	
	/**
	 * 
	 * @param text
	 */	
	void setPDF(JTextArea textArea)
	{
		Document doc = new Document(PageSize.A4, 50, 50, 50, 50);
		try
		{
//			HtmlWriter.getInstance(doc, System.out);
			
			try
			{
				PdfWriter.getInstance(doc, new FileOutputStream("data/" + nameTemp + ".pdf"));
			}
			catch (DocumentException de)
			{
				de.printStackTrace();
			}
			doc.addTitle("Cocktail Pro");
			doc.addAuthor("Dinler, Biesinger, Rupp");
			doc.addSubject("Cocktail-Programm");
			doc.open();
			
			String tmp = "";
			tmp += textArea.getText();
			
			try
			{
				doc.add(new Paragraph(tmp));
			}
			catch (DocumentException de)
			{
				de.printStackTrace();				
			}
			
			doc.close();
		}
		catch (IOException ioe)
		{
			ioe.printStackTrace();
		}
	}	
	
	/**
	 * 
	 */
	public void actionPerformed(ActionEvent ae)
	{
		if (ae.getSource() == createPDF_button)
		{
			setPDF(textArea);
			this.dispose();
			this.setVisible(false);
		}
		else if (ae.getSource() == exit_button)
		{
			this.dispose();
			this.setVisible(false);
		}
	}
}
 
Zuletzt bearbeitet von einem Moderator:

dayaftereh

Top Contributor
Hey ich habe deine Code mal Überarbeitet! und auch mal getestet soweit wie ich konnte! Ich habe mal ein wenig Refactor und so wie ich meine Code gestalten würde! Versuche mal das hier! habe nix in der Logik gemacht! nur den Code schöner gemacht und mit dem GridBagLayout rumgespielt oder dem GridBagConstraints mal richtige zuweißungen gemacht! Schau einfach mal hier:

Java:
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;


/**
 * 
 * @author Tiger_Locke
 * 
 */
public class CreatePDF extends JDialog implements ActionListener {

	private static final long serialVersionUID = 1L;

	private String name = "";
	private String nameTemp = "";
	private String textAreaContent = "";

	private Process process;

	private ImageIcon pdf_icon = null;
	private ImageIcon exit_icon = null;
		
	private JScrollPane panel = null;
	private JTextArea textArea = null;
	private JButton exit_button = null;
	private JButton createPDF_button = null;

	/**
	 * 
	 * @param array
	 */
	public CreatePDF(JTextArea areaDescription, JLabel labelName) {
		super();

		buildGUI();

		labelName.setFont(new Font("SansSerif", Font.PLAIN, 34));
		joinText(areaDescription, labelName);
	}

	private void buildGUI() {

		this.setTitle("PDF erstellen");
		this.setLayout(new GridBagLayout());
		this.setResizable(false);
		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

		textArea = new JTextArea(40, 80);
		textArea.setOpaque(false);

		GridBagConstraints c = new GridBagConstraints();
		c.fill = GridBagConstraints.BOTH;
		c.gridwidth = 2;
		c.insets = new Insets(5, 5, 5, 5);
		c.weightx = 1.0;
		c.gridx = 0;
		c.gridy = 0;

		panel = new JScrollPane(textArea);
		panel.setOpaque(false);

		this.add(panel, c);

		// ---------------

		c = new GridBagConstraints();
		c.insets = new Insets(5, 5, 5, 5);
		c.weightx = 0.5;
		c.gridx = 0;
		c.gridy = 1;

		pdf_icon = new ImageIcon("images/pdf_icon_15.png");

		createPDF_button = new JButton(pdf_icon);
		createPDF_button.addActionListener(this);
		this.add(createPDF_button, c);

		// ---------------

		c = new GridBagConstraints();
		c.insets = new Insets(5, 5, 5, 5);
		c.weightx = 0.5;
		c.gridx = 1;
		c.gridy = 1;

		exit_icon = new ImageIcon("images/exit_new_size.jpg");

		exit_button = new JButton(exit_icon);

		exit_button.addActionListener(this);
		exit_button.setIcon(exit_icon);

		this.add(exit_button, c);

		// ---------------

		this.pack();
		this.setVisible(true);

	}

	/**
	 * 
	 * @param array
	 */
	public void joinText(JTextArea areaDescription, JLabel labelName) {
		this.textArea.setText("\n" + labelName.getText() + "\n\n\n" + areaDescription.getText());
		if (nameTemp == "") {
			nameTemp = labelName.getText();
		}
	}

	/**
	 * 
	 * @param text
	 */
	void setPDF(JTextArea textArea) {
		Document doc = new Document(PageSize.A4, 50, 50, 50, 50);
		try {
			// HtmlWriter.getInstance(doc, System.out);

			try {
				PdfWriter.getInstance(doc, new FileOutputStream("data/" + nameTemp + ".pdf"));
			} catch (DocumentException de) {
				de.printStackTrace();
			}
			doc.addTitle("Cocktail Pro");
			doc.addAuthor("Dinler, Biesinger, Rupp");
			doc.addSubject("Cocktail-Programm");
			doc.open();

			String tmp = "";
			tmp += textArea.getText();

			try {
				doc.add(new Paragraph(tmp));
			} catch (DocumentException de) {
				de.printStackTrace();
			}

			doc.close();
		} catch (IOException ioe) {
			ioe.printStackTrace();
		}
	}

	/**
     * 
     */
	public void actionPerformed(ActionEvent ae) {
		if (ae.getSource() == createPDF_button) {
			setPDF(textArea);
			this.dispose();
			this.setVisible(false);
		} else if (ae.getSource() == exit_button) {
			this.dispose();
			this.setVisible(false);
		}
	}
}

@edit. schau dir mal das Buch an! Refactoring
 
Zuletzt bearbeitet:

Popon

Mitglied
Komischerweise funktioniert es ohne das ich was verändert habe...

Danke das Du mein Code refactorisiert hast.... :)

Gruß Popon
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L TextArea Zeichenabstand gleich machen AWT, Swing, JavaFX & SWT 8
ProggersWorld JavaFX TextArea BackgroundImage wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
D Hohe Prozessorauslastung bei Ausgabe auf TextArea AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
Hatsi09 TextArea formattieren AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX MVC: Thread in Model Class mit Ausgabe in TextArea AWT, Swing, JavaFX & SWT 10
E Eingabe von Zahlen in TextArea AWT, Swing, JavaFX & SWT 2
K JavaFX: TextArea updated nicht AWT, Swing, JavaFX & SWT 7
M JavaFX TextArea disabled - ScrollBar enabled AWT, Swing, JavaFX & SWT 3
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
R Java FX - Fxml - relative Größenangaben für Breite und Höhe einer TextArea AWT, Swing, JavaFX & SWT 8
R Swing Durch JComboBox-Item eine TextArea aktualisieren AWT, Swing, JavaFX & SWT 2
MrSnake JavaFX TextArea updated nicht AWT, Swing, JavaFX & SWT 22
N JavaFX TextArea Updaten bevor Prozess gestartet wird AWT, Swing, JavaFX & SWT 7
B Java FX FXML Textarea SceneBuilder als XML Editor AWT, Swing, JavaFX & SWT 1
T JavaFX System.out.println in TextArea AWT, Swing, JavaFX & SWT 15
F JavaFX JavaFX HTMLEditor-Eingabe in Textarea als HTML anzeigen AWT, Swing, JavaFX & SWT 2
E To get a color text on the TextArea AWT, Swing, JavaFX & SWT 4
E To get color text on the TextArea AWT, Swing, JavaFX & SWT 5
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
E Swing Error icon in der TextArea AWT, Swing, JavaFX & SWT 1
thobren JavaFX textarea nach setPrefRowCount Ansicht aktualisieren AWT, Swing, JavaFX & SWT 1
thobren JavaFX Inhalte aus dynamischen vbox mit TextArea auslesen AWT, Swing, JavaFX & SWT 9
thobren Swing Im JPanel wird nur TextArea gelöscht AWT, Swing, JavaFX & SWT 13
J JavaFX TextArea dynamisch Icon im Background anzeigen AWT, Swing, JavaFX & SWT 2
M JavaFX TextArea einzelne Buchstaben färben AWT, Swing, JavaFX & SWT 3
M JavaFX TextArea richtig formatieren AWT, Swing, JavaFX & SWT 4
S ScrollPane in Textarea und auf Panel AWT, Swing, JavaFX & SWT 4
S Die Rücktaste und Entfernen in einer Textarea blockieren AWT, Swing, JavaFX & SWT 3
S TextArea get Selected row(Text) AWT, Swing, JavaFX & SWT 6
F textarea lässt panel verschwinden AWT, Swing, JavaFX & SWT 4
V Swing Update Textarea AWT, Swing, JavaFX & SWT 2
E TextArea - Maximale Zeichenanzahl AWT, Swing, JavaFX & SWT 2
N Swing teilstring in textarea fett machen AWT, Swing, JavaFX & SWT 13
J Swing TextArea mit nicht-editierbarem Text AWT, Swing, JavaFX & SWT 7
W Vergleich zweier Strings und schreiben in Textarea AWT, Swing, JavaFX & SWT 12
R AWT TextArea schreibunfähig machen AWT, Swing, JavaFX & SWT 5
J Werkzeugleiste für TextArea? AWT, Swing, JavaFX & SWT 10
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
S Textarea und Enter AWT, Swing, JavaFX & SWT 5
El_Lobo Swing Swing TextArea und JTextField werden nicht aktualisiert AWT, Swing, JavaFX & SWT 2
R Textarea zeigt Text nicht an AWT, Swing, JavaFX & SWT 5
H TextArea zeigt kein Text an AWT, Swing, JavaFX & SWT 6
S Frage zu TextArea AWT, Swing, JavaFX & SWT 2
C TextArea Ausgabe immer ganz oben AWT, Swing, JavaFX & SWT 3
C Konsolenausgabe in TextArea ausgeben AWT, Swing, JavaFX & SWT 8
P Swing Methodenaufruf beeinflusst TextArea nicht. AWT, Swing, JavaFX & SWT 6
S TextArea ausgabe ohne JFrame zu implementieren AWT, Swing, JavaFX & SWT 2
M Swing Eine andere Klasse über Button starten und in TextArea ausgeben AWT, Swing, JavaFX & SWT 13
M Inhalt aus TextArea verarbeiten AWT, Swing, JavaFX & SWT 4
A Swing Text von System.out.printIn in eine TextArea übergen AWT, Swing, JavaFX & SWT 12
S Sobald ich TextArea mit Text fülle alles weg? AWT, Swing, JavaFX & SWT 5
M problem mit keylistener/textarea AWT, Swing, JavaFX & SWT 6
H anderes font in textarea AWT, Swing, JavaFX & SWT 2
E Datei in TextArea anzeigen AWT, Swing, JavaFX & SWT 12
Luy Per TAB-Taste aus TextArea wieder raus? AWT, Swing, JavaFX & SWT 5
H AWT TextArea, TextListener AWT, Swing, JavaFX & SWT 5
D Swing [BoxLayout] Nur TextArea und nicht TextField vergroessen AWT, Swing, JavaFX & SWT 2
W JTextArea/TextArea kriegt keinen Fokus AWT, Swing, JavaFX & SWT 6
A Strings an Textarea anderer Klasse append(en) AWT, Swing, JavaFX & SWT 12
U Problem mit dem TextArea.appen()- Befehl AWT, Swing, JavaFX & SWT 2
G Textarea zeigt Text erst am Schluss an AWT, Swing, JavaFX & SWT 2
W JTextArea vs TextArea AWT, Swing, JavaFX & SWT 3
K TextArea auf Scrollpane AWT, Swing, JavaFX & SWT 3
A Dateien in TextArea ausgeben AWT, Swing, JavaFX & SWT 6
G Textarea soll automatisch mitrollen AWT, Swing, JavaFX & SWT 2
G Feste Größe einer TextArea AWT, Swing, JavaFX & SWT 2
G Kontextmenü zum kkopieren in einer TextArea AWT, Swing, JavaFX & SWT 5
D GUI + TextArea + inhalt der wörter zählen AWT, Swing, JavaFX & SWT 4
V Hilfe :( bekomme textarea nicht versetzt AWT, Swing, JavaFX & SWT 2
M TextArea relativ zur Fenstergröße AWT, Swing, JavaFX & SWT 14
Y Zahlen aus einer Textarea auslesen AWT, Swing, JavaFX & SWT 2
V textarea Problem Positionierung AWT, Swing, JavaFX & SWT 2
G textarea.read funzt net in Jar-Datei AWT, Swing, JavaFX & SWT 7
K Center Text in TextArea AWT, Swing, JavaFX & SWT 8
ModellbahnerTT Ersatz für Textarea AWT, Swing, JavaFX & SWT 13
K Zeilen von TextArea auswählen AWT, Swing, JavaFX & SWT 3
C TextArea Problem :( TextArea über komplettem JFrame AWT, Swing, JavaFX & SWT 2
S Text in Textarea über empfangenen Socketstream anzeigen AWT, Swing, JavaFX & SWT 4
M Problem mit Layout wegen Textarea AWT, Swing, JavaFX & SWT 3
F Scrollpane scrollt immer zur TextArea AWT, Swing, JavaFX & SWT 8
F Graphics2D scale und Positionierung einer TextArea AWT, Swing, JavaFX & SWT 8
J TextArea unkontrollierbar AWT, Swing, JavaFX & SWT 4
G toString -> TextArea AWT, Swing, JavaFX & SWT 2
F Einlesen von text in textArea mittels for-schleife AWT, Swing, JavaFX & SWT 3
L TextArea AWT, Swing, JavaFX & SWT 6
X textarea updaten bevor eine Methode aufegerufen wird AWT, Swing, JavaFX & SWT 6
G keyListener & textarea AWT, Swing, JavaFX & SWT 2
C Text in TextArea gestalten AWT, Swing, JavaFX & SWT 2
M Farben im TextArea AWT, Swing, JavaFX & SWT 5
N TextArea positionieren AWT, Swing, JavaFX & SWT 3
P TextArea zeilenumbruch AWT, Swing, JavaFX & SWT 7
André B. formatierung in TextArea AWT, Swing, JavaFX & SWT 7
C Textarea kontinuerlich updaten AWT, Swing, JavaFX & SWT 3
D setCaretPosition, nicht-editierbare TextArea AWT, Swing, JavaFX & SWT 8
J TextArea begrenzen AWT, Swing, JavaFX & SWT 6
P [TextArea] Text Formatieren AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben