This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes JTable/GUI Questions Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "JTable/GUI Questions" Watch "JTable/GUI Questions" New topic
Author

JTable/GUI Questions

vladimir levin
Ranch Hand

Joined: Dec 19, 2000
Posts: 45
Perhaps for this assignment, or perhaps just for fun and instruction, I would like to find out how to do some things with JTable that I haven't been able to figure out. Keep in mind I am quite new to JFC/Swing and am just learning it for the first time in the context of the Developer assignment.
I was thinking about having a 'Book Flight' button on every row listing the flights on the main screen of the app. Clicking on that button would bring up a dialog box where the user would enter information to book the flight he/she selected.
Another, more general, question I've got is what is the 'standard' or generally accepted idea for doing form transitions in a Swing application. An example of what I mean is you have say a main screen (eg. shows the flights available), and from there you fo to the booking screen, and from there you may go back to the flight screen or to some sort of confirmation screen. Using tools like Access or just with HTML, the practice for doing this is well established. But I am not sure what one is supposed to do in Swing...
Either generic code example illustrating how one should implement these kinds of features, or simply a good reference to a book that goes into that kind of thing would be helpful (note I do have Core Java Volume II, but it does not seem to go into enough detail for my tastes).
Thanks,
Vlad
Douglas Kent
Ranch Hand

Joined: Oct 06, 2000
Posts: 171
Vlad,
On the principle of reducing keystrokes to a minimum, and thus lessening the chances of bad data, I set up a JTable that updates the JComboBox of the flight for which the user wishes to book seats. I have all the panels up at the same time. Just some ideas to get you going...
Rahul Rathore
Ranch Hand

Joined: Sep 30, 2000
Posts: 324
Dear Vlad
Having buttons on every row appears to be a good idea, but maybe it may make the JTable look slightly cluttered.
I have kept a single button for booking below the JTable in the main frame. This button becomes enabled as soon as the user selects a row of the JTable. Clicking the book button brings up a Dialog box which displays the details of selected flight, and asks user the number of seats to book. This dialog box also has a panel to show the result of the operation. The dialog box remains open till the request is completely processed and its result displayed.
In fact the user can submit concurrent requests- for eg. the user click book button which brings up DialogA and then user submits the request. Even while DialogA is open the user can click the book button again to bring up DialogB and submit another request. Both DialogA and DialogB will know the results of their respective requests because they attach themselves as listeners to the RequestJob objects they create- one for each request.
However I am not sure whether I should have a book button, or should I have the booking functionality in a menu and toolbar. I think a menu and toolbar are more appropriate for the main window.
The combo boxes containing the criteria to search for flights are on the main window on top of the JTable- It seems more intuitive since the former immediately controls the contents of the latter.
What do you think of my design?
vladimir levin
Ranch Hand

Joined: Dec 19, 2000
Posts: 45
>Rahul Rathore wrote:
>Having buttons on every row appears to be a good idea, but
>maybe it may make the JTable look slightly cluttered.
I find that if the button is somewhat smaller than the width
of the row, it seems to look fairly good. I like the idea that
the user needs to click once to book a flight rather than
click, move mouse, click again. I have not seen any examples
where a JButton is placed into a JTable on each row. Is it hard
to do? The alternative, as you've described it is certainly
adequate... I just thought it would be nice to try putting the
button each row.
>I have kept a single button for booking below the JTable in the
>main frame. This button becomes enabled as soon as the user
>selects a row of the JTable. Clicking the book button brings
>up a Dialog box which displays the details of selected flight,
>and asks user the number of seats to book. This dialog box
>also has a panel to show the result of the operation. The
>dialog box remains open till the request is completely
>processed and its result displayed.
This seems good... That's the way I plan to do it too, with a
dialog box. May I ask how you implement a dialog? Is it using
a JDialog object or something else?
>However I am not sure whether I should have a book button, or >should I have the booking functionality in a menu and toolbar. >I think a menu and toolbar are more appropriate for the main >window.
I think a button is just fine. A toolbar pretty much is a button
anyway, but I think in this case a simple button is enough.
A menu doesn't seem as straightforward, and I personally don't
like that idea very much. My Human-Computer Interaction
prof. in Uni. always suggested to keep things as simple as
possible for the user.
>The combo boxes containing the criteria to search for flights
>are on the main window on top of the JTable- It seems more
>intuitive since the former immediately controls the contents of
>the latter.
That seems perfectly adequate and standard, and also how I plan
to do it.
Vlad
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: JTable/GUI Questions