Get child components from a container


****************************************************************
COMPLETE SOURCE CODE FOR : GetChildComponentOfaContainer.java
****************************************************************


import java.awt.Frame;//IMPORT FRAME CLASS INTO THIS PROGRAM
import java.awt.Label;//IMPORT LABEL CLASS INTO THIS PROGRAM
import java.awt.TextField;//IMPORT TEXTFIELD CLASS INTO THIS PROGRAM
import java.awt.Button;//IMPORT BUTTON CLASS INTO THIS PROGRAM
import java.awt.Panel;//IMPORT PANEL CLASS INTO THIS PROGRAM
import java.awt.Component;//IMPORT COMPONENT CLASS INTO THIS PROGRAM

import java.awt.event.WindowListener;//IMPORT WINDOWLISTENER CLASS INTO THIS PROGRAM
import java.awt.event.WindowAdapter;//IMPORT WINDOWADAPTER CLASS INTO THIS PROGRAM
import java.awt.event.WindowEvent;//IMPORT WINDOWEVENT CLASS INTO THIS PROGRAM
import java.awt.event.ActionListener;//IMPORT ACTIONLISTENER CLASS INTO THIS PROGRAM
import java.awt.event.ActionEvent;//IMPORT ACTIONEVENT CLASS INTO THIS PROGRAM

import java.awt.FlowLayout;//IMPORT FLOWLAYOUT CLASS INTO THIS PROGRAM
import java.awt.BorderLayout;//IMPORT BORDERLAYOUT CLASS INTO THIS PROGRAM

import java.awt.Color;//IMPORT COLOR CLASS INTO THIS PROGRAM

import javax.swing.JOptionPane;//IMPORT JOPTIONPANE CLASS INTO THIS PROGRAM

public class GetChildComponentOfaContainer implements ActionListener
{
Frame a=new Frame("GET CHILD COMPONENT IN CONTAINER");
Panel b=new Panel();
Button d=new Button("ADD NEW COMPONENT INTO MONSTER (A LABEL)");
Button c=new Button("CLICK HERE TO SEE NUMBERS OF COMPONENTS IN MONSTER");

public GetChildComponentOfaContainer()
{
//SET LAYOUT FOR FRAME a
a.setLayout(new BorderLayout());

//LISTEN TO WINDOW CLOSING EVENT FOR a
//WHEN SOMEONE CLICK CLOSE BUTTON, THIS APPLICATION WILL TERMINATE.
WindowListener wl=new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
};

//PANEL b, TO PLACE COMPONENT
b.setBackground(Color.YELLOW);
b.add(new Label("COMPONENT 1 : A LABEL"));
b.add(new TextField("COMPONENT 2 : A TEXTFIELD"));
b.add(new Button("COMPONENT 3 : A BUTTON"));
a.add(b,BorderLayout.CENTER);

//ADD ACTIONLISTENER FOR BUTTON TO MAKE IT FUNCTION WHEN SOMEONE CLICK.
d.addActionListener(this);
c.addActionListener(this);

//PLACE BOTH THE BUTTONS INTO A CONTAINER AND AFTER THAT PLACE THE CONTAINER INTO a
Panel e=new Panel();
e.add(c);
e.add(d);
a.add(e,BorderLayout.SOUTH);

//LABEL AT THE TOP OF a
Label f=new Label("YELLOW AREA IS A PANEL WITH NAME MONSTER");
f.setAlignment(Label.CENTER);
a.add(f,BorderLayout.NORTH);

a.addWindowListener(wl);
a.setSize(800,600);
a.setVisible(true);
}

//ALL BUTTON ACTION IS HERE
public void actionPerformed(ActionEvent evt)
{
//ACTION FOR BUTTON "ADD NEW COMPONENT INTO MONSTER (A LABEL)"
if(evt.getSource()==d)
{
b.add(new Label("NEW"));
//The validate method is used to cause a container to lay out its subcomponents again.
//So you can see the latest label("NEW") that you add.
b.validate();
a.validate();
}

//ACTION FOR BUTTON "CLICK HERE TO SEE NUMBERS OF COMPONENTS IN MONSTER"
if(evt.getSource()==c)
{
Component[]arrayToStoreAllComponent=b.getComponents();//STORE ALL COMPONENT IN b IN AN ARRAY
int numbersOfComponent=arrayToStoreAllComponent.length;//GET ARRAY LENGTH BECAUSE IT SAME TO NUMBERS OF COMPONENT
JOptionPane.showMessageDialog(null,"NUMBERS OF CURRENT COMPONENT IN MONSTER IS : "+numbersOfComponent);
}
}

//MAIN METHOD
public static void main(String[]args)
{
GetChildComponentOfaContainer myObject=new GetChildComponentOfaContainer();
}
}


****************************************************************
JUST COMPILE AND EXECUTE IT
****************************************************************

Create graphical user interface using classes in java.awt package


In this source code, awt component that include is :
FRAME
BUTTON
PANEL
LABEL
TEXTAREA
TEXTFIELD
CHECKBOX
RADIO BUTTON

layout manager is :
GRID LAYOUT
FLOW LAYOUT

others :
COLOR

****************************************************************
COMPLETE SOURCE CODE FOR : CreatingInterfaceUsingAwt.java
****************************************************************


import java.awt.Frame;//FOR FRAME IN AWT
import java.awt.Button;//FOR BUTTON IN AWT
import java.awt.Panel;//FOR PANEL IN AWT
import java.awt.TextArea;//FOR TEXTAREA IN AWT
import java.awt.TextField;//FOR TEXTFIELD IN AWT
import java.awt.Label;//FOR LABEL IN AWT
import java.awt.List;//FOR LIST IN AWT

//FOR CHECKBOX AND RADIOBUTTON IN AWT
import java.awt.CheckboxGroup;
import java.awt.Checkbox;

//LAYOUT MANAGER
import java.awt.FlowLayout;
import java.awt.GridLayout;

import java.awt.Color;

import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class CreatingInterfaceUsingAwt
{
public static void main(String[]args)
{
Frame a=new Frame("All Of This Component Is Build Using Java AWT");
a.setLayout(new FlowLayout());

WindowListener cl=new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);//WHEN CLICK WINDOW CLOSE BUTTON, APPLICATION WILL EXIT
}
};

a.add(new Button("THIS IS BUTTON"));//ADD A BUTTON WITH LABEL "THIS IS BUTTON"
a.add(new Label("THIS IS A LABEL"));//ADD A LABEL WITH SPECIFIED TEXT "THIS IS A LABEL"

//CREATE A PANEL THAT MAY CONTAIN OTHER AWT COMPONENT
Panel b=new Panel(new FlowLayout());//CREATE A PANEL AND SET IT'S LAYOUT
b.setBackground(Color.BLACK);//SET BACKGROUND COLOR FOR THIS PANEL TO BLACK
b.add(new Button("BUTTON_1 IN PANEL"));
b.add(new Button("BUTTON_2 IN PANEL"));
b.add(new Button("BUTTON_3 IN PANEL"));
a.add(b);//ADD THIS PANEL TO FRAME

a.add(new TextArea("THIS IS TEXT AREA"));//ADD A TEXT AREA WITH INITIAL TEXT "THIS IS TEXT AREA"
a.add(new TextField("THIS IS TEXT FIELD"));//ADD A TEXT FIELD WITH INITIAL TEXT "THIS IS TEXT FIELD"

//CREATE CHECKBOX
Panel d=new Panel(new GridLayout(3,1));
d.setBackground(Color.RED);
d.add(new Checkbox("CHECKBOX 1",null,false));//CREATE A CHECKBOX c=checkbox group, false=initial state of checkbox
d.add(new Checkbox("CHECKBOX 2",null,false));//if false, no check for the checkbox in initially
d.add(new Checkbox("CHECKBOX 3",null,false));
a.add(d);//ADD THIS PANEL TO FRAME

//CREATE RADIO BUTTON
Panel e=new Panel(new GridLayout(3,1));
e.setBackground(Color.BLUE);
CheckboxGroup c=new CheckboxGroup();//CREATE A CHECKBOX GROUP
e.add(new Checkbox("RADIOBUTTON 1",c,false));//c=checkbox group
e.add(new Checkbox("RADIOBUTTON 2",c,false));
e.add(new Checkbox("RADIOBUTTON 3",c,false));
a.add(e);//ADD THIS PANEL TO FRAME
//What is different between radio button and checkbox ???
//The different is at CheckboxGroup.
//For radio button, we must set to certain checkbox group(In this case we set c for checkbox group in checkbox argument after checkbox name)

//CREATE LIST
List f=new List(5,true);//If you want to disable multiple selection, you just change true to false
f.add("LIST 1");
f.add("LIST 2");
f.add("LIST 3");
f.add("LIST 4");
f.add("LIST 5");
a.add(f);//ADD THIS PANEL TO FRAME

a.addWindowListener(cl);
a.setSize(800,600);
a.setVisible(true);
}
}


****************************************************************
JUST COMPILE AND EXECUTE IT
****************************************************************

How to know when a component resized


We use button as component in this example.

****************************************************************
COMPLETE SOURCE CODE FOR : HowToKnowWhenComponentResize.java
****************************************************************


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

import java.awt.event.ComponentListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import java.awt.Component;

public class HowToKnowWhenComponentResize
{
JFrame b=new JFrame("TRY RESIZE ME");

JButton d=new JButton("MONSTER");

public HowToKnowWhenComponentResize()
{
ComponentListener cl=new ComponentAdapter()
{
public void componentResized(ComponentEvent evt)
{
Component temp=(Component)evt.getSource();
int currentWidth=temp.getSize().width;
int currentHeight=temp.getSize().height;
JOptionPane.showMessageDialog(null,"SIZE OF COMPONENT IS CHANGE\nMONSTER WIDTH NOW : "+currentWidth+"\nMONSTER HEIGHT NOW : "+currentHeight,"MONSTER'S SIZE",JOptionPane.INFORMATION_MESSAGE);
}
};

d.addComponentListener(cl);
b.add(d);

b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b.setSize(400,100);
b.setVisible(true);
}

public static void main(String[]args)
{
HowToKnowWhenComponentResize myObject=new HowToKnowWhenComponentResize();
}
}


****************************************************************
JUST COMPILE AND EXECUTE IT
****************************************************************

How to know current location of jframe after it moved to other location on screen


Result of the current location for a jframe in this program is current coordinate of the top left corner for the jframe.

********************************************************************
COMPLETE SOURCE CODE FOR : HowToKnowCurrentLocationOfJframe.java
********************************************************************


import javax.swing.JFrame;
import javax.swing.JOptionPane;

import java.awt.event.ComponentListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import java.awt.Point;
import java.awt.Component;

public class HowToKnowCurrentLocationOfJframe extends ComponentAdapter
{
JFrame b=new JFrame("TRY MOVE ME");

public HowToKnowCurrentLocationOfJframe()
{
b.addComponentListener(this);

b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b.setSize(400,100);
b.setVisible(true);
}

public void componentMoved(ComponentEvent evt)
{
Component temp=(Component)evt.getSource();
JOptionPane.showMessageDialog(null,"CURRENT LOCATION : "+" X = "+(temp.getLocationOnScreen()).getX()+" Y = "+(temp.getLocationOnScreen()).getY(),"CURRENT LOCATION",JOptionPane.INFORMATION_MESSAGE);
}

public static void main(String[]args)
{
HowToKnowCurrentLocationOfJframe myObject=new HowToKnowCurrentLocationOfJframe();
}
}


********************************************************************
JUST COMPILE AND EXECUTE IT
********************************************************************

How to know when a component has been made invisible or visible ???


In this example, we use button as component.

*************************************************************************
COMPLETE SOURCE CODE FOR : HowToKnowWhenComponentVisible.java
*************************************************************************


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

import java.awt.event.ComponentListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import java.awt.FlowLayout;

public class HowToKnowWhenComponentVisible
{
JFrame a=new JFrame("CLICK HERE");
JFrame b=new JFrame("FRAME TO STORE JBUTTON NAME'S MONSTER");

JButton c=new JButton("VISIBLE");
JButton e=new JButton("INVISIBLE");
JButton d=new JButton("MONSTER");

public HowToKnowWhenComponentVisible()
{
ComponentListener cl=new ComponentAdapter()
{
public void componentHidden(ComponentEvent evt)
{
JOptionPane.showMessageDialog(null,"MONSTER IS INVISIBLE");
}

public void componentShown(ComponentEvent evt)
{
JOptionPane.showMessageDialog(null,"MONSTER IS VISIBLE");
}
};

d.addComponentListener(cl);
b.add(d);

ActionListener al=new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if(evt.getSource()==e)
{
d.show(false);
b.repaint();
}

if(evt.getSource()==c)
{
d.show(true);
b.repaint();
}
}
};

c.addActionListener(al);
e.addActionListener(al);
a.setLayout(new FlowLayout());
a.add(c);
a.add(e);

a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setSize(400,100);
a.setVisible(true);

b.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
b.setSize(400,100);
b.setLocation(400,400);
b.setVisible(true);
}

public static void main(String[]args)
{
HowToKnowWhenComponentVisible myObject=new HowToKnowWhenComponentVisible();
}
}


*************************************************************************
JUST COMPILE AND EXECUTE IT
*************************************************************************

How to determine when a JFrame opened or closed


*******************************************************
COMPLETE SOURCE CODE FOR : DetermineWhenAJframeIsOpenOrClose.java
*******************************************************


import javax.swing.JFrame;
import java.awt.Frame;
import javax.swing.JButton;
import javax.swing.JOptionPane;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


