Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Java Example Java Swing Java 2D API

Related Tutorials


 
 

Share on Google+Share on Google+

Java 2D API

Advertisement
Programming has become more interactive with Java 2D API.

Java 2D API

     

Programming has become more interactive with Java 2D API. You can add images, figures, animation to your GUI and even pass visual information with the help of Java 2D API. You can easily use 2D within Swing components such as drop shadows since Swing is built on 2D package.

Pluggable Look and Feel 

The Java Swing supports the plugging between the look and feel features. The look and feel that means the dramatically changing in the component like JFrame, JWindow, JDialog etc. for viewing it into the several types of window. You can create your own look and feel using Synth package. There are many of existing look and feels which are available to Swing programs provided by GTK+ look and feel. Moreover, the look and feel of the platform can be specified by the program while running and also to use Java look and feel can be specified by it.

The pluggable look and feel indicates that the whole look of the GUI element can be changed i.e. both the visual representation and behavior of a GUI can be changed at the time of display of the component. The new object which is created by the Swing application i.e. a new button by instantiating the JButton class already knows that how to react to mouse movements and mouse clicks. Some tasks are only performed by certain specialized classes like mouse handling that is why there is no need to change the code to modify the look. However, if the code is contained by the button itself that creates its visual representation then this code would be required to be changed to modify the look and feel of the GUI. Due to this reason only Swing provides custom look and feel.

Lets tweak the example below that shows how pluggable look and feel affects programming.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class SwingDemo extends JFrame{
  JLabel msgLabel;
  
  public SwingDemo(){
  super("Swing");
  setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
  addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit(0);
  }
  });
  
  ActionListener al = new ActionListener(){
  public void actionPerformed(ActionEvent ae){
  msgLabel.setText(((JButton)ae.getSource()).getText());
  }
  };
  
  JButton button;
  JPanel buttonPanel = new JPanel();
  buttonPanel.setBorder(new TitledBorder("Click a button"));
  for (int i = 0; i < 3; i++){
  button = new JButton("Button " (i + 1));
  button.addActionListener(al);
  buttonPanel.add(button);
  }
  
  JPanel p = new JPanel(new BorderLayout());
  p.setBorder(new EmptyBorder(8888));
  msgLabel = new JLabel("No button pressed!");
  p.add(msgLabel, BorderLayout.NORTH);
  p.add(buttonPanel, BorderLayout.CENTER);
  setContentPane(p);
  pack();
  setVisible(true);
  }
  
  public static void main(String[] args){
  new SwingDemo();
  }
}

Output of the program:

C:\newprgrm>javac SwingDemo.java

C:\newprgrm>java SwingDemo

Download this example.


Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: December 19, 2008

Related Tutorials

Discuss: Java 2D API   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:3
sathya
August 17, 2011
Request

First of all i thank to this website. it is very useful to learn java. it is very easy way to learn java. but i give one suggestion. that is please remove the girl cartoon on top right corner of the page. because i cant study continuosly when my friends or relatives. it is very illegal photo. Kindly accept my suggestion. thank you!!! Otherwise it is good
pratik
February 8, 2012
java

your website sucks
aman
May 13, 2012
error on execution

class file is generated but when i run the program it gives exception exception in thread "main" java .lang.noclassdeffounderror
DMCA.com