473,789 Members | 2,957 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

GridBagLayout

Hi everyone
I'm trying to develop an applet using JApplet. As the layout manager I
decided to use GridBagLayout. My layout will consist mainly of 7 JComboBox's
in a single row and one JTable beneath them.
My problem is, I can't even put the JComboBox's on the top of the
Applet. Everytime I do the add method, they stay put in the middle of the
Applet. I've tried setting GridBagConstrai nts.gridy = 0 but it didn't do me
any good.

Any help would be welcome, especially code examples or links
Thank you very much
Rui Pacheco
Jul 17 '05 #1
1 5024
"Rui Pacheco" <ru*********@vi averde.pt_NOSPA M> wrote in message news:<10******* ********@news.o ninet.pt>...
Hi everyone
I'm trying to develop an applet using JApplet. As the layout manager I
decided to use GridBagLayout. My layout will consist mainly of 7 JComboBox's
in a single row and one JTable beneath them.
My problem is, I can't even put the JComboBox's on the top of the
Applet. Everytime I do the add method, they stay put in the middle of the
Applet. I've tried setting GridBagConstrai nts.gridy = 0 but it didn't do me
any good.

Any help would be welcome, especially code examples or links
Thank you very much
Rui Pacheco


Wow, I guess having experience with other clunky GUI toolkits (like Xt
and Motif), GridBagLayout didn't seem too bad. I did like the way you
"attached" widgets to each other in those toolkits, though, like
"attachLeft " and "attachOpposite Right", stuff like that. I don't
really remember, it's been years.

Anyhow, from your description, I have to ask if you really need a
gridbag layout? Why would you want it? You know the way to getting
the interface exactly the way you want it is to make it as object
oriented as the code.

For example, assuming you want to use gridbag to make all the
comboboxes the same width, you might want to make two gridbags... one
for the top component, which might be a panel with a gridbag layout
with dimensions of 1 row and seven columns - make sure you set the
weights and so forth equally, and your fill is horizontal.

Then you have another gridbag, 2 rows by 1 column. The first row is
the jpanel you just created. This should also have a horizontal fill
to stretch to the width when the user resizes the window. The second
row would have the jtable - with fill being "BOTH", so that it
stretches to width and height. You may also need to set the weights
(top would have a Y weight of 0, the bottom 1, I think).

There's other ways to do it. Boxes is a nice way - create a parent
vertical box, then add a horizontal box with the comboboxes as the top
component, then the JTable below. You may need to set some options so
that it doesn't "wrap."

Now, I'm beginning to see your problem might be that the applet window
is larger than the UI you are creating, in which case your UI is
appearing in the center. Make sure your applet has the same
dimensions as you've defined in the web page. Also, don't judge the
layout until you have your jtable. I haven't really done that much
with applets, I usually do full applications, so the interaction with
the webbrowser might be an issue.

Seriously, though, what I find with "easy" layouts/toolkits is that
the developer takes short cuts and does things like making interfaces
that can't be resized - or if they are, you get unexpected behavior
(like a Jtable doesn't expand to fit, or a file selection doesn't
expand to fit - you just get blank space). As a user I find those
things most annoying, so as a developer I avoid them. Most of the
toolkits I've used that allow really flexible UI's, UI's where you can
define the behavior exactly the way you want it (and behave exactly
the way a user should reasonably expect, especially w.r.t. resizing)
are necessarily complex because they need to be flexible. Most of
them start to make sense after you've used them a few times, and
figured out how to do something that seemed awkward.

The best thing is to keep in mind that you can use multiple layouts in
a single application - one overall layout with a bunch of smaller
layouts, and often even smaller layouts within those. Always keep in
mind user behavior. I've have users whose habit is to make every
window fullscreen, wether it's needed or not. You just never know.
You can take the cheap way out and make it so your window can't be
resized, but that's pretty bad style, IMO.

Also, one thing I did discover with applets (use at your own risk), is
you can open a new window on the users machine from within the applet.
That way the user gets the flexibility of a native window, instead of
being confined in the browser. Use at your own risk, though, strange
things can happen when they open a new page while your application is
running, or hit the back button or something. Not very pretty.

Maybe I'll make some web pages about GridBag. I know some others have
said they're working on them. Regardless, let me know if you can't
get it to work.
Jul 17 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1974
by: Merlin_1102 | last post by:
I have read previous posts on the gridbaglayout and none seem to answer my questions (sorry if any of these have been aske dI really did search and found one large thread which took me an hour to read.. Anyway my problem is as such i need to make something like a simcity game (not quite though). Bassically I need a grid in which labels (using the image icon command) can be disbladed. This grid needs to be resizable ie it could go from...
2
1934
by: Pablo | last post by:
Could someone please help me to figure out how to use subj? I need to arrange 12 buttons in four rows - four in 1st row, two in 2nd, another two in 3rd , and last four in 4th row. I follow tutorial from JDK docs but for some reason on the 4th row only two buttons show up. Thanks.
0
1792
by: Martin | last post by:
Hi All, I am a relative newbie to Java / Applets, but am despirately after some help ! I have got the following code, which is basically a listing with button items along the sides, allowing the items in the list to be moved up/down etc. Obviously, for the top and bottom items, the appropriate move up /
0
1423
by: Peter Wieser | last post by:
this short program does not do as it should!!! when you resize the frame, the weights (3 and 1) would not stay the same. why??? import java.applet.Applet; import java.awt.event.*; import java.util.*; import java.awt.*; import com.sun.j3d.utils.universe.*; import javax.swing.*; import javax.media.j3d.*;
1
1739
by: python473 | last post by:
Friends - I have tried to do abolute positioning using gridbaglayout, but am having no success in jython. One book I have been referencing says that it only works with JPanels. Could someone post a snippet of code that works for a button? I am so close so just a hint would help. Thanks as always. - John
1
4670
by: Tony Johansson | last post by:
Hello experts! As this program is now it's works perfectly when running as a application or as an Applet. Now to my question if I just change this row "public class Converter extends Applet " in class Converter below that it extends from a Frame instead from an Applet then the whole program krasch with message "An exception 'java.lang.IllegalArgumentException' has occured in ... I mean that if I run this program as an application I...
7
2641
by: sreenulanka | last post by:
please help me in my forum i have labels and textareas .iwant to add textarea components dyanamically when i am clicking the button.please help me import java.awt.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; import java.io.*; import java.applet.*;
0
1132
by: Didje | last post by:
Hi, I'm trying to design a kind of calculator GUI using gridbaglayout. At the top of the calculator will be a couple of menus and then will come the section with all the buttons etc. Initially, I have designed the menu titles purely as labels (since I haven't figured out how to create actual menus - any help there would be great!) but the final menu item is separated by a mysterious space from the other ones. Here is the code I've got so far...
5
3378
by: cblank | last post by:
I'm having some trouble with my inventory program. Its due tom and my teacher is not wanting to help. He keeps giving me a soluction that is not related to my code. I have everything working except the Delete and Modify Button. The Search button works but it only searchs the new .dat file or what is set in the array. Not sure what is going on there. But if I can get my delete and modify button to work that will be good. Code.... ...
0
9666
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9511
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10410
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10139
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9020
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7529
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5418
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4093
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3701
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.