Download java Swing tutorial

Document related concepts

Oracle Database wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Database wikipedia , lookup

SQL wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Ingres (database) wikipedia , lookup

PL/SQL wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
Java Swing Tutorial
Java Swing
* A part of The JFC
* Swing Java consists of
Look and feel
Accessibility
Java 2D
Drag and Drop, etc
Introductions
Swing is one of the Graphical User Interface tool.
Swing is used to develop the graphical user interface (GUI) in
java.
 Swing components used for the building of GUI.
Swing components are helpful for interactivity to Java
applications.
 The components of Swing toolkit are given below:
list controls
buttons
labels
tree controls
table controls

Java Swing Class Hierarchy
Swing Events
event source // The Event source is the object. It generates
Events.
 event object // The Event object encapsulates the condition
changes in the event source.
event listener // The Event listener is the object that requests
to be notified
Event source:
Object is handling an event to the event listener.Event
handling in Swing toolkit is very easy to handle and powerful.
Objects are notified when a specific event occurs.

JFrame
Open frame place the icon on the title bar.Methods
are as follows:
frame.setIconImage(Toolkit.getDefaultToolkit().getI
mage("icon_confused.gif"));
 it’s using the Image class method named
getImage().frame.getDefaultToolkit():
//This is the method of the Toolkit class which gets
the default toolkit.