public class DetermineWhenAJframeIsOpenOrClose
{
JFrame frame;

JFrame a=new JFrame("OPEN A JFRAME WITH TITLE'S MONSTER");
JButton b=new JButton("CLICK HERE TO OPEN");

public DetermineWhenAJframeIsOpenOrClose()
{

b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
frame=new JFrame("MONSTER");
frame.setSize(300,500);
frame.setVisible(true);

frame.addWindowListener(new WindowAdapter()
{
//windowOpened METHOD WILL BE CALLED WHEN A JFRAME IS OPENED
public void windowOpened(WindowEvent evt)
{
JOptionPane.showMessageDialog(null,"MONSTER IS OPEN");
}

//windowClosing METHOD WILL BE CALLED WHEN A JFRAME IS CLOSING
public void windowClosing(WindowEvent evt)
{
Frame temp=(Frame)evt.getSource();
temp.dispose();
JOptionPane.showMessageDialog(null,"MONSTER IS CLOSE");
}

});

}
});

a.add(b);

a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setSize(500,100);
a.setVisible(true);

}

public static void main(String[]args)
{
DetermineWhenAJframeIsOpenOrClose mainObject=new DetermineWhenAJframeIsOpenOrClose();
}
}


*******************************************************
JUST COMPILE AND EXECUTE IT
*******************************************************

Close application when click on JFrame close button


*********************************************************
COMPLETE SOURCE CODE FOR : ExitApplicationUsingJFrameCloseButton.java
*********************************************************


import javax.swing.JFrame;

public class ExitApplicationUsingJFrameCloseButton
{
public static void main(String[]args)
{
JFrame a=new JFrame("EXIT AN APPLICATION USING JFRAME CLOSE BUTTON");

//JFrame.EXIT_ON_CLOSE will make your application close when you hit JFrame close button
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setSize(200,200);
a.setVisible(true);
}
}


*********************************************************
JUST COMPILE AND EXECUTE IT
*********************************************************

JFrame hide when click close button


**********************************************************
COMPLETE SOURCE CODE FOR : HidingJFrameWithoutDestroy.java
**********************************************************


import javax.swing.JFrame;
import javax.swing.JOptionPane;

import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class HidingJFrameWithoutDestroy
{
public static void main(String[]args)
{
JFrame a=new JFrame("HIDE A JFRAME");

a.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
try
{
JFrame temp=(JFrame)evt.getSource();
temp.setVisible(false);
String a=JOptionPane.showInputDialog(null,"CHOOSE ONE : \n 1-Make It Visible \n 2-Exit");
int b=Integer.parseInt(a);

if(b==1)
{
temp.show(true);
}

else if(b==2)
{
System.exit(0);
}

else
{
JOptionPane.showMessageDialog(null,"YOU PUT WRONG NUMBER");
}
}
catch(Exception exception)
{
JOptionPane.showMessageDialog(null,"ERROR, DON'T DO THAT\nTHIS PROGRAM WILL CLOSE");
System.exit(0);
}
}

public void windowActivated(WindowEvent event)
{
JFrame temp=(JFrame)event.getSource();
temp.setVisible(true);
}
}
);

a.setSize(200,200);
a.setVisible(true);
}
}


**********************************************************
JUST COMPILE AND EXECUTE IT
**********************************************************

Set jframe size and it's location when click on maximize button


***********************************************************
COMPLETE SOURCE CODE FOR : SettingBound.java
***********************************************************


/**
*THIS TUTORIAL WILL SHOW YOU HOW TO SET THE MAXIMUM SIZE OF YOUR FRAME
*AND IT'S LOCATION WHEN YOU CLICK
*MAXIMIZE BUTTON BESIDE JFRAME CLOSE BUTTON
**/

import java.awt.Rectangle;
import javax.swing.JFrame;

public class SettingBound
{
public static void main(String[]args)
{
//first value, 400=x coordinate on your screen
//second value, 400=y coordinate on your screen
//third value, 800=JFrame width
//fourth value, 200=JFrame height
Rectangle rec=new Rectangle(400,400,800,200);

JFrame frame1=new JFrame("Setting Bound");

frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setMaximizedBounds(rec);//set maximize setting for your JFrame
frame1.setVisible(true);
}
}


***********************************************************
JUST COMPILE AND EXECUTE IT
***********************************************************

Remove JFrame title bar


****************************************************
COMPLETE SOURCE CODE FOR : RemovingTitleBar.java
****************************************************


import javax.swing.JFrame;

public class RemovingTitleBar
{
public static void main(String[]args)
{
JFrame a=new JFrame("REMOVING TITLE BAR");
a.setUndecorated(true);
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setSize(200,200);
a.setVisible(true);
}
}


****************************************************
JUST COMPILE AND EXECUTE IT
****************************************************

RELAXING NATURE VIDEO