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 6552681
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T12:29:22+00:00 2026-05-25T12:29:22+00:00

I need to know how to build a java layout that will be dynamically

  • 0

I need to know how to build a java layout that will be dynamically resized. The layout is set up with 4 panels, stacked top to bottom:

the top panel is a GridLayout(4,2). each rown is a label and a text field
the second panel is a single button
the third panel is a grid layout (n,2). I will get to n in a minute
the bottom panel is also a single button

the n is a dynamically changing number. the third panel contains a text field, then a panel with 2 buttons to the right. the problem I have is that I need to be able to add and remove these rows and have the JFrame resize automatically as I do. I tried setting the Frame as a GridLayout(4,1), but when I change the size on actionPerformed(), it spreads the extra space evenly. I want to add only space to the third panel.

Thanks

EDIT: ActionPerformed Method

public void actionPerformed(ActionEvent e) {
    Object src = e.getSource();

    if (src == addTarget) {
        targetChoosers.add(new JFileChooser(new File("C:\\")));
        targets.add(new JTextField());
        targetButtons.add(new JButton("Browse..."));
        targetDeleters.add(new JButton("Delete"));

        int numTargets = targets.size();
        targetButtons.get(numTargets - 1).addActionListener(this);
        targetDeleters.get(numTargets - 1).addActionListener(this);

        bottomPanel.setLayout(new GridLayout(numTargets, 2));
        bottomPanel.add(targets.get(numTargets - 1));

        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(1, 2));
        panel.add(targetButtons.get(numTargets - 1));
        panel.add(targetDeleters.get(numTargets - 1));

        bottomPanel.add(panel);
    } 

    //...

    else if (targetDeleters.contains(src)) {
        int index = targetDeleters.indexOf(src);

        targets.remove(index);
        targetChoosers.remove(index);
        targetButtons.remove(index);
        targetDeleters.remove(index);

        this.remove(submit);
        this.remove(bottomPanel);

        int numTargets = targets.size();
        bottomPanel = new JPanel(new GridLayout(numTargets, 2));

        for (int i = 0; i < targets.size(); i++) {
            bottomPanel.add(targets.get(i));

            JPanel panel = new JPanel();
            panel.setLayout(new GridLayout(1, 2));
            panel.add(targetButtons.get(i));
            panel.add(targetDeleters.get(i));

            bottomPanel.add(panel);
        }

        this.add(bottomPanel);
        this.add(submit);
    }

    //...   

    pack();

    invalidate();
    validate();
}
  • 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-25T12:29:23+00:00Added an answer on May 25, 2026 at 12:29 pm

    GridBagLayout may help for the (n,2) problem.

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

Sidebar

Related Questions

I need to know when the memory will be allocated for a particular program.
I will be hosting a java project on SVN which will need to be
I want to build a simple code generator in java that can take database
hello expert, i need build app that share mobile app to second mobile so
I want to build a web-based irc client with JQuery. I know I need
I need to know how to turn on Code Coverage when running TFS builds
I need to know about Epoll On linux System. Could you recommend manual or
I need to know how the performance of different XML tools (parsers, validators, XPath
I need to know how much space occupies all the databases inside an SQL
I need to know, from within Powershell, if the current drive is a mapped

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.