createAndShowGUI
private static void createAndShowGUI()
{
//Create and set up the window.
JFrame frame = new JFrame("Hi..");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add a label.
JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
//Display the window.
frame.pack();
frame.setVisible(true);
}
Menus
JMenuBar
JMenu
JMenuItem
checkBox
import javax.swing.*;
JCheckBox chk = new JCheckBox("This is the
Check Box");
frame.add(chk);
Text Area
import javax.swing.JTextArea;
// Create a text area with some initial text
JTextArea textarea = new JTextArea("Initial
Text");
int rows = 20;
int cols = 30;
textarea = new JTextArea("Initial Text", rows,
cols);
TextField
JTextField t = new JTextField("Text field 3", 8);
JButton
Button:
Two types: JButton(), JButton(Name)
JButton () is used for create blank JButton instance.
JButton (Name) is used for create a JButton
instance with the specified text.
JButton Button1;
Button1 = new JButton ("Black is White");
add (Button1);
Layout Managers
Most Swing UIs utilise a LayoutManager to control
positioning of items
There is a choice of these which work in different
ways
Initially we do without one, and position items
ourselves:
 frame.setLayout(null);

Absolute positioning
JFrame frame = new JFrame("I am a JFrame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(20,30,300,100);
frame.setLayout(null);
JButton butt=new JButton("Click me");
frame.getContentPane().add(butt);
butt.setBounds(20, 20, 200,20);
frame.setVisible(true);
FlowLayout
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("FlowLayout");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new FlowLayout());
JButton b1 = new JButton("Hello");
frame.getContentPane().add(b1);
JButton b2 = new JButton("Two");
frame.getContentPane().add(b2);
JTextField t1 = new JTextField("Text here");
frame.getContentPane().add(t1);
frame.pack();
frame.setVisible(true);
BorderLayout
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Border");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton b1 = new JButton("At the top");
frame.getContentPane().add(b1,BorderLayout.PAGE_START );
JButton b2 = new JButton("Bottom");
frame.getContentPane().add(b2,BorderLayout.PAGE_END);
JTextField t1 = new JTextField("Left");
frame.getContentPane().add(t1,BorderLayout.LINE_START);
JTextField t2 = new JTextField("Right");
frame.getContentPane().add(t2,BorderLayout.LINE_END);
JButton b3 = new JButton("Centre");
frame.getContentPane().add(b3,BorderLayout.CENTER );
frame.pack();
frame.setVisible(true);
Grid Layout
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Grid");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new GridLayout(4,3,5,5));
for (int i=0; i<10; i++)
frame.getContentPane().add(new JButton(""+i));
frame.pack();
frame.setVisible(true);
Swing has a lot of classes
containers
controls
things that hold other things
eg JFRame
User I/O widgets
eg JButton
Containers
top level containers - JFrame JApplet JDialog
general purpose containers panel
scroll pane
split pane
tabbed pane
tool bar
JPanel ( in createAndShowGUI)
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("I am a JFrame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(20,30,300,100);
frame.setLayout(null);
//Create a panel
JPanel myPanel = new JPanel();
myPanel.setBackground(new Color(255,3,25));
myPanel.setOpaque(true);
//Make it the content pane.
frame.setContentPane(myPanel);
frame.setVisible(true);
Tooltip and border
myPanel.setOpaque(true);
myPanel.setToolTipText("I'm a JPanel");
myPanel.setBorder(BorderFactory.createLineBor
der(Color.white));
frame.setContentPane(myPanel);
..
JSplitPane
setLayout(null);
//Create a split pane
JSplitPane myPane = new JSplitPane();
myPane.setOpaque(true);
frame.setContentPane(myPane);
frame.setVisible(true);
JSplitPane with JPanels
//Create a split pane
JSplitPane myPane = new JSplitPane();
myPane.setOpaque(true);
myPane.setDividerLocation(150);
// make two panels
JPanel right = new JPanel();
right.setBackground(new Color(255,0,0));
JPanel left = new JPanel();
left.setBackground(new Color(0,255,0));
// set as left and right in split
myPane.setRightComponent(right);
myPane.setLeftComponent(left);
Exercise
JDBC (JAVA DATABASE
CONNECTIVITY)
Database and Database
Management System


Database is simply a collection of data. In relational database,
data is organized into tables.
Student_ID
Name
Major
Grade
101
Shannon
BCB
A
102
Mike
BBMB
A
103
Wang
MCDB
A
…
…
…
Database Management System (DBMS) is software to maintain
and utilize the collections of data (Oracle, DB2, MySQL)
MySQL Introduction



MySQL is a database management system
SQL stands for the Structured Query Language.
It defines how to insert, retrieve, modify and
delete data
Free from www.mysql.com
Introductions

JDBC is Java application programming interface
Allows the Java programmers to access database
management system from Java code.


To execute SQL statements
Components of JDBC
JDBC has four Components:
1. The JDBC API.
2. The JDBC Driver Manager.
3. The JDBC Test Suite.
4. The JDBC-ODBC Bridge.
Type 1 JDBC Architecture
Type 2 Java to Native API
Type 3 Java to Network Protocol
Or All- Java Driver
Type 4 Java to Database Protocol
Common SQL statements
SQL Select statement:
The SELECT statement is used to select data from
a table.
Syntax: Select column_names FROM table_name;
SQL INSERT Statement
To insert a single or multiple records into the database.
Syntax: Insert into table_name values(value1,value2..);
The Insert statement has mainly three clauses.
1). Insert: It specifies which table column has to be inserted
in the table.
2). Into : It tells in which the data will be stored.
3). Values: In this we insert the values we have to insert.
UPDATE Statement
The Update statement is used to modify the data in
the table
The syntax is :
UPDATE table_name Set colunm_name =
new_value WHERE column_name = some_name;
DELETE Statement
This delete statement is used to delete rows in a
table.
Systax:
DELETE FROM table_name WHERE
column_name = some_name;
Login
mysql –h hostname –u username –p
[password]
 Example
% mysql -u usrname -p
Enter password: passowrd
Welcome to the MySQL monitor. Commands
end with ; or \g. Your MySQL connection id
is 23 to server version: 3.23.41.

Type 'help;' or '\h' for help. Type '\c' to clear the
buffer.
Login Example

Exp:2
mysql –h 131.131.0.103 –u amudha –p
amudha1

mysql>
Create Database
mysql> show databases; (What are the current databases at the server?)
+--------------+
| Database |
+--------------+
| mysql
| mysql is a database (stores users’ password …) used by system.
+--------------+
mysql> create database MyDB;(Create a database (make a directory) whose name is
MyDB)
mysql> use MyDB;(Select database to use )
Database changed
mysql> show tables;(What tables are currently stored in the MyDB database? )
Empty set (0.00 sec)
Create Table

CREATE TABLE Table_Name (column_specifications)
Example
mysql> CREATE TABLE student
-> (
-> student_ID INT UNSIGNED NOT NULL,
-> name
VARCHAR(20) NOT NULL,
-> major
VARCHAR(50),
-> grade
VARCHAR(5)
-> );
Query OK, 0 rows affected (0.00 sec)

