Größe von jPanel bzw. jTextArea (in jScrollpane) anpassen

Status
Nicht offen für weitere Antworten.

snoop83

Mitglied
wie bereits in einem anderen Posting erwähnt, arbeite ich mich zur Zeit in Java ein und soll dort als erstes eine GUI implementieren. Ich arbeite hier mit einer Verschachtelung von Gridlayout und Borderlayout.

Das ganze sieht so aus:
gui_borland_screen.gif


skizze_gui_2.gif


erstellt mit Borland JBuilder 2005..

Leider schaffe ich es nicht, die Größe meiner jScrollPane (dort eingebettet ist eine jTextArea) anzupassen. Die ist viel zu groß, wie man sieht ..

Die ScrollPane liegt in einem Borderlayout .. dort wiederrum liegt oben [Spielfeld (links, z.Z. noch Platzhalter) + Panel mit 7 Info-Labels] und unten [Panel mit: Chat-Ausgabe (Textarea), Chateingabezeile sowie Senden-Button]

Was muss ich tun, damit ich die Textarea in der Scrollpane verkleinern kann (ca. halbe Höhe)

hier mein code:
Code:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.JCheckBox;
import javax.swing.JRadioButton;
import javax.swing.JToggleButton;
import javax.swing.JEditorPane;
import javax.swing.JLabel;
import com.borland.jbcl.layout.PaneLayout;
import com.borland.jbcl.layout.*;
import javax.swing.JTextField;
import javax.swing.JList;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;

public class Frame1 extends JFrame {
    BorderLayout borderLayoutGesamt = new BorderLayout();
    JPanel jPanelSpielInfoFeldChat = new JPanel();
    JLabel jLabelInfozeile = new JLabel();
    GridLayout gridLayoutSpielInfoFeldChat = new GridLayout();
    JPanel jPanelSpielfeldInfofeld = new JPanel();
    JPanel jPanelChatGesamt = new JPanel();
    BorderLayout borderLayoutSpielfeldInfofeld = new BorderLayout();
    BorderLayout borderLayoutChatGesamt = new BorderLayout();
    JPanel jPanelChatEingabe = new JPanel();
    BorderLayout borderLayout4 = new BorderLayout();
    BorderLayout borderLayout5 = new BorderLayout();
    JPanel jPanelInfofeld = new JPanel();
    GridLayout gridLayout2 = new GridLayout();
    JLabel jLabelNameSpieler = new JLabel();
    JLabel jLabelNameGegner = new JLabel();
    GridLayout gridLayoutInfofeld = new GridLayout();
    JLabel jLabelIPSpieler = new JLabel();
    JLabel jLabelIPGegner = new JLabel();
    JLabel jLabelSpielphase = new JLabel();
    JLabel jLabelSpieldauer = new JLabel();
    JLabel jLabelPunktestand = new JLabel();
    JEditorPane jEditorPaneSpielfeld = new JEditorPane();
    JTextField jTextFieldChatEingabe = new JTextField();
    JButton jButtonChatSenden = new JButton();
    BorderLayout borderLayoutChatEingabe = new BorderLayout();
    JMenuBar hauptmenu = new JMenuBar();
    JMenu jmenuspiel = new JMenu("Spiel");
    JMenu jmenuhilfe = new JMenu("Hilfe");
    JMenuItem jmenuspielneu = new JMenuItem("neues Spiel", 'n');
    JMenuItem jmenuspielnameaendern = new JMenuItem("Spielername ändern", 'S');
    JMenuItem jmenuspielhighscore = new JMenuItem("Highscore", 'H');
    JMenuItem jmenuspielbeenden = new JMenuItem("Spiel beenden", 'b');
    JMenuItem jmenuhilfehandbuch = new JMenuItem("Handbuch", 'H');
    JMenuItem jmenuhilfetutorial = new JMenuItem("Tutorial", 'T');
    JScrollPane jScrollPaneChatAusgabe = new JScrollPane();
    JTextArea jTextAreaChatAusgabe = new JTextArea();


