Swing jTextArea soll sich der Fenstergröße anpassen beim ziehen??

THEBRAIN

Mitglied
Hallo,

Ich frage mich gerade ob es geht das wenn ich das Text-Editor Programm Fenster manuell in der Größe ziehe sich die jTextArea automatisch der aktuellen Größe anpasst?

Am besten mal Bilder anschauen dann sieht man es gleich.



Java:
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import java.awt.Dimension;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.Point;
import javax.swing.JTextPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Editor extends JFrame
	{

		private static final long serialVersionUID = 1L;
		private JPanel jContentPane = null;
		private JMenuBar jJMenuBar = null;
		private JMenu jMenu = null;
		public JMenuItem oeffnen = null;
		public JMenuItem speichern = null;
		private JMenu jMenu2 = null;
		public JMenuItem oeffnen2 = null;
		public JMenuItem speichern2 = null;
		private JScrollPane jScrollPane = null;
		private JScrollPane jScrollPane1 = null;
		public JTextArea jTextArea = null;
		public JTextArea jTextArea1 = null;
		public JMenuItem beenden2 = null;
		public JMenuItem Beenden = null;
		private MyActionListener myActionListener = new MyActionListener(this);
		/**
		 * This method initializes jJMenuBar	
		 * 	
		 * @return javax.swing.JMenuBar	
		 */
		private JMenuBar getJJMenuBar()
			{
				if (jJMenuBar == null)
					{
						jJMenuBar = new JMenuBar();
						jJMenuBar.setPreferredSize(new Dimension(0, 20));
						jJMenuBar.add(getJMenu());
						jJMenuBar.add(getJMenu2());
					}
				return jJMenuBar;
			}

		/**
		 * This method initializes jMenu	
		 * 	
		 * @return javax.swing.JMenu	
		 */
		private JMenu getJMenu()
			{
				if (jMenu == null)
					{
						jMenu = new JMenu();
						jMenu.setText("Datei 1");
						jMenu.add(getOeffnen());
						jMenu.add(getSpeichern());
						jMenu.add(getBeenden());
					}
				return jMenu;
			}

		/**
		 * This method initializes oeffnen	
		 * 	
		 * @return javax.swing.JMenuItem	
		 */
		private JMenuItem getOeffnen()
			{
				if (oeffnen == null)
					{
						oeffnen = new JMenuItem();
						oeffnen.setText("öffnen");
						this.oeffnen.addActionListener(myActionListener);
					}
				return oeffnen;
			}

		/**
		 * This method initializes speichern	
		 * 	
		 * @return javax.swing.JMenuItem	
		 */
		private JMenuItem getSpeichern()
			{
				if (speichern == null)
					{
						speichern = new JMenuItem();
						speichern.setText("speichern");
						this.speichern.addActionListener(myActionListener);
					}
				return speichern;
			}

		/**
		 * This method initializes jMenu2	
		 * 	
		 * @return javax.swing.JMenu	
		 */
		private JMenu getJMenu2()
			{
				if (jMenu2 == null)
					{
						jMenu2 = new JMenu();
						jMenu2.setText("Datei 2");
						jMenu2.add(getOeffnen2());
						jMenu2.add(getSpeichern2());
						jMenu2.add(getBeenden2());
					}
				return jMenu2;
			}

		/**
		 * This method initializes oeffnen2	
		 * 	
		 * @return javax.swing.JMenuItem	
		 */
		private JMenuItem getOeffnen2()
			{
				if (oeffnen2 == null)
					{
						oeffnen2 = new JMenuItem();
						oeffnen2.setText("öffnen");
						this.oeffnen2.addActionListener(myActionListener);
					}
				return oeffnen2;
			}

		/**
		 * This method initializes speichern2	
		 * 	
		 * @return javax.swing.JMenuItem	
		 */
		private JMenuItem getSpeichern2()
			{
				if (speichern2 == null)
					{
						speichern2 = new JMenuItem();
						speichern2.setText("speichern");
						this.speichern2.addActionListener(myActionListener);
					}
				return speichern2;
			}

		/**
		 * This method initializes jScrollPane	
		 * 	
		 * @return javax.swing.JScrollPane	
		 */
		private JScrollPane getJScrollPane()
			{
				if (jScrollPane == null)
					{
						jScrollPane = new JScrollPane();
						jScrollPane.setPreferredSize(new Dimension(140, 19));
						jScrollPane.setViewportView(getJTextArea());
					}
				return jScrollPane;
			}

		/**
		 * This method initializes jScrollPane1	
		 * 	
		 * @return javax.swing.JScrollPane	
		 */
		private JScrollPane getJScrollPane1()
			{
				if (jScrollPane1 == null)
					{
						jScrollPane1 = new JScrollPane();
						jScrollPane1.setPreferredSize(new Dimension(140, 19));
						jScrollPane1.setViewportView(getJTextArea1());
					}
				return jScrollPane1;
			}

		/**
		 * This method initializes jTextArea	
		 * 	
		 * @return javax.swing.JTextArea	
		 */
		private JTextArea getJTextArea()
			{
				if (jTextArea == null)
					{
						jTextArea = new JTextArea();
					}
				return jTextArea;
			}

		/**
		 * This method initializes jTextArea1	
		 * 	
		 * @return javax.swing.JTextArea	
		 */
		private JTextArea getJTextArea1()
			{
				if (jTextArea1 == null)
					{
						jTextArea1 = new JTextArea();
					}
				return jTextArea1;
			}

		/**
		 * This method initializes beenden2	
		 * 	
		 * @return javax.swing.JMenuItem	
		 */
		private JMenuItem getBeenden2()
			{
				if (beenden2 == null)
					{
						beenden2 = new JMenuItem();
						beenden2.setText("Beenden");
						this.beenden2.addActionListener(myActionListener);
					}
				return beenden2;
			}

		/**
		 * This method initializes Beenden	
		 * 	
		 * @return javax.swing.JMenuItem	
		 */
		private JMenuItem getBeenden()
			{
				if (Beenden == null)
					{
						Beenden = new JMenuItem();
						Beenden.setText("Beenden");
						this.Beenden.addActionListener(myActionListener);
					}
				return Beenden;
			}

		/**
		 * @param args
		 */
		public static void main(String[] args)
			{
				// TODO Auto-generated method stub

				SwingUtilities.invokeLater(new Runnable()
					{
						public void run()
							{
								Editor thisClass = new Editor();
								thisClass
										.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
								thisClass.setVisible(true);
							}
					});
			}

		/**
		 * This is the default constructor
		 */
		public Editor()
			{
				super();
				initialize();
			}

		/**
		 * This method initializes this
		 * 
		 * @return void
		 */
		private void initialize()
			{
				this.setSize(300, 200);
				this.setJMenuBar(getJJMenuBar());
				this.setContentPane(getJContentPane());
				this.setTitle("JFrame");
			}

		/**
		 * This method initializes jContentPane
		 * 
		 * @return javax.swing.JPanel
		 */
		private JPanel getJContentPane()
			{
				if (jContentPane == null)
					{
						jContentPane = new JPanel();
						jContentPane.setLayout(new BorderLayout());
						jContentPane.add(getJScrollPane(), BorderLayout.WEST);
						jContentPane.add(getJScrollPane1(), BorderLayout.EAST);
					}
				return jContentPane;
			}

	}

Java:
  import java.awt.event.*;
  import java.awt.*;
  import java.io.*;
  public class MyActionListener implements ActionListener
  {
    public Editor f;
    public MyActionListener(Editor f)
    {
      this.f=f;
   }
   public void actionPerformed(ActionEvent e)
   {
     if(e.getSource()==f.oeffnen)
     {
       FileDialog fd =
                 new FileDialog(f,"Öffnen",FileDialog.LOAD);
       fd.setFile("*.txt");
       fd.show();
       String file = fd.getDirectory()+fd.getFile();
       if(fd.getFile()!=null)
       {
         BufferedReader in=null;
         f.jTextArea.selectAll();
         f.jTextArea.replaceRange("",
                               f.jTextArea.getSelectionStart(),
                               f.jTextArea.getSelectionEnd());
         try
         {
           String zeile=null;
           in = new BufferedReader(
                 new InputStreamReader(
                 new FileInputStream(file)));
           while((zeile=in.readLine())!=null)
             f.jTextArea.append(zeile+"\n");
           in.close();
         }
         catch(FileNotFoundException err)
         {
           System.out.println("Dateifehler (read)"+err);
         }
         catch(IOException err)
         {
           System.out.println("Fehler beim lesen. "+err);
         }
       }
     }
     if(e.getSource()==f.speichern)
     {
       FileDialog fd =
               new FileDialog(f,"Speichern",FileDialog.SAVE);
       fd.setFile("*.txt");
       fd.show();
       String file = fd.getDirectory()+fd.getFile();
       if(fd.getFile()!=null)
       {
         BufferedWriter out=null ;
         try
         {
           out = new BufferedWriter(
                 new OutputStreamWriter(
                 new FileOutputStream(file)));
           out.write(f.jTextArea.getText());
           out.close();
        }
         catch(FileNotFoundException err)
         {
           System.out.println("Dateifehler (write)"+err);
         }
         catch(IOException err)
         {
           System.out.println("Fehler beim Lesen."+err);
         }
       }
     }
     if(e.getSource()==f.Beenden)System.exit(0);
     
//#######################################################################
     
     if(e.getSource()==f.oeffnen2)
         {
           FileDialog fd =
                     new FileDialog(f,"Öffnen",FileDialog.LOAD);
           fd.setFile("*.txt");
           fd.show();
           String file = fd.getDirectory()+fd.getFile();
           if(fd.getFile()!=null)
           {
             BufferedReader in=null;
             f.jTextArea1.selectAll();
             f.jTextArea1.replaceRange("",
                                   f.jTextArea1.getSelectionStart(),
                                   f.jTextArea1.getSelectionEnd());
             try
             {
               String zeile=null;
               in = new BufferedReader(
                     new InputStreamReader(
                     new FileInputStream(file)));
               while((zeile=in.readLine())!=null)
                 f.jTextArea1.append(zeile+"\n");
               in.close();
             }
             catch(FileNotFoundException err)
             {
               System.out.println("Dateifehler (read)"+err);
             }
             catch(IOException err)
             {
               System.out.println("Fehler beim lesen. "+err);
             }
           }
         }
         if(e.getSource()==f.speichern2)
         {
           FileDialog fd =
                   new FileDialog(f,"Speichern",FileDialog.SAVE);
           fd.setFile("*.txt");
           fd.show();
           String file = fd.getDirectory()+fd.getFile();
           if(fd.getFile()!=null)
           {
             BufferedWriter out=null ;
             try
             {
               out = new BufferedWriter(
                     new OutputStreamWriter(
                     new FileOutputStream(file)));
               out.write(f.jTextArea1.getText());
               out.close();
            }
             catch(FileNotFoundException err)
             {
               System.out.println("Dateifehler (write)"+err);
             }
             catch(IOException err)
             {
               System.out.println("Fehler beim Lesen."+err);
             }
           }
         }
         if(e.getSource()==f.beenden2)System.exit(0);
   }
}
 