Student_ID
Name
Major
Grade
Display Table Structure
mysql> show tables;
+--------------------+
| Tables_in_MyDB |
+--------------------+
| student
|
+--------------------+
1 row in set (0.00 sec)
mysql> describe student;
+---------------+----------------------+------+------+----------+--------+
| Field
| Type
| Null | Key | Default | Extra |
+---------------+----------------------+-------+-----+-----------+-------+
| student_ID | int(10) unsigned |
|
|0
|
|
| name
| varchar(20)
|
|
|
|
|
| major
| varchar(50)
| YES |
| NULL |
|
| grade
| varchar(5)
| YES |
| NULL |
|
+---------------+----------------------+-------+------+----------+-------+
4 rows in set (0.00 sec)
Modify Table Structure

ALTER TABLE table_name Operations
mysql> alter table student add primary key (student_ID);
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> describe student;
+---------------+--------------------- +-------+------+----------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+---------------+----------------------+-------+------+----------+-------+
| student_ID | int(10) unsigned |
| PRI | 0
|
|
| name
| varchar(20)
|
|
|
|
|
| major
| varchar(10)
| YES |
| NULL |
|
| grade
| varchar(5)
| YES |
| NULL |
|
+---------------+----------------------+-------+------+-----------+------+
4 rows in set (0.00 sec)
Insert Record
 INSERT INTO table_name SET
col_name1=value1,
col_name2=value2,
col_name3=value3, …
 Example
mysql> INSERT INTO student SET
student_ID=101, name='Shannon',
major='BCB', grade='A';
Query OK, 1 row affected (0.00 sec)
Student_ID
Name
Major
Grade
101
Shannon
BCB
A
Retrieve Record
SELECT
what_columns
FROM table or
tables
WHERE
condition
 Example

Student_ID
Name
Major
Grade
101
Shannon
BCB
A
102
Mike
BBMB
A
103
Wang
MCDB
A
…
…
…
Update Record


UPDATE table_name
SET which columns to change
WHERE condition
Example
mysql> UPDATE student SET grade='B' WHERE name='Shannon';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM student WHERE name=‘Shannon’;
+------------+---------------+--------+--------+
| name
| student_ID | major | grade |
+------------+---------------+--------+--------+
| Shannon |
101 | BCB | B
|
+------------+---------------+--------+--------+
1 row in set (0.00 sec)
Delete Record
DELETE FROM table_name
WHERE condition
 Example
mysql> DELETE FROM student
WHERE name='Shannon';
Query OK, 1 row affected (0.00
sec)

Steps to creatd JDBC
Tables creation
Load the driver manager
Connection establishment
Statement creations
Process the result set
Execute the statement
Close the connection and statement
Stop the program

Creating a Database Table
String table ;
table= "CREATE TABLE
Employee11(Emp_code integer, Emp_name
varchar(10))";
st.executeUpdate(table);
Connection Establishment
Is an interface in java.sql package
Specifies connection with specific database
like: MySQL, Ms-Access, Oracle etc and java
files.
The SQL statements are executed within the
context of the Connection interface.


Class.forName(String driver):
Connection Establishment
Syntax
Connection conn;
Class.forname(“com.mysql.jdbc.Driver”).newIns
tance();

DriverManager
It is a class of java.sql package that controls a set
of JDBC drivers.
Each driver has to be register with this class.
getConnection(String url, String userName,
String password):
 url: - Database url where stored or created your
database
 userName: - User name of MySQL
 password: -Password of MySQL

Load the JDBC Driver into the database
Syntax
String userName = "root";
String password = "mysql";
String url =
"jdbc:mysql://localhost/programs";
 conn =
DriverManager.getConnection(url,userNa
me,password);

Create the statements and update the
values in the table structure
Statement st=conn.createStatement();
 st.execute("create table stud10(rollno
int,name text,m1 int,m2 int)");
 st.executeUpdate("insert into stud10
values(2,'rani',50,90)");

Process the Query result set
rs=st.executeQuery("select * from stud10");
while(rs.next())
{
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getInt(3));
System.out.println(rs.getInt(4));
}
Close the connection
con.close():
This method is used for disconnecting the
connection.
It frees all the resources occupied by the
database.

Close the statement and connection


st.close();
conn.close();
Final Steps
To import Syntax
export
CLASSPATH=$CLASSPATH:/usr/share/java/m
ysql-connector-java-5.1.6.jar
 To Compile
Javac Filename.java
 To Run
java Filename