    public Frame1() {
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        getContentPane().setLayout(borderLayoutGesamt);
        jPanelSpielInfoFeldChat.setBackground(SystemColor.control);
        jPanelSpielInfoFeldChat.setLayout(gridLayoutSpielInfoFeldChat);
        jPanelInfofeld.setBackground(SystemColor.control);
        jPanelInfofeld.setLayout(gridLayoutInfofeld);
        gridLayoutInfofeld.setColumns(1);
        gridLayoutInfofeld.setRows(7);
        jLabelInfozeile.setText("Informationszeile");
        jLabelNameSpieler.setText(" Spielername (Farbe)");
        jLabelNameGegner.setText(" Gegnername (Farbe)");
        jLabelIPSpieler.setText(" IP (lokal): xxx.xxx.xxx.xxx");
        jLabelIPGegner.setText(" IP (Gegner): xxx.xxx.xxx.xxx");
        jLabelSpielphase.setText(" Spielphase: 1, 2 oder 3");
        jLabelSpieldauer.setText(" Spieldauer: xx:xx");
        jLabelPunktestand.setText(" Punktestand: x : x");
        jEditorPaneSpielfeld.setBackground(Color.lightGray);
        jEditorPaneSpielfeld.setText("Spielfeld-Platzhalter !!");
        jTextFieldChatEingabe.setText("Chat-Eingabefeld");
        jButtonChatSenden.setText("Senden");
        jPanelChatEingabe.setLayout(borderLayoutChatEingabe);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setJMenuBar(hauptmenu);
        this.setResizable(false);
        this.setTitle("Mühle");
        this.setSize(700, 550);
        this.setLocation(50, 50);
        jmenuspiel.setToolTipText("");
        jmenuspiel.setText("Spiel");
        jmenuhilfe.setText("Hilfe");
        jmenuspielneu.setText("neues Spiel");
        jmenuspielnameaendern.setText("Spielername ändern");
        jmenuspielhighscore.setText("Highscore");
        jmenuspielbeenden.setText("Spiel beenden");
        jmenuhilfehandbuch.setText("Handbuch");
        jmenuhilfetutorial.setText("Tutorial");
        jTextAreaChatAusgabe.setText(
                "TextArea (Chat-Ausgabe) .. Zeilenumbruch: nein  ;  in Scrollpane: " +
                "ja");
        jTextAreaChatAusgabe.setWrapStyleWord(true);
        jScrollPaneChatAusgabe.setHorizontalScrollBarPolicy(JScrollPane.
                HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPaneChatAusgabe.setVerticalScrollBarPolicy(JScrollPane.
                VERTICAL_SCROLLBAR_ALWAYS);
        jScrollPaneChatAusgabe.setMinimumSize(new Dimension(10, 10));
        this.getContentPane().add(jLabelInfozeile, java.awt.BorderLayout.SOUTH);
        gridLayoutSpielInfoFeldChat.setRows(2);
        this.getContentPane().add(jPanelSpielInfoFeldChat,
                                  java.awt.BorderLayout.CENTER);
        jPanelSpielfeldInfofeld.setBackground(SystemColor.control);
        jPanelSpielfeldInfofeld.setLayout(borderLayoutSpielfeldInfofeld);
        jPanelChatGesamt.setBackground(SystemColor.control);
        jPanelChatGesamt.setLayout(borderLayoutChatGesamt);
        jPanelChatEingabe.setBackground(SystemColor.control);
        jPanelSpielInfoFeldChat.add(jPanelSpielfeldInfofeld);
        jPanelSpielfeldInfofeld.add(jPanelInfofeld, java.awt.BorderLayout.EAST);
        // Label-text einrichten
        jPanelInfofeld.add(jLabelNameSpieler);
        jPanelInfofeld.add(jLabelNameGegner);
        jPanelInfofeld.add(jLabelIPSpieler);
        jPanelInfofeld.add(jLabelIPGegner);
        jPanelInfofeld.add(jLabelSpielphase);
        jPanelInfofeld.add(jLabelSpieldauer);
        jPanelInfofeld.add(jLabelPunktestand);
        jPanelSpielfeldInfofeld.add(jEditorPaneSpielfeld,
                                    java.awt.BorderLayout.CENTER);
        jPanelSpielInfoFeldChat.add(jPanelChatGesamt);
        jPanelChatGesamt.add(jPanelChatEingabe, java.awt.BorderLayout.SOUTH);
        jPanelChatEingabe.add(jButtonChatSenden, java.awt.BorderLayout.EAST);
        jPanelChatEingabe.add(jTextFieldChatEingabe,
                              java.awt.BorderLayout.CENTER);

        // Menü erstellen
        hauptmenu.add(jmenuspiel);
        hauptmenu.add(jmenuhilfe);
        jmenuspiel.add(jmenuspielneu);
        jmenuspiel.addSeparator();
        jmenuspiel.add(jmenuspielnameaendern);
        jmenuspiel.add(jmenuspielhighscore);
        jmenuspiel.addSeparator();
        jmenuspiel.add(jmenuspielbeenden);
        jmenuhilfe.add(jmenuhilfehandbuch);
        jmenuhilfe.add(jmenuhilfetutorial);
        jPanelChatGesamt.add(jScrollPaneChatAusgabe,
                             java.awt.BorderLayout.CENTER);
        jScrollPaneChatAusgabe.getViewport().add(jTextAreaChatAusgabe);

        // Actionlistener einrichten
        jmenuhilfetutorial.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
            jLabelInfozeile.setText("Action: Click: Menü: Tutorial");
            }
          }
        );

        jmenuhilfehandbuch.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
            jLabelInfozeile.setText("Action: Click: Menü: Handbuch");
            }
          }
        );

        jButtonChatSenden.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
            jLabelInfozeile.setText("Action: Click: Chat: Button Senden");
            }
          }
        );

        jmenuspielbeenden.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
            jLabelInfozeile.setText("Action: Click: Menü: Spiel beenden");
            }
          }
        );

        jmenuspielhighscore.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
            jLabelInfozeile.setText("Action: Click: Menü: Highscore");
            }
          }
        );

        jmenuspielnameaendern.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
            jLabelInfozeile.setText("Action: Click: Menü: Namen ändern");
            }
          }
        );

        jmenuspielneu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
            jLabelInfozeile.setText("Action: Click: Menü: neues Spiel");
            }
          }
        );


        // Frame anzeigen
        this.setVisible(true);
    }


    public static void main(String[] args){
       Frame1 hauptfenster = new Frame1();
       }


}
 

