This is the fourth of a few tutorials that will show you how to create graphical user interfaces using java.
Prerequisites
This tutorial is moderately difficult. If you know the Java basics please refer to my previous tutorials. If you do know the Java basics you should be familiar with my previous tutorials on GUI's. To read my tutorials please refer to my INDEX
The Idea
In order for your program to be attractive, the user must be able to easily navigate through your program. By creating a GUI the user is presented with all the features of the program in a clear and coherent manner. Adding buttons to your interface allow for user interaction which is the reason for a GUI.
Solution
Although the idea introduced in the tutorial isn’t very big and doesn’t deserve to be its own tutorial, I changed the basic code we’ve been using so I felt it was worth while to point out a different method to create a window. It uses basic ideas I’ve explained in previous tutorials, but since this is how I will be creating most of my windows from now on, you should observe the changes and try to understand them.
This code does the exact same thing on the outside as a pervious tutorial I made, but there are significant changes. Lets take a look at the code:
As you see, rather than extending JFrame I’ve made an object called interfaceFrame. Essentially the code is exactly the same, but all the JFrame methods you want to use have to be called on the specific object, on our case interfaceFrame, and you do that by using the period. If you noticed, JFrame() accepts a string parameter where you can add the title of the application; I named it “First GUI.” Moreover I defined the object types as instance variables so they can be referenced in other parts of the code.Code:package cctuts; import java.awt.event.*; import javax.swing.*; public class InterfaceFour implements ActionListener { JFrame interfaceFrame; JButton startButton; public InterfaceFour() { interfaceFrame = new JFrame("First GUI"); interfaceFrame.setSize(200,70); interfaceFrame.setVisible(true); startButton = new JButton("Start"); startButton.addActionListener(this); interfaceFrame.add(startButton); interfaceFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); interfaceFrame.setVisible(true); } public void actionPerformed(ActionEvent a) { for(int i = 0; true; i++){ System.out.println(i); } } public static void main(String[] args) { new InterfaceFour(); } }
The other tidbit I wanted to point out in this tutorial is you can make your program “look” better by setting the default look and feel by adding this code
This final code is important to understand because my future tutorials will be more complex and feed off this idea.Code:JFrame.setDefaultLookAndFeelDecorated(true);
Image:Code:package cctuts; import java.awt.event.*; import javax.swing.*; public class InterfaceFour implements ActionListener { JFrame interfaceFrame; JButton startButton; public InterfaceFour() { JFrame.setDefaultLookAndFeelDecorated(true); interfaceFrame = new JFrame("First GUI"); interfaceFrame.setSize(200,70); interfaceFrame.setVisible(true); startButton = new JButton("Start"); startButton.addActionListener(this); interfaceFrame.add(startButton); interfaceFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); interfaceFrame.setVisible(true); } public void actionPerformed(ActionEvent a) { for(int i = 0; true; i++){ System.out.println(i); } } public static void main(String[] args) { new InterfaceFour(); } }
Originally posted as A better looking GUI
Last edited by John; 08-01-2010 at 10:18 AM.
hai i am lakshman.,
i am from india and i am a java developer.ok i observed all most all examples of swing with button.
but i want to apply classical buttons and gui's in JFrames.(like HTML GUI's)
pls forward sample code...
thanking you.,
I don't remember ever seeing this tutorial. Excellent tutorial! +rep.
cool one .. John+rep
That's Great John +rep .
+ rock (rep)![]()
Interested in participating in community events?
Want to harness your programming skill and turn it into absolute prowess?
Come join our programming events!
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks