Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 302035
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T07:03:38+00:00 2026-05-12T07:03:38+00:00

I always have trouble with Java layouts, but the main thing bugging me now

  • 0

I always have trouble with Java layouts, but the main thing bugging me now is that when the content changes, in particular changes it sizes, it’s not laid out again properly. Take the example below:

package layouttest;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class LayoutTestStart extends JFrame implements ActionListener
{
    static JButton button= new JButton("Expand");
    static JTextArea f = new JTextArea("A medium sized text");
    static LayoutTestStart lst;

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }

    public static void createAndShowGUI()
    {
         lst  = new LayoutTestStart();
        lst.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel all = new JPanel();

        button.addActionListener(lst);

        all.add(button);
        all.add(f);
        lst.getContentPane().add(all);

        lst.setVisible(true);
        lst.pack();
    }
    @Override
    public void actionPerformed(ActionEvent e)
    {
        f.setText(f.getText()+"\n"+f.getText());

        // this doesn't work
        f.invalidate();

        // this does but it's cheating
//      lst.pack();
    }
}

The only way I get this to work is to call lst.pack(), but that’s cheating since then each component should have a reference to it’s JFrame, which gets messy when a component is a seperate class. What’s the preferred way to let this example work?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T07:03:38+00:00Added an answer on May 12, 2026 at 7:03 am

    Well, generally, users don’t like the size of the frame changing every time they hit enter. The frame should be designed to accomodate growth. So you would define the text area to have a given number of row and columns. Then you add the text area to a scroll pane and add the scrollpane to the frame. Then as data is changes scrollbars will appear or disappear as required.

    If however you truly need to have a dynamically changing frame then you should use pack(). You can use:

    SwingUtilities.windowForComponent(...) 
    

    where the Component is the source component of the ActionEvent, to find the Window to pack().

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 135k
  • Answers 135k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer XFT is the X FreeType (TrueType clone/compatible) Font rasterization library… May 12, 2026 at 7:04 am
  • Editorial Team
    Editorial Team added an answer You can use Timing Framework or Trident. Both of them… May 12, 2026 at 7:04 am
  • Editorial Team
    Editorial Team added an answer How about a loop where you read the commands: setup_socket();… May 12, 2026 at 7:04 am

Related Questions

I'm in the process of reviewing a code base (~20K LOC) and trying to
I'm working on a web application. There is one place where the user can
Over the years, I think I have seen and tried every conceivable way of
I have started to code a web app for small businesses, and I have
I've had success with LuaSocket 's TCP facility, but I'm having trouble with its

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.