Jump to content

[Tutorial] [Java] Graphical User Interface GUI with JFrame


Recommended Posts

Posted

Hello maxcheater members,

this is my first tutorial, so be gentle  :o

Ill show ya an example of what u can do with JFrame

 

create a new class, name it how you want.

 

import javax.swing.JFrame;

import javax.swing.UIManager;

 

/**

* @author Noxy

*/

 

public class GUIlover{

public static void main(String[]args){

iloveGUI noxy = new iloveGUI();

noxy.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

noxy.setSize(350,100);

noxy.setVisible(true);

try{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

  }

}

}

 

Create another class as well and name it how u want once again.

import java.awt.FlowLayout;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.JFrame;

import javax.swing.JTextField;

import javax.swing.JPasswordField;

import javax.swing.JOptionPane;

import javax.swing.UIManager;

import javax.swing.UIManager.LookAndFeelInfo;

 

/**

* @author Noxy

*/

 

public class iloveGUI extends JFrame{

private JTextField element1;

private JTextField element2;

private JTextField element3;

private JPasswordField passwordField;

 

public iloveGUI(){

super("GUI Program");

setLayout(new FlowLayout());

 

element1 = new JTextField(10);

add(element1);

 

element2 = new JTextField("For MaxCheaters");

add(element2);

 

element3 = new JTextField("Made by Noxy", 20);

element3.setEditable(false);

add(element3);

 

passwordField = new JPasswordField("password");

add(passwordField);

 

thehandler handler = new thehandler();

element1.addActionListener(handler);

element2.addActionListener(handler);

element3.addActionListener(handler);

                      try

      {

        for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())

        {

            if ("Nimbus".equals(info.getName()))

            {

              UIManager.setLookAndFeel(info.getClassName());

              break;

            }

        }

      }

      catch (Exception e){}

}

private class thehandler implements ActionListener{

 

public void actionPerformed(ActionEvent event){

String string = "";

 

if(event.getSource() == element1)

string=String.format("Field 1 : %s", event.getActionCommand());

else if(event.getSource() == element2)

string=String.format("Field 2 : %s", event.getActionCommand());

else if(event.getSource() == element3)

string=String.format("Field 3 : %s", event.getActionCommand());

else if(event.getSource() == passwordField)

string=String.format("Password Field is : %s", event.getActionCommand());

 

JOptionPane.showMessageDialog(null, string);

}

}

 

}

 

Info: %s : displays a string.

import javax.swing.UIManager; and javax.swing.UIManager.LookAndFeelInfo; are meant to improve graphics of layouts.

import javax.swing.JFrame; and import java.awt.FlowLayout; those imports are for the layouts

import javax.swing.JTextField; creating textfield

import javax.swing.JPasswordField; creating a passwordfield

import java.awt.event.ActionListener; and java.awt.event.ActionEvent; those imports are for creating Events.

import javax.swing.JOptionPane; and at the end JOptionPane is import to display MessageDialogs InputDialogs ConfigDialogs  Options and so on

 

Program Photos:

 

guiprogram.png

testfield.png

Posted

You could explain it a bit, anyway, default JAVA Gui look and feel looks pathetic (for me)

 

You can easily change it, take a look at some.

 

This one looks really cool:

 

try

{

for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())

{

if ("Nimbus".equals(info.getName()))

{

UIManager.setLookAndFeel(info.getClassName());

break;

}

}

}

catch (Exception e)

{

 

}

 

System Default:

 

    try

    {

        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

    }

catch (Exception e)

{

 

}

 

Add it at begining of the main method.

 

 

Posted

You could explain it a bit, anyway, default JAVA Gui look and feel looks pathetic (for me)

 

You can easily change it, take a look at some.

 

This one looks really cool:

 

System Default:

 

Add it at begining of the main method.

 

 

 

as i said i wanted to be simple and easy not to make a program with 300 lines ^^.

Anyway, ill add it update new pics and explain it a bit.. bcz as u said the graphics becoming cooler :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...