You are on page 1of 15

Lp trnh giao din trn Java Phn 7

Swing l th vin lp trnh m rng ca Java. N m rng cc i


tng giao din ho c bn ca Java. Swing cn c gi l th vin
JFC (Java Foundation Class). Khi mun s dng cc i tng ho
ca th vin ny, ta phi khai bo ch th:

n trang: Trc: 1 2 K
5/- Gii thiu v Swing

5.1/- M rng cc i tng component
JFC m rng cc i tng c bn ca java thnh cc lp tng ng, ngoi tr vic c thm ch
"J" u mi tn lp:

Cc lp m rng ny c y cc phng thc ca cc i tng lp c bn ca th vin
java.awt. Ngoi ra, chng c b sung mt s phng thc to hiu ng giao din.
Chng trnh 6.20 minh ho vic s dng i tng JButton. i tng JButton c m rng
thm mt s tnh nng sau:
JButton(String, Icon): Khi to mt nt nhn vi mt tn nhn v mt nh nn. nh nn c
kiu icon (tham s th hai).
setMnemonic(char): nh phm tt cho nt lnh. Khi ngi dng nhn "Ctrl+phm tt" th nt
lnh cng thc thi tng t nh kkhi ta click chut vo nt lnh.
setBorder(new MatteBorder(int, int, int, int, Icon)): Thit lp khung nn cho nt vi cc
tham s: Khong cch t ch n bin ( rng bin) theo cc chiu trn di, tri phi, cui
cng l nh nn cho nt.
setBorder(new LineBorder(int)): Thit lp vin cho nt dng hnh ch nht, tham s xc
nh mu cho vin ca nt. Ngoi ra, tham s ca phng thc ny cn c th l cc lp
SoftBevelBorder, EtchedBorder v TitleBorder.
setToolTipText(String): Thit lp dng tooltip cho i tng. Dng ny s hin ra khi ta di
chut ln i tng trn ca s.
Chng trnh 6.20

Trong chng trnh ny, c dng lnh gn cc i tng vo frame bng cch getContentPane().
y l phng thc m rng cho cc i tng khung cha container. S m rng ny s c
trnh by chi tit trong phn tip theo.
5.2/- M rng cc i tng container
Tng t nh cc i tng component, cc i tng container cng c m rng trong JFC
thnh cc lp c tn tng ng v thm k t "J" u:

Chng trnh 6.21 minh ho vic s dng cc i tng m rng ca khung cha Frame thnh
JFrame. Khung cha JFrame c nhiu tng trnh din khc nhau, cc tng l trong sut v chng
kht ln nhau, khin cho ta vn c cm gic cc i tng c trnh by trn cng mt mt
phng nh khung cha Frame ca th vin chun AWT.
Mt s tng hay s dng ca lp JFrame (theo th t t trong ra ngoi):
ContentPane: L tng thng dng nht, tng ny dng cha cc i tng component c
bn nh button, label, text, list
MenubarPane: Tng dnh cha cc loi menu ca frame nh Menubar, PopupMenu.
GlassPane: Tng ngoi cng, thng dng cha cc tooltip ca cc i tng trong tng
Content. Khi ta set tooltipText cho mt i tng, tooltip s t ng c add vo tng Glass.
truy nhp vo mt tng bt k, ta dng phng thc c tn:

V d:

s gn mt nt nhn c nhn Test vo tng Content ca khung cha myFrame. Chng trnh
6.21 minh ho vic gn cc i tng vo cc tng khc nhau:
Gn mt nt nhn vo tng ContentPane.
Gn mt thanh Menubar c cha mt menu File vo tng MenubarPane.
Chng trnh 6.21


Lu :
V cc i tng m rng ca th vin JFC c b sung kh nhiu tnh nng, c bit l cc
tnh nng ho, do , cc i tng ny c nhc im l rt cng knh. V l do nng ti, cho
nn hin nay, cc i tng ca th vin JFC vn t c ph bin trong cc ng dng applet.

