• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Problem when adding a new JTextPane to GroupLayout at run time

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

I am new to Java. I am Creating a Editor Application in Java. Initally this applcation has a JTextPane(name EditorPane) which occupies all of the sapce of JInternalFrame and My maintoolbar also has a button to add the new JTextPane(name headPane) to the JInternalFrame Form at runtime. In the Editor class which extends JInternalFrame class , I am using the following code to add the JTextPane (at initial stage):

JTextPane HeadPane, EditorPane;
GroupLayout layout;
GroupLayout.SequentialGroup hseqgroup;
GroupLayout.SequentialGroup vseqgroup;

Editor() // Constructor of my JInternalFrame class
{
setOpaque(true);
setPreferredSize(new java.awt.Dimension(800, 600));
EditorPane = new javax.swing.JTextPane();
EditorPane.setOpaque(true);
EditorPane.setMaximumSize(new Dimension(2147483647,2147483647));
EditorPane.setMinimumSize(new Dimension(6,21));
EditorPane.setPreferredSize(new Dimension(6,21));

layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);

hseqgroup = layout.createSequentialGroup();
vseqgroup = layout.createSequentialGroup();
GroupLayout.ParallelGroup hParallelGroup1 = layout.createParallelGroup
(GroupLayout.Alignment.LEADING);
hParallelGroup1.addComponent(EditorPane, javax.swing.GroupLayout.DEFAULT_SIZE, 790,
Short.MAX_VALUE);

hseqgroup.addGroup(hParallelGroup1);

GroupLayout.ParallelGroup vparallelGroup1 = layout.createParallelGroup(GroupLayout.Alignment.LEADING);
vparallelGroup1.addComponent(EditorPane, javax.swing.GroupLayout.Alignment.TRAILING,
540, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE);

vseqgroup.addGroup(vparallelGroup1);
layout.setHorizontalGroup(hseqgroup);
layout.setVerticalGroup(vseqgroup);
pack();
this.closable = true;
this.maximizable = true;
}

and in the addNewJTextPane Button, I am using the following code:

HeadPane = new JTextPane();
HeadPane.setBounds(0, 0, EditorPane.getWidth(), 100);

HeadPane.setOpaque(true);
HeadPane.setMaximumSize(new Dimension(2147483647,100));
HeadPane.setMinimumSize(EditorPane.getMinimumSize());
HeadPane.setPreferredSize(EditorPane.getPreferredSize());

GroupLayout.ParallelGroup hparallelGroup1 = layout.createParallelGroup
(GroupLayout.Alignment.LEADING);
hparallelGroup1.addComponent(HeadPane, GroupLayout.DEFAULT_SIZE, 790, Short.MAX_VALUE);

hseqgroup.addGroup(hparallelGroup1);

GroupLayout.ParallelGroup vparallelGroup1 = layout.createParallelGroup (GroupLayout.Alignment.LEADING);
vparallelGroup1.addComponent(HeadPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE);

vseqgroup.addGroup(vparallelGroup1);

this.EditorPane.setLocation(0, 120);

When the user clicked on the button to add the new JTextPane, it adds the New JTextPane to the JInternal Form But change the size of the previous JTextPane and also the new JTextPane size and location not correct.

The form is appearing like it has devided into two columns and the first column displays the previous JTextPane and the second column displays the new JTextPane starting from the last of the First JTextPane.

I want to add the New JtextPane to the top of the previous JTextPane and also both JTextPane should occupy the complete horizontal area of the form. Only their vertical size should be differ and they should also resize when the form resize. Also I want to fix the vertical size of the new JTextPane not of the previous JTextPane.

How can I do it?
 
Bartender
Posts: 3648
16
Android Mac OS X Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to the Ranch. Please use code tags when posting codes.

You are using a GroupLayout. Have you try using other layout managers to see how it will look? For swing, choosing a proper layout manager is key.

I think fiddle around with different layout managers like flow, border, grid etc to see the effect. Also you can have several "panels" in each section and even panel can have its own layout manager. So it's endless possibilities lol.
 
"I know this defies the law of gravity... but I never studied law." -B. Bunny Defiant tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic