2. Swing
Swing library is an official Java GUI toolkit released by
Sun Microsystems.
Swing is probably the most advanced toolkit on this
planet.
It has a rich set of widgets.
From basic widgets like Buttons, Labels, Scrollbars to
advanced widgets like Trees and Tables.
Swing is written in 100% java.
3. Swing is a part of JFC, Java Foundation Classes. It is a
collection of packages for creating full featured
desktop applications.
SWT library
There is also another GUI library for the Java
programming language. It is called SWT.
The Standard widget toolkit.
The SWT library was initially developed by the IBM
corporation.
4. Now it is an open source project, supported by IBM.
The SWT is an example of a heavyweight toolkit. It lets
the underlying OS to create GUI. SWT uses the java
native interface to do the job.
The main advantages of the SWT are speed and native
look and feel.
The SWT is on the other hand more error prone. It is
less powerful then Swing. It is also quite Windows
centric library.
5. Basic window.
import javax.swing.JFrame;
public class Simple extends JFrame {
public Simple() {
setSize(300, 200);
setTitle("Simple JFrame");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Simple simple = new Simple();
simple.setVisible(true);
}
}
6. import javax.swing.JFrame;
Here we import the JFrame widget. It is a top level
container, which is used for placing other widgets.
setSize(300, 200);
setTitle("Simple");
This code will resize the window to be 300px wide and
200px tall. It will set the title of the
window to Simple.
setDefaultCloseOperation(EXIT_ON_CLOSE);
This method will close the window, if we click on the
close button. By default nothing
happens.
7. Set Image icon for Frame:-
ImageIcon icon= new ImageIcon("1.jpg");
f.setIconImage(icon.getImage());
8. Keep the frame window in center:
As per Screen Resolution.:-
Package:-java.awt.Toolkit;
java.awt.Dimension;
Toolkit toolkit = getToolkit();
Dimension size = toolkit.getScreenSize();
setLocation(size.width/2 - getWidth()/2,
size.height/2 - getHeight()/2);
}
9. Jpanel:-javax.swing.JPanel;
JPanel panel = new JPanel();
getContentPane().add(panel);
We create a JPanel component. We add the JPanel to
the JFrame.
By default, the JPanel has a FlowLayout manager. The
layout manager is used to place widgets onto the
containers. If we call setLayout(null) we can position
our components. absolutely. For this, we use the
setBounds() method.
panel.setLayout(null);
11. A tooltip
Tooltips are part of the internal application's help
system. The Swing shows a small rectangular window,
if we hover a mouse pointer over an object.
button.setToolTipText("A button component");
12. MenuBar:-
A menubar is one of the most visible parts of the GUI
application. It is a group of commands located in
various menus. While in console applications you had
to remember all those arcane commands, here we have
most of the commands grouped into logical parts.
There are accepted standards that further reduce the
amount of time spending to learn a new application.
In Java Swing, to implement a menubar, we use three
objects. A JMenuBar, a JMenu and
a JMenuItem.
13. Packages used:-
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
file.setMnemonic(KeyEvent.VK_F);
javax.swing.JCheckBoxMenuItem;
ImageIcon:-
ImageIcon icon = new ImageIcon("exit.png");
JMenuItem Close = new JMenuItem("Close", icon);
Jbutton b1=new Jbutton(“exit”,icon);
14. A popup menu:-
Another type of a menu is a popup menu. It is
sometimes called a context menu. It is usually shown,
when we right click on a component. The idea is to
provide only the commands, that are relevant to the
current context. Say we have an image. By right clicking
on the image, we get a window with commands to save,
rescale, move etc. the
image.
15. private JPopupMenu menu;
menu = new JPopupMenu();
JMenuItem menuItemBeep = new JMenuItem("Beep");
menuItemBeep.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
toolkit.beep();
}
});
menu.add(menuItemBeep);
JMenuItem menuItemClose = new JMenuItem("Close");
menuItemClose.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
17. Toolbar:-javax.swing.JToolBar;
Menus group commands that we can use in an
application.
Toolbars provide a quick access to the most frequently
used commands.
In Java Swing, the JToolbar class creates a toolbar in an
application.
18. ImageIcon icon = new
ImageIcon("exit.png");
ToolBar toolbar = new JToolBar();
JButton exit = new JButton(icon);
toolbar.add(exit);
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
});
add(toolbar, BorderLayout.NORTH);