6/- Case Study IV
Trong phn ny, ta s minh ho cch s dng cc i tng ho ca th vin chun AWT
vit mt chng trnh m phng mt my tnh Calculator.
To mt frame lm khung chng trnh, tiu l "Java Calculator".
Pha trn l mt Label (hoc vn bn u c, nhng nu dng vn bn th khng cho
edit) hin cc s c nhp vo v kt qu tnh ton.
Pha di l cc nt nhn tng ng vi cc ch s v php ton. Nhng nhm cc nt nhn
cho ng b v layout p mt, ta nhm chng vo mt Panel.
Khi , frame s cha trc tip hai i tng: label v frame. Ta s dng layout kiu null, v
xc nh v tr chnh xc cho label v panel.
i vi Panel, ta cng dng GridLayout. V c 10 nt nhn s v cc nt nhn ton t: nt
cng, nt nhn, nt chia, nt tr, nt cn bc hai, nt phy thp phn, nt bng, nt lu tha, nt
nghch o, nt reset. Nn s to thnh 4 dng, 5 ct: mi dng gm c 3 nt s v hai nt chc
nng:
- Dng 1: cc nt 7, 8, 9, cng, reset (C).
- Dng 2: cc nt 4, 5, 6, tr, lu tha.
- Dng 3: cc nt 1, 2, 3, nhn, nghch o.
- Dng 4: cc nt 0, thp phn, nt bng, nt chia, nt cn bc hai.
Vi cc nt s v nt thp phn, khi click vo nt th k t tng ng c hin ln trn label.
Vi cc nt chc nng, khi click vo th thc hin php ton v hin kt qu ra mn hnh, nu
c.
Khi click vo nt bng (kt qu) th hin kt qu trn label.
Chng trnh 6.22 ci t chi tit chng trnh ny.
Chng trnh 6.22











Chng trnh 6.22 s cho kt qu nh hnh 6.16:

Hnh 6.16: Kt qu demo case study.
Ht
Demo c v Ghi File bng Java nhp liu t bn phm .
Tuesday, June 8, 2010 10:09:51 AM
Java, Demo Write File, Read File in Java using user input, Delete File in Java using user input,
How to Write File in Java using user input, Delete File in java, Read File

package LINHBH_B00533_C0810G_AJAVA;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/**
*
* @author LINHBH
*/
public class docghiFile {

String name;
int old;

public docghiFile() {
}

public docghiFile(String name, int old) {
this.name = name;
this.old = old;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getold() {
return old;
}

public void setold(int old) {
this.old = old;
}
// lay thong tin:

public void layThongtin() {
Scanner sc = new Scanner(System.in);
sc.useDelimiter("\n");
System.out.println("Nhap vao ten :");
name = sc.next();
System.out.println("Nhap vao old :");
old = sc.nextInt();
System.out.println("Nhap hoan tat");
}
// ghi ra file voi thong tin vua nhap :

public void ghiFile() {
try {
FileWriter fw = new FileWriter("LINH.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write(this.name);
bw.write("\t");
bw.write(Integer.toString(this.old));
bw.close();
} catch (IOException ex) {
ex.printStackTrace();
}
System.out.println("Ghi file thanh cong");
}
// doc du lieu tu file hien thi noi dung len man hinh :

public void docFile() {
try {
FileReader fr = new FileReader("LINH.txt");
BufferedReader br = new BufferedReader(fr);
// khai bao 1 bien chuoi luu gia tri doc duoc tu file :
String giatri = "";
//kiem tra xem co doc duoc khong roi in ra :
while ((giatri = br.readLine()) != null) {
System.out.println(giatri);
}
br.close();
System.out.println("doc file hoan tat");
} catch (IOException ex) {
ex.printStackTrace();
}
}

public void xoaFile() {
String tenfile = "LINH.txt";
File f = new File(tenfile);
boolean bl = f.delete();
if (bl = true) {
System.out.println("Xoa thanh cong ban a @@");
} else {
System.out.println("Xoa khong thanh cong :(( ");
}
}

}

Note : Mc nh File LINH.txt s c to cng trong th mc cha Project
!.


StumbleUpon
reddit



Demo m File v ly tn File trong folder bng javaStack with IEnumerable in C#


y l 1 v d c file text.txt
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;

public class ReadTextFileExample
{
public static void main(String[] args)
{
File file = new File("test.txt");
StringBuffer contents = new StringBuffer();
BufferedReader reader = null;

try
{
reader = new BufferedReader(new FileReader(file));
String text = null;

// repeat until all lines is read
while ((text = reader.readLine()) != null)
{
contents.append(text)
.append(System.getProperty(
"line.separator"));
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} finally
{
try
{
if (reader != null)
{
reader.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
}

// show file contents here
System.out.println(contents.toString());
}
}

You might also like