صفحه 1:
Pee DLs re) Ste Sy
Java)
er ال
صفحه 2:
} Qpublic void run
;0Thread thisThread = Thread.currentThread
} while (runner == thisThread)
;card.show(this, "Card " + current)
فلت ویاا یس
if (current > 5)
;current = 0
غمنهمع():
aie
;Thread.sleep(5000)
{} catch (InterruptedException e) {
{
{
{
صفحه 3:
GridBagLayout
تفاوت این ۱۵۷0۷۵۴ 6۲۱۵۱۵۷0۷۶ به شرح زیر است :
يى 6011120116118 مى تواند بيش از يك سلول درون !6116 را اشغال كند.
0 ا م
۲ هارا مىوتولزنبه طرقمختلفهرون6!14 قرار داد.
ا ل ل gGridBagConstraint
5220
كلاس 001351612111 611018230 براى تعيين مشخصات
ل 62۲1۵ استفاده می شود.
Fowl BIN espera Cla CoM لل ل | anes pews ETL!
Gale Layout olsc © oT G 427 9 GridBagLayout ا
GridBagConstraint ., stu!
Component » ;constraint 5.2;
اعمال :0135131131عهاى هر 6011130116116 به 1۵۷00
Constraint «Component 455 ;3!
صفحه 4:
"" قدم اول: طراحى 110 ©
* قبل از شروع کد نویسی [3۲16) مورد نظر خود را روی کاغذ ترسیم کنید.
"" قدم دوم: ايجاد 110 ©
peal ا ا ا ال ا ۱
roi nor wT Re Crned ا 000
|
است.
void yet | Rilke el
gbc, int gx, int gy
} dnt gw, int gh, int wx, int wy
39bc.gridx = gx
igbc.gridy = gy
39bc.gridwidth = gw
;9bc.gridheight = gh
;gbc.weightx = wx
;9bc.weighty = wy
1
صفحه 5:
و ۱
} Qpublic void init
;30GridBagLayout gridbag = new GridBagLayout
GridBagConstraints constraints = new
30GridBagConstraints
;setLayout(gridbag)
Name label //
buildConstraints(constraints, 0, 0, 1, 1, 100,
3100)
;constraints.fill = GridBagConstraints.BOTH
;Button labell = new Button("Name:")
;gridbag.setConstraints(label1, constraints)
jadd(label1)
0
صفحه 6:
* بعد از اختصاص 0۱۱5۲۵۲۱5 به یک 0۲0۲6۲۱۴ می توان از شیء
5 ۵ برای اختصاص ات
111 2 2هاى ديكر استفاده كرد.
* در مجموع باید ۴ بار دیگر Pore Otc) eee
استفاده كنيم
buildConstraints(constraints, 1, 0, 1, 1, 100,
)3100
buildConstraints)constraints,0, 1, 1, 1, 100, 100);
a ee 1,1, 1, 1, 100,
;)100
buildConstraints)constraints, 0, 2, 2, 1, 100,
;)100
Ora st Clad
* قدم بعدی تعیین ابعاد سطرها وستونها مى باشد. برای مثل ممکن است بخواهید
omen) رت یات ۳ ابعاد کمتری نسبت به 6(»100(6
3 600 ها داشته باشد تععن
a ie
صفحه 7:
نکته
ل ا ل ا
ce eer al ل 0 کردیم. توجه کنید.
,100 ,1 ,1 ,0 ,0 اد ی
ae 1, 0, 1, 1, 100, د لنت
,100 ,1 ,1,1 ,0 را ا ال
buildConstraints)constraints, 1,1, 1,1, 100,
buildconstraints)constraints, 0, 2, 2, 1, 100,
ke pee ed ا الل ا ا
BuildConstraints(constraints, 0, 0, 1, 1, 10,
//name :(100
۱۳:
صفحه 8:
"" قدم جهارم: افزودن وتنظيم 1311 600111130116ها
pedi ا |
شود.
Component :GridBagConstraints.BOTH ®
راديهردوجهلارتفاع وعرض) كسترششمىدهد تاتمم سلولهارا يرنلايد
LG 55 4 tcl, -GridBagConstraints.NONE ®
:0111 با كوحكتريرهندازه ممكرنشازداده شود.
:-GridBagConstraints. HORIZONTAL ® 0000
21220011111 لمتداد لفقولنجام مىوشود.
® ال يا لك 20000
soils ير لمتداد عمودىلنجام موشود.
صفحه 9:
LU] مقدار ييش فرض این GridBagConstraints.NONE 42x20 می
"' براى 118 0137]30136) هابى كه تمام سلول را اشغال نكرده مقادير ديكرى به
شرح زیر موجوداست .این مقادیر مشخصه 8106110۳نسبت داده می شوند. اين
مقادير موقعيت قرار كرفتن )11 eT SEND Oo it) ole) سلول مشخص مى كند.
GridBagConstraints.NORTH
GridBagConstraints.NORTHEAST
GridBagConstraints.SOUTH
GridBagConstraints.SOUTHEAST
GridBagConstraints.EAST
GridBagConstraints.NORTHWEST
GridBagConstraints.WEST
GridBagConstraints.SOUTHWEST
۷ مقدار پیش فرض این مشخصه GridBagConstraint.CENTER _
صفحه 10:
اعمال تنظیمات
import java.awt.*;
public class NamePass extends
java.applet.Applet {
void buildConstraints(GridBagConstraints
gbc, int gx, int gy,
int gw, int gh, int wx, int wy) {
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
gbc.weightx = wx;
gbc.weighty = wy;
صفحه 11:
public void init() {
GridBagLayout gridbag = new
GridBagLayout();
GridBagConstraints constraints = new
GridBagConstraints();
setLayout(gridbag);
// Name label
buildConstraints(constraints, 0, 0, 1, 1, 10,
40);
constraints.fill = GridBagConstraints.NONE;
Coley aide Tela relate) ait
GridBagConstraints.EAST;
Label label1l = new Label("Name:",
Label.LEFT);
gridbag.setConstraints(label1, constraints);
add(labell1);
/۱ ۱۱۵۲۵ ۲6:۲ ۵
صفحه 12:
igridbag.setConstraints(tfname, constraints)
;add(tfname)
password label //
;buildConstraints(constraints, 0, 1, 1, 1, 0, 40)
;constraints.fill = GridBagConstraints.NONE
لت
;GridBagConstraints.EAST
Label label2 = new Label("Password:",
;Label.LEFT)
;gridbag.setConstraints(label2, constraints)
jadd(label2)
password text field //
sbuildConstraints(constraints, 1, 1, 1, 1, 0, 0)
constraints. fill =
;GridBagConstraints. HORIZONTAL
ام الم لم001
صفحه 13:
tfpass.setEchoCharacter('*');
gridbag.setConstraints(tfpass,
constraints);
add(tfpass);
// OK Button
buildConstraints(constraints, 0, 2, 2, 1,
O, 20);
constraints. fill =
GridBagConstraints.NONE;
constraints.anchor =
GridBagConstraints.CENTER;
Button okb = new Button("OK");
gridbag.setConstraints(okb,
constraints);
add(okb);
صفحه 14:
Event Handing : clus, ce pro
ا ا 00
مدیریت نماییم.رویداد ها بسته به عمل کاربر سپستم
تولید می شوند.
صفحه 15:
صفحه 16:
0روات 3 :]۱۱۳/۰
رويداد كليك ©1/10115: اين رويداد به نوع خود شامل انواع
(mouse 45> 0>,23)MouseDown ا ل ۱0۳
ا ا ل لك ل ا ل
۶ مى باشد.
رويداد حركت (118 1116 1/1016 ©1/10115) ©1/10115!: اين رويداد به نوبه
yes ۱
Component ; ار
فشردن دکمه های صفحه کلید(65 ۲655 6۷>): این رویداد به نوبه خود
شامل فشردن دکمه های صفحه کلید. رها کردن دکمه های صفحه کلید و
ل ل ا eed
0-0 لي ا 0 020000
Te م ل ل ال 93200
$9 o> »»lb Scrollbar(Scrollbar Up and Down)
صفحه 17:
Mouse SoS مدبريت رويداد
"" يكى از معمولترين رويداد ها كليك 9
١ "" ) رويداد 3الالا120 ©1/101015 و 2 لاع190115/!: وقتى كاربر روى 11101056
ا ل ۱
Tits ا ا ل ل 22020 ال
0 0-5 لا ey tomer SCR
مربوط به رخدادها انجام می شود. برای مثال به متد زیر توجه کنید.
" ی public boolean mouseDown(Event evt, int x,
1۷
//Method’s Core Comes here
7
go diols 4S ygb us MouseDown() ,; mouseUp() متدهاى
cee oe Se ee SLE ere
" علاء 16 علاع: لير ركومانشيئ از كلاس 21/611 لسبتكه حاوىرويداد
مربوطه لست
aad ل ا ا ل 0 22
صفحه 18:
ao
public boolean mouseDown(Event evt, int x,
(۱0۴ ۷(
System.out.printin(“Mouse down at” + x +
لوتيد
{
صفحه 19:
زا ۳
0لا 1701015!() مى باشد اين متد زمانى كه دكمه 11101156
رها مى شود. فراخوانى مى كردد. براى مديريت رويداد
م لاع170115, بايد متد 0 لا 170115( را override
كنيم.
public boolean mouseUp(Event evt, int
x, int y){
//Method’s Core Comes here
صفحه 20:
مثال
simport java.awt.Graphics
mport java.awt.Color
;import java.awt.Event
public class Spots extends
} java.applet.Applet
;final int MAXSPOTS = 10
nt xspots[] = new int[MAXSPOTS]
nt yspots[] = new int[MAXSPOTS]
;int currspots = 0
} Qpublic void init
;setBackground(Color.white)
{
صفحه 21:
boolean mouseDown(Event evt, int x, int اطلام
لا
} if (currspots < MAXSPOTS)
jaddspot(x,y)
Aa gaa
{
}else
;System.out.printin("Too many spots.")
sreturn false
1
void addspot(int x,int y) {
xspots[currspots] = x;
yspots[currspots] = y;
currspots++;
repaint();
صفحه 22:
} public void paint(Graphics g)
;g-setColor(Color.blue)
} for (int i = 0; i < currspots; i++)
g-fillOval(xspots[i] - 10, yspots[i]
;- 10, 20, 20)
1
1
1
صفحه 23:
Double Click ofug, ce puro
PCCM LOST Mee ALCL -Reee cin bern prec HY pial
public boolean mouseDown(Event evt, int x, int y)
switch(evt.clickCount){
case1://Single click
case2://Double click
case3://Triple click
kee
7
0
public boolean mouseDown(Event evt, int x, int y)
۲۱
0
5۱۷6۲۵۱۰۵۵۱۵۲۱۵۱) ۵ لل
;evt.clickCount)
صفحه 24:
مدیریت رویداد جابجایی ۱۷۱0056
ی
* هرگاه ۲1۱01156 جابجا می شود. دو رویداد متفاوت به وقوع می پیوندد.
الي ل را
Cond vad
public boolean mouseDrag(Event evt, int x, int y)
{
//Method’s Core Comes Here
7
ا لا ا ار ا 0000
باشد
public boolean mouseMove(Event evt, int x, int y)
//Method’s Core Comes Here
7
0 7
صفحه 25:
ورد تا مكازنماى6 1110115 به ينجرهدى ليلت
متد مربوطبه لين ويداد فرلخولنىومىوشود.
public boolean mouseEnter(Event evt, int x,
TT NEE
//Method's Core Comes Here
7
أألاعا 110115 : باورود مكازنماى6 1110115 به ينجرهمى ليلت ""
ye Crt eee net Saeed
public boolean mouseExit(Event evt, int x,
int y){
//Method’s Core Comes Here
صفحه 26:
مثال
زدعأطامرة6. الاق هلوز خرمم حرا
import java.awt.Color;
import java.awt.Event;
import java.awt.Point;
public class Lines extends java.applet.Applet {
:10 ح 5ع لالالامل! غمأ اهمق
Point starts[] = new Point[MAXLINES]; // starting points
Point ends[] = new Point[MAXLINES]; // ending points
Point anchor; // start of current line
Point currentpoint; // current end of line
int currline = 0; // number of lines
public void init() {
setBackground(Color.white);
}
صفحه 27:
boolean mouseDown(Event evt, int x, int از
۷
if (currline < MAXLINES) {
anchor = new Point(x,y);
تا اوه ینت۱
else {
System.out.printin("Too many lines.");
return false;
1
public boolean mouseUp(Event evt, int x, int y) {
if (currline < MAXLINES) {
addline(x,y);
و وا توا
7
لفات وتات
1
صفحه 28:
public boolean mouseDrag(Event evt, int x, int y)
{
if (currline < MAXLINES) {
currentpoint = new Point(x,y);
repaint();
۲۳6۲۱۲۲ تعنلا
7
رال توا تن
7
void addline(int x,int y) {
starts[currline] = anchor;
ends{[currline] = new Point(x,y);
currline++;
currentpoint = null;
anchor = null;
repaint();
صفحه 29:
public void paint(Graphics g) {
// Draw existing lines
for (int i = 0; i < currline; i++) {
g-drawLine(starts[i].x, starts[i].y,
ends[i].x, ends[i].y);
1
// draw current line
g-setColor(Color.blue);
if (currentpoint != null)
g-drawLine(anchor.x,anchor.y,
currentpoint.x,currentpoint.y);
1
}
صفحه 30:
مديريت رويدادهاى صفحه كليد
"" براى اينكه يكم :011120116111 بتواند رويدادهاى صفحه
كليد را دريافت كندء بايد 105 ©1106 ©© شده باشد. به عبارت
Component x1 ,,53. Component ,%>5
باشد كه براى دريافت وروردى انتخاب شده است.
"! نكته: براى تعيين 1315 6011120116ى كه 506105 را در اختيار
داردء از متد زير استفاده مى كنيم.
5 نا 0465110 111.1 0601110011
صفحه 31:
رتکد
۱
public boolean keyDown(Event evt, int key)
{
//Method’s Core Comes Here
}
public boolean keyDown(Event evt, int key)
{
//Method’s Core Comes Here
+
آرگومان دوم متد فوق(166۷) عدد صحیح حاوی مقادیر کاراکتری یونیکد *
۱ Dy Re ene oe CSc ft bearer)
۳۳ wa
صفحه 32:
نكات و مثال
public boolean keyDown(Event evt, int
key){
System.out.printin(“‘Ascii Value: ” +
LF
System.out.printin(“Character:”
(char)key);
return true;
1
3 ا Pee atl See MSI 00
مى باشند كه مى توان براى دسترسى به انها از اين نامها استفاده كرد.
if(key == Event.UP){
//lf Core Comes Here
صفحه 33:
منال
import java.awt.Graphics;
import java.awt.Event;
import java.awt.Font;
import java.awt.Color;
public class Keys extends java.applet.Applet {
char currkey;
int currx;
ial gaya
public void init() {
currx = (size().width / 2) -8; // default
curry = (size().height / 2) -16;
setBackground(Color.white);
ترا رونت
Font("Helvetica",Font.BOLD,36));
requestFocus();
}
صفحه 34:
ar be boolean keyDown(Event evt, int key)
switch (key) {
case Event.DOWN:
curry += 5;
break;
case Event.UP:
curry -= 5;
break;
case Event.LEFT:
currx -= 5;
break;
case Event.RIGHT:
currx += 5;
break;
صفحه 35:
:default
;currkey = (char)key
if
(٩ rT
:۲62]۳۲۲ ۰۵
if
} public void paint(Graphics g)
}if (currkey != 0)
g.drawString(String.valueOf(currkey),
;currx,curry)
1
if
if
صفحه 36:
را ات et
Java
صفحه 37:
تاریخچه:
تصميم كرفت كه نرم افزارهابى برلى كترل وسابل الكترونيكى طراحى كند لين برد
Sun
نامه شد و سوهرسنی نب هده أقاى جيم كاسليئك بود.
Microsystems 2s, 1990 درسال
درسا1991 یم ای گیگ با ترسعه کات + اجم تفای برری آن ین دید به
نام 08/6 به وجود أوردتد . سه سال بعد از شروع بروزه زيان 08/6 با طهر
اإيترنت تيم تصميم كرفت يا اسضاهه از نزيان 0816 رين
هاییبه وجودآوره که قابليت اجر
برروی همه کامیوترهایمتصل به یترفت را داشته اشند. رای رسیدنبه این هدف مرورگری طراحی.
كردن ب نام 1103108 ع
ركى مهم أن قابليت اجراى ريزبرنامه ها بود.
شرفت كار نام زيان 0816 به 1818 ee is
و شرکت های بزرگی همچون نت اسکیپ و مایکروسافت تی زآن پشتمنی کردند سانجا
مرسال1996جاوا به غنوان يك زین باه نویسی تحت وب شی گرا و همه منظوره شناخته شاد
مروری برچارا
زان 1098 بسا شیه ۰6+ است بسیاری نم ۵ را حفا شود و اجه های موشروری
أن واحقف كرده است . اين عمل بامث شدء كه جاوا زبالى Ae QUA le CAB LU Se
مهم ترين وبزكى هاى جاوا عبارتتداز:
1. Compiled and Interpreted
2. Platform-Independent and Portable
3. Object Oriented
4. Robust and Secure
5. Distributed
صفحه 38:
صفحه 39:
Familiar, Simple and Small
Multithreaded and Interactive
High Performance (for an interpreted language).
Dynamic and Extensible
أشنابى با جند اصطلاح بركاريرد زيان جاوا.
لووق مى زئيدها بعندين اصطلاح به وفور مواجه مى شويد.
Ler ByteCode , Application , Applet tne cn»
جاوا كه مر كنام يه ورت خبلاضه شر
shad
‘Appication , Applet
در زین جرد نع بناه می ون نوشت.
Application
gay by 6 پنمههای ستقلیگفتهمی شود که و
رنه با ۳۳6 ر 2-برنمهکاربردی با
ats deine رتحت تقارت.
نامه ها دیق ple tg a عستند كه ه زا هابی اند پاسکال
ی شوند
نوشته مى شرئد. اما ريزيرنامه ها؛ برنامه هايى كوجك هسنند كه قابليت التقال از طريق شبکه و
وب را درند. یت ریزبرناه ها اعث شده است که محدودیت Wn alt
برعت التقال ا طريق شيكة و باوكذارى آنه
aye dy ate Spt Jans اللا
درصفحات وب بالا ياشد. #سحدوديت اتيتى. نا قدرت خرليكارى مرمبيستم هايى كه روى آن اجر
ماشين مجازى جارا sByteCode,
ats جا
Loves bytecode eis 0085 ذخبرهمی شون . به كاده
ین کدها به یی ال جرا یستندبرای جرا ین ده نز به یک نفسر تلم ماين
PIAS A A le ts SA
صفحه 40:
بزرهای لازمبری شروع برتمه نویسی با چا
ال 1995سرفی شد ها زر اج
Sun Microsystems <<,» (IDK)Java
Development Kit
‘Sun One Studio
‘Sun Soft Java WorkShop
Borland JBuilder
Microsoft Visual J++
‘Symantec Cafe
كيل tala a 4: 1061 فده می
BAA ip Slade ll Bi Be pe ISA تیه به ان تا IDK i
0 مره
۳
0
صفحه 41:
0۱۷۵/9, ۱/۵۶۵۲:
System.out.pr
2
1
ای مین بدین منت مردوه کی ال یرف
tbe Sal, به نام 06 لهنامه قوق به وسيله.
HelloWorla java’
ره كيد : كر از ميستم عامل ويننوز استفاه م 1089 د
»35-8 راب کی a-sCommand Prompt
\UDK\BIN> Javac HelioWorld java
توسط کلیایر جاا ید میشوه .این ال تال جرا میپاشنرا yet أن ب
با احرای دور فرق یی با نام "۵01/0044855 ستفاده ند
\DK\Bin> Java HelloWorld
Hello, World!
ممانطور که می ند جرای دستوررب ناه جرا می شود و بارت ۷/۵/۵1 ,1۷۵110
Say OLS Ye se ota Bly
class HelloWorid
3
Void main(int argc,char *argv{])
1
printf(*Hello, World!”
اه :+6 مشامده AS
صفحه 42:
رده نع ۵0 هت هد
-حردوبنامه مى توتند أرلي لى أررشته هارا أزخط فرمان ديلت كتد.
لسع ردوب رنامه كلاسى بدونا Sep he
++ تابع ارج لؤكلاس آمده است. اله تفاوتهاى ديكرى © زهاخل كلاس تعریف شده لما فو كد
اما تفارتها ننها تفلوت مهم هر دو كد در این است که 80 وجود درد ما درتعریف تلع
Sef ie
شده که علت ti! public, static در كد جار
ts 0
تیف نیع درداعل کلاس است,
انواع داده وعملكرهاى زيان جارا:
DA oll lis
يره اطلاعات درحافظله ونحوه تفسبراطلاعات توسط
ناه نویسی انا اه است.اقاع ددم مشخ ند كوك
ها دربن جاوای پردزيم
دادم دجاو می شوید
subline ite رای ایجادیک
‘Type Identifier | :نا
Integer floating-point Boolean character
تراس ین من و شا ی انون Re
صفحه 43:
آرابه هارکلاس ها ر 1806۲1366 ها هستند.
Anteger sls gis!
Integer وجوددارند که یرد
آنها مقند -++:0:) مقاديرصحيح نسبت دعيد.
Character si gs =
به صورت یک
ACastiong typereg Sony
رای ذخیره كاراتترهاى 11010008 استفاده مى شود. جر
على نرخ886 لان براى نمايش اعداةصحيح علامت داراستفاده مى شود
Gin
1
16
32
short
int
Tong
oat
Gouble
صفحه 44:
بعضی ازموافع شما مجبورمی شوید که یک نوع داده رابه نوع ديكرتبديل
كتيدبه فرأيند تغيريك نوع داده به نوع pe pee ped casing Se
يشريه مثال زيرتوجه
‘char = (char)System jn.reac)
Casting Joey li یک مقدارصحیح می خواندبا read gt 33 =
ie oa Weg یدیل می شودخیل یدیل har 6 ب
سمت ججب مقدارى كه مى خبواهيد تغيرنوع دهبدانجام مى كيرد هتكام تغي نوع تداز
انوع نتقصد بابدهميشه بزوكتريا مساو Bal
وه ناه سانظه نمی که می خواهد تفینوع دعیدخیلی مهم هست.
تب
So har Tn Tong. Hoi. double 3
shor ink tong Roa, double
cht ng. ot. double
int tos
Tong float, double
double 3
آرايه هه
غماتطورك اكتشما مى واي وليه ساختمان دده ل الست كهاي ما ان
فخيره يك ليست ازاشياء هم نوع رامى دغل نحوه اعلان أيه ها فرجارا رابا جل
int numbers
chat (eters
tong sri
Seals patella Saat ke شما اي سول
Sige ME AAT Sy cg سند el igh We
صفحه 45:
مشخص كنيد شما بابد هميشه به صورت صریح الداژه آرایه وا با عملگر 13600 با با
Lansing eg tf cand Se geass
ری که سکن است توجه
کروشه بل اواسمآراه بدا مان
رای نهیم مطالب فوق به مدال هاى ذه
char alphabet} = new charl26)
int primesf] = 7.11.13};
ساختمان pt nS Sis we se a سازة
Hash table, stack كه مرفصل sin she به بروسی آنها
دزیم
1 String) bcs,
a gp Set Sing ig ot مرجاوارشته هه وسیل یک کلاس
String message
String nam
(Class) کلاس
(Operators) Sie
هتگامی که یک متیر
يديه طورمعمول خولهان اجام اعما-
اي
لى برووى آنه حسنيد ضملكرها مقر رای نابات رو ایا
كتدهمه عملكرهلى زيان جاوارا مى توان درجدول زيرخلاصه كرد.
صفحه 46:
شما يه احتمال يد ا طرؤكازيشتراين حملكرها أشناهستيديه همين دليل دراينجا
el Sante ae
Negation (+
Bitwise Complement(-):
عسلكربرآق ا«
تقاوت عملكر << ب1<<<ين در
Spe PP Shar teal earls Shea
تن خلت پیت ها خی ین ات تک
ید6 وازنی و
صفحه 47:
ادامه دارد.
1 = Java
0000