Snape

Bekanntes Mitglied
snoop83 hat gesagt.:
Was muss ich tun, damit ich die Textarea in der Scrollpane verkleinern kann (ca. halbe Höhe)

Verwende ein GridBagLayout für die gesamte GUI. BorderLayout hat eben für CENTER die Eigenschaft, dass die darin befindliche Komponente ausgedehnt wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
L Swing JPanel Größe anpassen AWT, Swing, JavaFX & SWT 6
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
A JPanel größe verändern AWT, Swing, JavaFX & SWT 4
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
N JPanel größe wissen/festlegen vor dem Anzeigen AWT, Swing, JavaFX & SWT 3
R JPanel-Größe verändert sich nicht. Warum? AWT, Swing, JavaFX & SWT 5
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
O Swing Jpanel autom. auf JFrame Größe bringen AWT, Swing, JavaFX & SWT 6
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
P JPanel Größe ändern AWT, Swing, JavaFX & SWT 22
I Größe von JPanel ändern AWT, Swing, JavaFX & SWT 6
0 JPanel nicht an größe des JFrames anpassen AWT, Swing, JavaFX & SWT 3
B JPanel Größe regulieren AWT, Swing, JavaFX & SWT 4
T Swing JPanel in JScrollPane mit maximaler Größe AWT, Swing, JavaFX & SWT 8
C Swing Größe vom JPanel anfangs nicht verfügbar AWT, Swing, JavaFX & SWT 3
C Swing JPanel Größe relativ zum JFrame AWT, Swing, JavaFX & SWT 9
R Swing Button-Größe in JPanel mit GridBagLayout nicht änderbar AWT, Swing, JavaFX & SWT 3
C Swing Größe von JPanel festlegen AWT, Swing, JavaFX & SWT 2
lumo Swing JPanel & JLabel fixe größe AWT, Swing, JavaFX & SWT 4
L Dynamisches Ändern der Größe in JPanel mit paint()-Methode AWT, Swing, JavaFX & SWT 8
S definierte Größe von contentPane / JPanel möglich? AWT, Swing, JavaFX & SWT 4
M JPanel Größe Animieren AWT, Swing, JavaFX & SWT 2
lolkind unter JPanel eine JTable auf voller Größe anzeigen lassen? AWT, Swing, JavaFX & SWT 6
S Veränderung der Größe von JPanel? AWT, Swing, JavaFX & SWT 2
P JPanel im BorderLayout feste Größe/Position zuordnen AWT, Swing, JavaFX & SWT 3
S JPanel Größe ermitteln AWT, Swing, JavaFX & SWT 9
vogella JPanel Größe verschieben AWT, Swing, JavaFX & SWT 2
M JScrollPane auf JPanel - Resizing - Größe verändern AWT, Swing, JavaFX & SWT 10
O Swing GridBagLayout in Größe anpassen AWT, Swing, JavaFX & SWT 6
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
Yonnig JavaFX Größe von WebView an Content anpassen AWT, Swing, JavaFX & SWT 3
J Swing Komponente wird unpassend angepasst in der Größe AWT, Swing, JavaFX & SWT 35
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
D JavaFX Größe des Bild an ImageView anpassen AWT, Swing, JavaFX & SWT 3
B Dynamische ListView-Größe, die bei Fenstergrößenänderung sich anpasst AWT, Swing, JavaFX & SWT 19
R Swing JTextField - Schriftgröße je nach Länge und Größe ändern AWT, Swing, JavaFX & SWT 0
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
B Größe der Parent-Component dynamisch an children anpassen AWT, Swing, JavaFX & SWT 30
L JavaFX AnchorPane an die Größe der Scene oder Window binden? AWT, Swing, JavaFX & SWT 3
K JavaFX Component Größe an Inhalt anpassen AWT, Swing, JavaFX & SWT 11
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
R Größe von Scene und stage an grid anpassen AWT, Swing, JavaFX & SWT 4
M Java FX größe der shapes anpassen AWT, Swing, JavaFX & SWT 0
E Wie kann ich ein JLabel auf größe der schriftlänge setzten? AWT, Swing, JavaFX & SWT 2
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4
L Swing Größe automatisch anpassen AWT, Swing, JavaFX & SWT 14
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
J Swing Pane im SplitPane automatische Größe aktivieren AWT, Swing, JavaFX & SWT 0
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
L JavaFX ListView Größe anpassen AWT, Swing, JavaFX & SWT 1
Neumi5694 Größe von Komboboxen neu berechnen AWT, Swing, JavaFX & SWT 3
L JavaFX List oder TableView Größe dynamisch anpassen? AWT, Swing, JavaFX & SWT 4
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
I CSS - backgroundImage - Größe automatisch an den Container anpassen AWT, Swing, JavaFX & SWT 1
C Größe des Mauszeigers ermitteln AWT, Swing, JavaFX & SWT 5
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
K GridBagLayout verändert die größe? AWT, Swing, JavaFX & SWT 1
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
D JavaFX Alle Knöpfe auf die gleiche Größe AWT, Swing, JavaFX & SWT 14
G JFrame - manuell Größe verändern AWT, Swing, JavaFX & SWT 6
M LayoutManager GridBagLayout passt seine größe nicht an AWT, Swing, JavaFX & SWT 3
F Gui weicht von Designpreview ab (kein fensterrahmen, andere größe) AWT, Swing, JavaFX & SWT 13
M SWT ScrollPane Größe zu klein AWT, Swing, JavaFX & SWT 6
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
L JButton - Größe anders als erwartet AWT, Swing, JavaFX & SWT 2
L JDialog - Event wenn Parent größe ändert AWT, Swing, JavaFX & SWT 2
W GridBagLayout Größe geben AWT, Swing, JavaFX & SWT 1
S Swing JFrame hat nicht die Größe, die ich eingegeben habe AWT, Swing, JavaFX & SWT 3
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
T Swing Größe des Randes AWT, Swing, JavaFX & SWT 2
C LayoutManager JFrame größe und ausrichtung + Position von Fensterelementen AWT, Swing, JavaFX & SWT 2
B Swing JTable mit Daten - Reihen-Größe anpassen AWT, Swing, JavaFX & SWT 0
D SWT Window passt Größe nicht an AWT, Swing, JavaFX & SWT 4
U Größe eines Button im Menü ändern AWT, Swing, JavaFX & SWT 1
G JavaFX Größe der Parentknoten AWT, Swing, JavaFX & SWT 5
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
X Swing Größe eines Fensters JFrame / Frame AWT, Swing, JavaFX & SWT 5
SimonRap Swing JFrame Größe zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Größe der JFrame Decorations herausfinden? AWT, Swing, JavaFX & SWT 4
M Swing JLabel mit fester größe nachträglich formatieren AWT, Swing, JavaFX & SWT 2
A JComponent Größe AWT, Swing, JavaFX & SWT 8
S Größe von Panel verändern welches auf anderem Panel sitzt AWT, Swing, JavaFX & SWT 10
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
S Swing TextPane größe beschränken AWT, Swing, JavaFX & SWT 2
R Ellipse2D ändert Größe AWT, Swing, JavaFX & SWT 3
H Swing JButton größe ändern AWT, Swing, JavaFX & SWT 5
I Größe eines rotierten Images AWT, Swing, JavaFX & SWT 3
C Button Größe einstellen klappt nicht (setBounds) AWT, Swing, JavaFX & SWT 8
S 2D-Grafik Canvas Problem(Größe) AWT, Swing, JavaFX & SWT 6
R Größe/Anordnung der Gui-Elemente automatisch? AWT, Swing, JavaFX & SWT 6
S Die größe eines JButton ändern AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen


Oben