Anhänge

  • gui1.JPG
    gui1.JPG
    15 KB · Aufrufe: 52
  • gui2.jpg
    gui2.jpg
    26,8 KB · Aufrufe: 48

CroniD

Aktives Mitglied
Jop, einfach einen anderen layoutmanager als das BorderLayout verwenden. Insofern sich beide JScrollpanes gleichmäßig anpassen sollen, dann würde ich dir das GridLayout ans Herz legen. Wenn das egal ist und sagen wir mal nur JScrollPane1 sich skalieren soll, dann kannst du das BorderLayout beibehalten und einfach die BorderLayout Konstante auf CENTER setzen. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V JScrollBar soll weiterscrollen, wenn Inhalt von JTextArea erweitert wird AWT, Swing, JavaFX & SWT 7
S JTextArea soll mit Scrollbar ausgestattet sein AWT, Swing, JavaFX & SWT 4
Tom299 JScrollPane(JTextArea) Scrollbar soll am Anfang stehen AWT, Swing, JavaFX & SWT 2
W JTextArea im GridBagLayout soll nur 3 Zeilen zeigen AWT, Swing, JavaFX & SWT 2
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
RedEagle Swing JTextArea ist leer AWT, Swing, JavaFX & SWT 13
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
K Swing 2 JTextArea parrallel scrollable AWT, Swing, JavaFX & SWT 16
Hatsi09 JTextArea Inhalt verlinken AWT, Swing, JavaFX & SWT 4
ralfb1105 jTextArea Scrollbar hinzufügen - mit Jigloo erstellt AWT, Swing, JavaFX & SWT 7
S Ausgabe in JTextArea AWT, Swing, JavaFX & SWT 13
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
F 2D-Grafik JTextArea drucken bringt mieses Ergebnis AWT, Swing, JavaFX & SWT 2
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
Bluedaishi JtextArea AWT, Swing, JavaFX & SWT 6
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
Bluedaishi JDialog modal und JTextArea AWT, Swing, JavaFX & SWT 4
F JTextarea Steuern ~ consolenanbindung AWT, Swing, JavaFX & SWT 5
F Event Handling JTextArea auf bestimmte Eingabe reagieren (Return-Taste) AWT, Swing, JavaFX & SWT 2
F JTextArea hat keinen Rahmen AWT, Swing, JavaFX & SWT 10
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R JTextArea mit verschiedenen Textfarben AWT, Swing, JavaFX & SWT 6
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
HoloYoitsu jTextArea.setCaretPosition(); What am I doing wrong? AWT, Swing, JavaFX & SWT 0
S Zeilenumbruch jTextArea mit toString AWT, Swing, JavaFX & SWT 2
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
M JTextArea - Leertaste "sperren" AWT, Swing, JavaFX & SWT 1
S Inhalt der Java-Konsole in die JTextArea AWT, Swing, JavaFX & SWT 3
M Swing JTextArea mit ScrollBar AWT, Swing, JavaFX & SWT 9
S Swing Zahl der Zeilenumbrüche in einer JTextArea bestimmen AWT, Swing, JavaFX & SWT 1
F Swing Caret in JTextArea vergrößern AWT, Swing, JavaFX & SWT 2
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
N JFrame änliches wie JTextArea? AWT, Swing, JavaFX & SWT 2
A Swing JTextArea - Multi-Line-Editing AWT, Swing, JavaFX & SWT 2
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
O JTextArea befüllen AWT, Swing, JavaFX & SWT 2
G JTextArea on the fly aus anderem Programm befüllen AWT, Swing, JavaFX & SWT 4
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T Swing Ausgabe aus ArrayList in Klasse1 in jTextArea in Klasse2 AWT, Swing, JavaFX & SWT 2
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
B Drucken der JTextArea AWT, Swing, JavaFX & SWT 4
M JTextArea Zeile hinzufügen AWT, Swing, JavaFX & SWT 4
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
A JTextArea - Zeichenbegrenzung nach .txt Datei import AWT, Swing, JavaFX & SWT 6
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
Hoppelmann Swing Tasten in JTextArea blockieren AWT, Swing, JavaFX & SWT 2
S JTextArea Tastaturanschläge AWT, Swing, JavaFX & SWT 2
E Swing JTextArea in JFrame, wie nun WindowFocusListener implementieren? AWT, Swing, JavaFX & SWT 2
S Problem mit JButton und JTextArea AWT, Swing, JavaFX & SWT 2
J Swing Mitwachsende JTextArea+ JPanel AWT, Swing, JavaFX & SWT 4
P Swing JtextArea füllen mit setText AWT, Swing, JavaFX & SWT 7
M Probleme mit der Selektion einer JTextArea AWT, Swing, JavaFX & SWT 3
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
hdi Swing ListCellRenderer + JTextArea + LineWrap AWT, Swing, JavaFX & SWT 6
T ComponentOrientation in JTextArea AWT, Swing, JavaFX & SWT 3
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
G Swing JTextArea mit fester Anzahl Spalten! AWT, Swing, JavaFX & SWT 10
G ein JTextArea in zwei JPanels AWT, Swing, JavaFX & SWT 2
L JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 7
padde479 Swing replace JTextArea funktioniert nicht AWT, Swing, JavaFX & SWT 2
L Zeilenumbrüche aus JTextArea MIT in Textdatei schreiben AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
Ollek JTextArea - Feste Zeilenanzahl(8 Zeilen) AWT, Swing, JavaFX & SWT 3
S Swing JTextArea während der Laufzeit füllen AWT, Swing, JavaFX & SWT 5
Ollek Text in JTextField und JTextArea zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
P Datenelement anderer Klasse in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4
P Scrollbar JTextArea AWT, Swing, JavaFX & SWT 23
M Swing Ausgabe in JTextArea verzögern AWT, Swing, JavaFX & SWT 7
S System.out in JTextArea AWT, Swing, JavaFX & SWT 4
S Swing JTextArea - Bild auf/ab Tasten implementieren AWT, Swing, JavaFX & SWT 4
J JTextArea verschwindet bei resize vom JFrame AWT, Swing, JavaFX & SWT 2
VfL_Freak "setAccelerator/KeyStroke" bei JTextArea ? AWT, Swing, JavaFX & SWT 6
P Swing JTextArea - beim neuzeichnen bleibt manchmal weißer Kasten AWT, Swing, JavaFX & SWT 10
Dit_ JTextArea zu Zeile X scrollen AWT, Swing, JavaFX & SWT 4
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
B Wechsel JTextArea und JComponent AWT, Swing, JavaFX & SWT 9
M [erledigt] Bestimmte Zeile aus JTextArea löschen AWT, Swing, JavaFX & SWT 3
G Swing JTable und JTextArea synchronisieren AWT, Swing, JavaFX & SWT 2
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
M JTextArea AWT, Swing, JavaFX & SWT 2
E Swing JTextArea Alternative? AWT, Swing, JavaFX & SWT 5
A Swing JTextArea über Frame hinaus anzeigen? AWT, Swing, JavaFX & SWT 2
S JInternalFrame oder JTextArea neu laden AWT, Swing, JavaFX & SWT 2
N JTextArea.setLineWrap Bug? AWT, Swing, JavaFX & SWT 3
N Swing JTextArea/JScrollpane: JScrollbar position AWT, Swing, JavaFX & SWT 8
I JTextArea mit Copy Paste Funktion AWT, Swing, JavaFX & SWT 7
M Swing JTextArea größe anpassen & setBackground liefer Nullpointer AWT, Swing, JavaFX & SWT 4
Plastagen JTextArea CaretPosition Aktualisierung AWT, Swing, JavaFX & SWT 10
C JTextField und JTextArea - Verständnisproblem AWT, Swing, JavaFX & SWT 14
B Exceptions werfen und in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4
F new Line in JTextarea AWT, Swing, JavaFX & SWT 15
X Problem bei JTextArea und Thread.sleep() AWT, Swing, JavaFX & SWT 8
J Beliebtes Problem: Scrollbar in JTextArea AWT, Swing, JavaFX & SWT 4
w0ddes Swing JTextArea auf JScrollPane - Autoscroll?! AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben