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
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()); } }