References on Good GUI Design

Hi folks,
I was wondering if anyone out there knew of good resources (ideally a tutorial-style book, not a reference) that would teach me about GUI design - the class structure (mine are always hideously coupled) and general conventions etc....
I mean, I know how to put together a gui that works, but they are not always code that I am proud of... (blushes)
Any ideas?
Thanks!

Hi folks,
I was wondering if anyone out there knew of good
resources (ideally a tutorial-style book, not a
reference) that would teach me about GUI design - the
class structure (mine are always hideously coupled)
and general conventions etc....
I mean, I know how to put together a gui that works,
but they are not always code that I am proud of...
(blushes)
Any ideas?
Thanks!Are you asking how code or design GUI?
if(code) {
   // find "Divelog" tutorial
} else if(design) {
  // find something about usability engineering
  //ie http://java.sun.com/docs/books/tutorial/networking/TOC.html
}

Similar Messages

  • Overloaded radio buttons -- good GUI design?

    I don't know where else to ask this. What do you think about overloading radio buttons with multiple functions? I have made an update to my Interactive Color Wheel that uses this technique. I haven't released it yet, but it is available here:
    * http://r0k.us/rock/Junk/SIHwheel.html
    It offers eight different sorts of 1567 colors and their names. That seemed to me to be way too many radio buttons; there were originally just three sorts and three buttons. I made a second row that contains the five new sorts accessed via two buttons. The sorts on each button are closely related, riffs on a theme if you will. Consecutive clicks on one of these two buttons will rotate through its functions, with the button text and toolTip updated to match its current sort and state.
    I won't try describing more -- just use it, and let me know what you think. Intuitive? Ugly? Bad GUI design? Other comments?

    RichF wrote:
    Don't forget to take Spot, the Magic Color Dog for a walk! I recommend a different sort than the default [alphabetically], but you can change sorts on the fly. (Try [by hue], or one of the three Hilbert sorts.) In fact, Spot isn't stopping you from doing anything. Well, you'd have to have him go really slow to type in a hex color.
    I was really, really amazed how fast Spot can run. With the gauge fully to the right, the timer has a specified delay of 0, so he's running as fast as everything else in the program lets him. There's a LOT going on, yet Spot can traverse all 1567 colors in mere seconds.
    [add] It just occurred to me, maybe I should set a minimum update rate. I don't want it to cause someone to have an epileptic seizure. I'm thinking of setting 10 updates a second as the fastest it would go. What do you guys think?Actually it made me have to kill the JVM to stop the applet (closing the web page didn't work, apparently the new Java plugin sandboxing doesn't work). Only the JList was updating at full speed, not the color wheel.
    This one I did not do. There was a complication with intensity. It uses a quantized color space, with intensity almost ranging from 0..74. I say almost because this integral range also includes 0.5. I forced that in so the value after black on a 0.255 scale would not be 4, but 2. The third value is 4, and the rest of the time it jumps by 3 or 4 on the 255 scale.
    Once I decided to keep the intensity buttons as they were, it did not make sense to change the tile width buttons either. Their range is only 10..15, so IMO the [-] and [+] buttons work well.Just as a demo how to do that with JSpinner (JSlider is much harder to have non linear scales):
    import java.awt.EventQueue;
    import java.awt.FlowLayout;
    import javax.swing.JFrame;
    import javax.swing.JSpinner;
    import javax.swing.SpinnerNumberModel;
    public class TestJSpinner {
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    SpinnerNumberModel rings = new SpinnerNumberModel(10, 10, 15, 1);
                    SpinnerNumberModel intensity = new SpinnerNumberModel(10.0, 0.0, 74.0, 1.0) {
                        @Override
                        public Object getPreviousValue() {
                            Double value = (Double) getValue();
                            if (value == 1.0) {
                                return 0.5;
                            else if (value == 0.5) {
                                return 0.0;
                            else {
                                return super.getPreviousValue();
                        @Override
                        public Object getNextValue() {
                            Double value = (Double) getValue();
                            if (value == 0.0) {
                                return 0.5;
                            else if (value == 0.5) {
                                return 1.0;
                            else {
                                return super.getNextValue();
                    JFrame frame = new JFrame("Test");
                    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                    frame.getContentPane().setLayout(new FlowLayout());
                    frame.getContentPane().add(new JSpinner(intensity));
                    frame.getContentPane().add(new JSpinner(rings));
                    frame.pack();
                    frame.setLocationRelativeTo(null);
                    frame.setVisible(true);
    }Edited by: Walter Laan on Nov 5, 2010 2:01 PM

  • Good Java GUI Designer... & UML Eclipse Plugin...

    Hi,
    Im starting my final year project in september & while I have some free time I wanted to get prepared and set up my development environment.
    Im going to be using Eclipse for the IDE which is fine.
    But I need a GUI designer, so I can throw a GUI together quickly so I can get a prototype out for December.
    But I have searched High and Low for one and threre does not seem to be a decent (free) one about Jigloo seems to have problems on my mac and does not seems to be that good.
    Any suggestions?
    Also can anyone recommend and good UML plugin for eclipse?
    Message was edited by:
    ChrisUK

    Why not use Netbeans? I don't think you will find a better GUI builders than Matisse.
    I have used Jigloo, it is okay but I would rather build my GUI in Netbeans and then import my code to Eclipse.
    I have never used any UML plug-ins for Eclipse but I have used Poseidon which is free for non-commercial use and a pretty cool UML designer.
    http://www.gentleware.com/uml-software-community-edition.html
    http://www.netbeans.org/kb/41/flash-matisse.html

  • What are some of your favorite practices in GUI design?

    I saw a conversation a few weeks ago about LVOOP vs Clusters for passing around data that I found fascinating - and quite informative.  I thought I'd try to open up a discussion about GUI design and see what I could learn.
    Edit: to give an example, I have found that I have taken an irrational dislike to tab controls. Instead, I use clusters with a few supporting VIs. Switching the "tab" will just make the proper cluster visible, and the others invisible.  Set each cluster as a type def in the project and just edit that for when I need to change something.  It lets me already have all of my control data bundled, and as a bonus sorts them automatically in Event structures.

    mikeporter wrote:
    So to sum up:
    Tab Controls -- Bad
    Subpanels -- Good
    I wouldn't go that far.  I generally need to be more organized in my block diagram when using tabs, but that doesn't mean they are bad.  Have a state in a state machine for updating each tab.  Then when updating the UI look at which tab the user is on, and only update those UI elements.
    There are other limitations to tabs that frustrate me, like .Net controls sometimes do weird things in tabs.  And some times I would have too many tabs and it starts to add rows which get all kinds of confusing.  In these cases I would hide the tabs and replicate the functionality with a single column listbox which changes the tab value.  But at that point it would be just as easy to insert a different VI into a subpanel.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • What is a good GUI code

    Hi,
    at time i writing a gui client for my application.
    the problem is that i don't realy know what code for guicode will be better:
    all code (everey button, label, bar etc.) inside one "open" method.
    with this solution i can change the autput (such as text etc.) of Labels and buttons at runtime.
    a another solution is
    that every button label etc gets it own create method.
    with this solution i have small simple methods, but i have to call them in the right order at the open method. I also have to create the buttons labels etc as fields so they can be changed during runtime.
    (with runtime i mean changes of label texts etc. during userinteraction)
    which solution will be better, for a OO Design/Model.
    or is there a better solution you prefer?
    thanks.
    your sincerely Gideon

    Since you are interested in good OO design, I would highly recommend some reading like "Design Patterns Explained" by Alan Shalloway. Some might push you into the GoF (Gang of Four) book but start easy.
    One tenant of good OO is to encapsulate. So, in your GUI, I would recommend the getters and setters for each widget. Yes, this means a field for each widget on your panel. This is also great for maintenance. Nothing worse than scrolling through a huge method trying to figure out what is going on. So start off with getters/setters for each widget. Then have an initialize method (or something like that) that will add everything on your panel. Try to group like behavior/actions together.
    Now, in my applications, I'm using a MDI application. That means my JFrame has JInternalFrames. My JInternalFrames in turn instantiate JPanels. In a couple of cases, I have multiple JInternalFrames calling the same JPanel. And because I like to have standardized behavior, I use mediators to handle enabling/disabling/clearing of fields, etc. But start off small and work your way into some design patterns.
    I hope this helps.

  • Question about GUI Design on JTable and its separate editor

    Hi all,
    I need to use JTable with separate editor , that way when I double click one of the JTable's row its editor will popup in another window.
    Based on GUI design principles, where should I put the editor, in another tab panel or a JDialog ?
    Any advice would be greatly appreciated.
    Regards,
    Setya

    if you dont have to edit a lot of fields, this will
    be a good solution.
    but if you have many fields, it would be a good thing
    to put a JTabbedPane into the under
    JSplitPane-container ... or to use a JDialog :)Yes, that's the only problem I can think of, if the fields are too many.
    But then, if I have so many fields in one form. I won't put them in a JTable because users will find it cumbersome for having to scroll left and right to see those fields. I believe on this scenario JTable is just not the right component to use.
    Regards,
    Setya

  • Suggestions for good presentation design?

    I am currently using the default font size for title and subtext that comes with the dark blue gradient template.
    1.) Are there any general guideline for good presentation design with regards to having titles take two lines of text?
    2.) Are there any general guidelines for what the title font size should be? I am wondering if I should make the title font size smaller to fit more characters.
    Thanks!!!

    I have been an prenter/instructor for many years, and +*Presentation Zen*+ by Garr Reynolds is absolutely the best reference on this topic.
    Beware of using too much text on your slides. Less is, most certainly, more when it comes to engaging your audience and keeping their attention. Be liberal with the use of large graphics and keep it fun for everyone involved.

  • Aircraft GUI design

    Can anyone recommend any sample code for a GUI design for an aircraft instrument panel?

    kavon89 wrote:
    Try drawing a GUI layout simple paint program, if you're unsure if it's user friendly or efficient, post it here.Good advice which I second. Why not come up with something on your own, and then post it here if you have any problems with it? If you do it this way, you'll find many more than willing to help you.

  • Good web design software to replace iWeb

    Hello There,
    I have been using iWeb for a while now, and despite its limitations, I like it.  Now that Apple has discontinued (or will discontinue) MobileMe and some of the features wont be available any more, I decided to move to another web-design program.
    I have downloaded the trial of rapidweaver (the one with the 3 page limit) so I could play with it and see what it was like.  It is HORRIBLE, it is not easy to use, importing pictures seems pretty impossible.  I cant insert pictures like I can in iWeb, I cant drag things around like I can in iWeb - the whole program seems to be template and text based.
    I don't really know how to do coding or anything, so I am not looking for a fancy web-design tool that costs a fortune.  But I want something that I can actually use.  I want to do the following;
    Create pages from scratch if I want to
    Insert images and reposition them
    Insert images into my text and aline them
    Have a blog
    Have a photo gallery
    insert movies (when I want to share them)
    have a chat room
    Have a nice looking site without having to do any serious heavy coding (because I don't really know how to)
    Can someone please suggest to me a good website design program that is comparable to iWeb and with which I can replace the afore mentioned iWeb.  Eervyone says RapidWeaver, but I really didnt like it. 

    Just to promote iWeb for a bit more read the following in case you hadn't considered it:
    As you now know iWeb and iDVD have been discontinued by Apple. This is evidenced by the fact that new Macs are shipping with iLife 11 installed but without iWeb and iDVD.
    On June 30, 2012 MobileMe will be shutdown. HOWEVER, iWeb will still continue to work but without the following:
    Features No Longer Available Once MobileMe is Discontinued:
    ◼ Password protection
    ◼ Blog and photo comments
    ◼ Blog search
    ◼ Hit counter
    ◼ MobileMe Gallery
    Currently if the site is published directly from iWeb to the 3rd party server the RSS feed and slideshow subscription features will work. However, if the site is first published to a folder on the hard drive and then uploaded to the sever with a 3rd party FTP client those two features will be broken.
    All of these features can be replaced with 3rd party options.
    There's another problem and that's with iWeb's popup slideshows.  Once the MMe servers are no longer online the popup slideshow buttons will not display their images.
    Click to view full size
    However, Roddy McKay and I have figured out a way to modify existing sites with those slideshows and iWeb itself so that those images will display as expected once MobileMe servers are gone.  How to is described in this tutorial: iW14 - Modify iWeb So Popup Slideshows Will Work After MobileMe is Discontinued.
    NOTE: the iLife 11 boxed version Is no longer available at the online Apple Store.  To get a copy you'll have to try Amazon.com or eBay.com.
    Now that being said there's been a lot of discussion on replacements to iWeb.  Most of the applications are template driven and make it difficult to start with a clean page.  Roddy has more experience in evalutating those apps.  I decided on Flux.  It's a drag and drop, WYSIWYG application with easy code insertion.  If you've ever added a  3rd party slideshow to an iWeb page with an HTML snippet you can view this Flux tutorial page on how I did it with Flux: F03 - Adding a SimpleViewer Slideshow to a Web Page or this tutorial on adding a multi page PDF document to a web page: F02 - Adding a PDF Document to a Web Page.
    I have to admit it takes a little study but the video tutorials at the Flux site and those 3rd party videos on YouTube help quite a bit.
    If you search this community for "iWeb alternatives" you should get a list of topics discussing the other alternatives.
    OT

  • Good database design and modelling books

    Hi ,
    I need to work on designing a database from the scratch by creating logical database design and then physical database design.I'm new to database design.
    Can someone please point me to some good database design and modelling related books /tutorials.
    Regards,
    Bharath.

    bharathDBA wrote:
    Hi Girish Thanks for the information.
    I would definitely look into this book later.
    I don't mind paying any amount of money,if that book gives me the knowledge I want.
    As this book is international edition,for shipping it is taking 8-10 business days and by that time I need to complete designing my database and probably I might need to some other book.
    Is this a school assignment? I hope so. Referring back to your opening statement "I need to work on designing a database from the scratch by creating logical database design and then physical database design.I'm new to database design." I can only say that database design is a very big subject. If you are starting from a position of no knowledge at all, I'm afraid there is nothing that is going to give you the knowledge you need in the time frame you have. I will say you need to start by learning the rules of Data Normalization. Make your logical design Third Normal Form. Good can be your friend. There is actually a pretty good write-up on Data Normalization on Wikipedia.

  • BUG 10.1.3 EA   ( Manage Libraries and GUI Designer )

    Hi again,
    Sorry guys, just make the title more specific.......and hope that team JDeveloper will
    notice this....
    Problem No. 1, "Add JavaBeans" not able to list any custom visual javabeans which added using "Load Dir..." in Manage Libraries but no problem with "User" location.
    Problem No. 2, Create JFrame "A" with nothing inside, then create JFrame "B" which inherited from JFrame "A". Notice, GUI Designer will show an invisible JFrame "B".
    Thanks again~

    I'm using a Oracle 9i2 database.
    In this database I have created a package with several procedures.
    I checked the prerequisites as described in the help-files.
    I open the package in the editor, and start debugging by using the pop-up menu, choosing debug, choosing one of the package procedures, and adjusting the generated anonymous PL/SQL block. After clicking the OK-button the response in the debug window is:
    Connecting to the database DOSE_TEST.
    Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
    Executing PL/SQL: ALTER SESSION SET PLSQL_COMPILER_FLAGS=INTERPRETED
    Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '<deleted this part>', '3339' )
    Debugger accepted connection from database on port 3339.
    Process exited.
    Disconnecting from the database DOSE_TEST.
    Debugger disconnected from database.
    There are breakpoints set in the package, so during debugging it should stop at the breakpoint.
    The package procedure is run, because the procedure inserts a record in a log-table, and after this debug session there is a new record in this table.

  • FMS for PO reference in Goods Receipt

    Hi ,
          I want show PO reference in Goods receipt by FMS which can takes item, quantity from PO directly ,i tried query it takes PO number and Item code but quantity of PO not reflect in Goods receipt (Inventory transcations).i want to use same functionality of Inventory transfer after pressing Cntl+tab. query is as below -
    SELECT T1.[ItemCode], T1.[Dscription],  T0.[DocNum], T0.[DocDate],  T1.[Quantity],T1.[OpenQty], T1.[WhsCode] FROM OPOR T0  INNER JOIN POR1 T1 ON T0.DocEntry = T1.DocEntry WHERE T1.[WhsCode] >=[%2] AND  T1.[WhsCode] <=[%3] AND  T0.[DocStatus] =[%4]
    Rgds
    Sudhir Pawar.

    You could make a limited solution with 3 FMS:
    1. One FMS on a header level field where as a result the FMS can store the DocEntry of the selected PO.
    2. One FMS on the item number column listing the row data from this PO based on the stored PO docentry number. The user should activate this FMS manually. This list on the first column should show the item number. The selection from this list determines the selected items.
    3. One FMS on the quantity column refreshing on the item number selecting the quantity from the PO determined by the docentry stored by the first FMS and the item number.
    The limitations:
    - it works only with one PO and
    - it gives good quantity only if there is only one row in the PO with the selected items,

  • Why was yesterday the typefont Lato displaying good in design mode and today looks like Arial?

    why was yesterday the typefont Lato displaying good in design mode and today looks like Arial? In preview mode its looking good

    I'm having exactly the same problem as Kitcarhans just as of now, with the same font (Lato).
    I tried to follow Abhishek's recommended steps, but they are unclear to me, and in any case, didn't have any effect.
        "2. Rename the folders named tk1 and tk2 in the following locations"
    Not sure what this step is instructing me to do; rename them to what new name? Any? The same?
        "3. Launch Muse and add the font again"
    The font was never removed… was it supposed to have been? Well, in any case, I tried removing and then re-adding, but no effect there either…
    Could you clarify these instructions for me, or if they don't apply to the current problem, advise? The two websites I'm working on now both use Lato, so I can't do much of anything until I solve this problem…
    Thanks.

  • How can I write a gui designer?

    I want to write a gui designer for java.
    as you know writing gui component takes too long time.
    I don't know how I write.
    for example you click a button symbol and release on a JFrame
    but how can I get the code of that work...
    Please help me...

    I want to write a gui designer for java. Such beasts already exist. Why do you want to write one, if not solely for the sheer anguish of taking on such a task?

  • I need good gui in swings for a library management system

    i need good gui in swing. i need to develope a small application of library management system where a librarian and manager access the database. librarian take care of add,del,modify the records of customer and books. with good login screens. and the manager is to generate reports

    Yup, create one. Good exercise.
    Doing it myself right now, am loosing track of my own collection ;)
    Don't have the multi-user part in place yet, it's no priority for me (I'll be creating a readonly web interface as an alternative to the read/write Swing interface for remote access).

Maybe you are looking for