Resize JTextArea dynamically
Hi, I was wondering if there is a way to dynamically resize a JTextArea
when I resize my JFrame. This is the code I have so far
[code]
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ComponentEvent;
/*
* RoosterGui.java
*
* Created on July 10, 2006, 9:32 PM
*/
public class RoosterGui extends javax.swing.JFrame {
public RoosterGui() {
initComponents();
placeFrame();
}
private void placeFrame(){
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle window = getBounds();
this.setLocation((screen.width - window.width)/2,
(screen.height - window.height)/2);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
mainPane = new javax.swing.JPanel();
editorScroll = new javax.swing.JScrollPane();
editor = new javax.swing.JTextArea();
menuBar = new javax.swing.JMenuBar();
fileMenu = new javax.swing.JMenu();
editMenu = new javax.swing.JMenu();
formatMenu = new javax.swing.JMenu();
toolsMenu = new javax.swing.JMenu();
helpMenu = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Rooster Editor v4.1");
mainPane.setLayout(new java.awt.BorderLayout());
editor.setColumns(20);
editor.setFont(new java.awt.Font("Arial", 0, 12));
editor.setRows(5);
editor.setMinimumSize(new java.awt.Dimension(100, 37));
editorScroll.setViewportView(editor);
mainPane.add(editorScroll, java.awt.BorderLayout.CENTER);
fileMenu.setText("File");
menuBar.add(fileMenu);
editMenu.setText("Edit");
menuBar.add(editMenu);
formatMenu.setText("Format");
menuBar.add(formatMenu);
toolsMenu.setText("Tools");
menuBar.add(toolsMenu);
helpMenu.setText("Help");
menuBar.add(helpMenu);
setJMenuBar(menuBar);
org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPane,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 559, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPane,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 307, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JMenu editMenu;
private javax.swing.JTextArea editor;
private javax.swing.JScrollPane editorScroll;
private javax.swing.JMenu fileMenu;
private javax.swing.JMenu formatMenu;
private javax.swing.JMenu helpMenu;
private javax.swing.JPanel mainPane;
private javax.swing.JMenuBar menuBar;
private javax.swing.JMenu toolsMenu;
// End of variables declaration
}
[/code]
Basically when I resize the Frame (the window) the JTextArea will
remain at the same size as it was before I started to drag the window.
So I drag the window and what happens is that only untill I am finished
dragging and I let go of the mouse, then the JTextArea resizes to the
current size of the window. Is there a way to make it so that the
JTextArea is resized as I am dragging the window. A example of what I
want is notepad. When resized the text box resizes with the window
accordingly. In java it doesn't resize the JTextArea untill I complete
the window resizing action. Is there a way I can make the JTextArea
resize with the window as I am dragging the window.
-- Thanks.