PDA

View Full Version : آموزش جاوا قسمت دوم



hotice
شنبه 10 بهمن 1383, 00:41 صبح
باسلام:
"تشکر ازپست هایی که داشتید.راجه به PDF کردن دروس، فکر جالب است ولی من برای تایپ کردن این بخش هاهم وقت کافی ندارم(شاید در این پست ها اشکال نوشتاری ببینید از بیسوادی بنده نیست. من فقط شاید یک بار فرصت بازبینی داشته باشم).الان چندین بخش آینده را روی کاغذ آورده ام اما فرصتی برای تایپ ندارم.اگر دوستان برای PDF کردن زحمت بکشند من هم از انان پیشاپیش تشکر میکنم"

درفصل گذشته مقدمه ای بر زبان جاوا داشتیم. گفتیم که مایکروسافت هم ابزار برنامه نویسی بانام J++ داشت که برای مدت طولانی آن را پشتیبانی نکرد وهمچنین تفاوت های آنرا با جاوا گفتیم. درآخرهم برتری ها ومزیای آن(جاوا) را بیان کردیم.
سعی می کنم دراین بخش مباحث زیر را توضیح دهیم.
- نصب کیت توسعه نرم افزاریا Java SDK (JDK)
- محیط های توسعه
- استفاده ا ز خط فرمان
- استفاده ا ز یک I DE
- کمپایل واجرا کردن یک برنامه با استفاده ا زیک ویرا یشگر متنی
- برنامه های گرافیکی
- اپلیت ها
دراین بخش یاد می گیریم که چگونه کیت توسعه نرم افزارجاوا((Java SDK را نصب کنیم.وهمچنین چگونه انواع مختلفی از برنامه ها را مثل: کنسول،گرافیکی و اپلیت هارا کمپایل واجرا کنیم.شما می توانید ابزار های SDK را با تایپ کرده درخط فرمان اجرا کنید.هرچند خیلی از برنامه نویسان ترجیح می دهند که برای راحتی از یکIDE استفاده کنند.
محیط های زیادی برای توسعه برنامه جاوا وجود دارند با رابط های مشابه که به آسانی می توانیدآنها را یادبگیرید.
بعضی ازIDE ها زمان زیادی را برای بار کردن ریسورسها و فایل های کتابخانه ای نیاز دارند وهمین امر برای بعضی ها نا خوشایند است. برای این دسته از افراد و کسانی که میخواهند برنامه های کوچک بنویسند ونیازی به امکانات IDEهای سنگین ندارند میتوانند مثل برنامه نویسان قدیمی از ویرایشگرمتنی استفاده کنید(البته نه به آن زمختی).
نصب کیت توسعه جاوا:
نگارشهای متعددی از(Java SDK) وجود دارد که برای پلت فرم های مختلف تدارک دیده شده اند. ما فقط در مورد نصب SDK در ویندوزولینوکس خواهیم گفت. برای نصب در پلت فرم های دیگر می توانید به دستور العمل نصب مخصوص خود آن پلت فرم مراجعه کنید.
نکته : فقط دستورالعمل نصب جاوا برای سیستم عامل های مختلف باهم فرق می کند. وقتی که شماجاوا رانصب واجرا کردید تمام چیزهایی که دراین درس ها خواهیم گفت می توانید اجرا کنید.مستقل از سیستم بودن جاوا بزرگترین مزیت آن است.

روند نصب در ویندوز بسیار ساده است برای نصب در ویندوز فایل اجرایی نصب را اجرا کنید. بقیه کارها مثل نصب یک برنامه ساده می باشد وبرای نصب درلینوکس می توانیید فایلReadMe درفایل فشردهtar . رامطالعه کنید.
تنظیم مسیر اجرایی:
بعد ازاینکه JDK را نصب کردید احتیاج به انجام مرحله اضافی دیگری دارید. اضافه کردن پوشهjdk/ bin به
مسیر اجرایی.
درویندوز(NT,2000,XP) درکنترل پنل روی System کلیک میکنیم وسپس پنل Advanced را انتخاب و سپسEnvironment Variables را کلیک میکنیم ودربین متغیرهای کاربر(User variables) متغیر با نام PATH را خواهید دید دایرکتوری jdk/bin رابه آن اضافه کنید.اگرjdk5 استفاده می کنید احتمالا پوشه<Drive>:\Program Files\Java\jdk1.5.0\bin را درویندوز پیدا خواهید کرد. این همان مسیری هست که باید اضافه کرد.

درلینوکس بستگی بهshellی که استفاده می کنید مرحله اضافه کردن مسیر فرق می کند.که اگرازC Shell استفاده می کنید .خط زیر را به آخرفایلcshrc./~ اضافه کنید.
set path=(/usr/local/jdk/bin $path)
واگرازBourn Again shell استفاده میکنید خط زیر را به آخرفایلbashr./~ یاbash- profile./~ اضافه کنید
export PATH=/usr/local/jdk/bin:$PATH
وسپس برای مطمئن شدن مراحل قبل دستورjava-version رادر خط فرمان تایپ کنید.اگر پیغام خطا دید. باید مراحل قبل را دوباره چک کنید.در غیر این صورت باید پیغامی شبیه زیرببینید.

Java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition
Java HotSpot(TM) Client VM

نصب سورس کتابخانه های جاوا ومستندات آن
سورس کتابخانه های جاوا بصورت یک فایل فشرده است و شما باید آنرا از حالت فشرده بیرون بیاورید.( شدیداً توصیه می کنم که این کار ساده را انجام دهید.) نام فایل فشرده src.zip هست که درپوشه JDK قرار دارد.
1. مطمئن شوید که jdk به صورتی که قبلاً ذکر شد صحیح نصب شده است .
2. وراد خط فرمان شوید (shell در لینوکس . Ms Dos mode در ویندوز )
3. دایرکتوری جاری را به دایرکتوری jdk تغییر دهید ( usr/local/jdk / یا\program file \java\jdk \ )
4. دستور زیر را کنید . jar xvf scr.zip

نکته : فایل src.zip شامل سورس که تمامی کتابخانه های عمومی جاوا است . برای اینکه به منابع بیشتری دسترسی داشته باشید در مورد کامپایلر ، ماشین مجازی ، متدهای بومی(native) و راهنمای اختصاصی کلاسها به آدرس زیر بروید :
http:// www.sun.com/software/communitysource/

و حالا نوبت مستندات(Documentation) جاوا رسید. مستندات جاوا یک فایل فشرده است که ازjava sdk جداست . فایل مستندات(Documentation) معمولاً به صورت زیر نامگذاری شده است . jdk version-doc.zip که منظور از version نگارش فایل مستتند می باشد . مثلاً برای jdk5 به صورت زیر است java -1-5-0-doc.zip این فایل را هم می توانید به همان صورتی که فایل سورس کتابخانه را باز کردید از حالت فشرده بیرون بیاورید .
1. مطمئن باشید jdk را صحیح نصب کرده اید .
2. وارد خط فرمان شوید (shell در لینوکس و ms-dos mode در ویندوز )
3. دایرکتوری جاری را به دایرکتوری jdk تغییر دهید ( jdk / local / user یا\program file \java \jdk )
4. فایل مستندات را درون پوشه jdk کپی کنید .
5. دستور زیر را اجرا کنید

Jar xvf jdk version-doc.zip
خوب حالا این مستندات و سورس فایلهای کتابخانه ای جاوا به چه درد می خورد که نصب کردیم .
با مرور سورس فایلهای جاوا شما می توانید به سورس کد کلاسهای عمومی جاوا دسترسی داشته باشید. مثلا برای پکیج
java.lang.system باید به پوشهjava/long/system مراجعه کنید.
مستندات کتابخانه جاوا هم بصورت فایلهای HTML می باشد.که می توانید نحوه عملکرد متدوکلاس های جاوا رادر آن پیدا کنید.
محیط های توسعه
اگر شما تجربه برنامه نویسی در VBیاVC ویاDelphi را داشته باشید. به IDEهایی که خود بعضی از کدهای اصل را می نویسد ،کمپایل توسط منو انجام می گیرد، دیباگر درونی دارد که به محض اشتباه کردن آن را به شما نشان
می دهد عادت کرده اید. خود JDK بطور ذاتی شامل هیچ یک از چیزهای بالا نمی شود تمام چیزها با تایپ در خط فرمان انجام می گیرد.
نترسید چون ما فقط در حد یادگیری از خط فرمان استفاده می کنیم. و بقیه کارها را با IDE انجام می دهیم.IDEها برای برنامه نویسان مبتدی سخت هستند. برای اینکه آهسته بوده و نیازمند کامپیوترهای قدرتمندی هستند ومعمولا نیاز به کمی تنظیمات برای هر پروه ای که می خواهید بنویسید دارد.
یکی از مزایای(بعضی از) IDEها سورس فایلها ی همراه انهاست که برنامه نویسان می توانند از آنها استفاده کنند.همچنین در این محیط ها دیباگرهای قدرتمندی وجود دارد که شما را در نوشتن برنامه بسیار کمک می کنند.
سطح میانی بین ابزارهای خط فرمان وIDE ها ادیتورهایی هستند که دارای همخوانی و تلفیق با جاوا هستند.استفاده ازاین ادیتورها باعث می شود که نوشتن برنامه ها ساده و سریع شوند. در لینوکس شما می توانید ازemacs استفاده کنید در ویندوز هم می توانید از TEXTPAD استفاده کنید.(البته TEXTPAD یک برنامه نیمه رایگان است) در مجموع شما سه گزینه برای انتخاب محیط های توسعه دارید.
1- استفاده از ویرایشگرمتنی که مورد علاقه شماست و کمپایل و اجرای آن از طریق خط فرمان
2- استفاده از ادیتورهایی که قابلیت همخوانی با جاوا را دارند که می توانند برای کمپایل و اجرا از خود این برنامه ها استفاده کنید.
3- استفاده از یک IDE مانند eclipse یا بقیه IDEها که مجانی و یا پولی هستند.


استفاده از ابزارهای خط فرمان
شما دو راه برای کمپایل و اجرای برنامه دارید استفاده از خط فرمان یا استفاده (ازIDE یا ادیتورهمخوان با جاوا) که ابتدا از راه سخت استفاده می کنیم:از خط فرمان.
برنامه زیر را درون یک ادیتور مثلNotepad یا هر برنامه دیگر وارد کنید و سپس آن را بانام welcome. java ذخیره کنید. توجه کنید که بزرگی و کوچکی حروف برنامه رعایت شود و همچنین بزرگی و کوچکی نام فایل , سپس وارد خط فرمان شود(shell لینوکس یا MS-DOS mod ویندوز) وارد پوشه ای که فایل وجود دارد شوید. سپس دستورات زیر یکی یکی اجرا کنید:

Javac welcome.java
Java welcome
به شما تبریک می گویم اولین برنامه خود را نوشتیم و اجرا کردیم.
چه اتفاقی افتاد؟ با استفاده از دستور Javac فایل welcome.java را کمپایل کرده و یک فایل welcome.class ساخته شد و دستور java بایت کدها ی فایل class را اجرا کرد.
برنامه welcome بسیارساده بود در بخشهای بعدی خواهیم گفت که این برنامه چگونه کار می کند.

public class Welcome
{
public static void main(String[] args)
{
String[] greeting = new String[3];
greeting[0] = "Welcome to First Java Application";
greeting[1] = "by Hotice";
greeting[2] = "Publish by www.barnamenevis.org";

System.out.println(greeting[i]);
}
}

اشاره به خطاهای احتمالی:
در عصر محیط های توسعه ویژال خیلی از برنامه نویسان با اجرای برنامه ها در خط فرمان نا آشنا هستند.
توجه به نکات زیر ضروری است:
0اگر برنامه را دستی می نویسید توجه به حرف بزرگ و کوچک ضروری است. اسم کلاس welcome است نه Welcome یا WELCOME
0کمپایلر نام فایل همنام با کلاس را می شناسد با پسوند java(welcome.java) و نام کلاس بدون پسوند java یا class می باشد
0اگر شما با پیغام"Bad command or file name" یا "Javac:command Not found" باید دوباره نصب JDK و تنظیمات پوشه اجرایی را چک کنید.
0اگر با پیغام"cann't read:welcome.java"مواجه شدید. مطمئن شوید که فایل در همین دایرکتوری قرار دارد.
توجه:در ویندوز بعضی از ویرایشگرهای متنی مثل notpade بعد از ذخیره فایل پسوندی مثل txt را به فایل اضافه می کنند(welcome.java.txt) می توانید از دستور Dir برای چک کردن داخل دایرکتوری استفاده کنید. از explorer ویندوز استفاده نکنید به علت این که در تنظیمات پیش فرض ویندوز پسوند را مخفی می کند. برای تغییر نام می توانید از دستور ren استفاده کنید.
•اگرjava اشکال با عنوان lang.NoClassDefFoundErrorرا گزارش داد.دوباره نام کلاس را چک کنید.
•جاوا به حروف بزرگ وکوچک حساس است.
•اگر در موقع اجراکردن باپیغامی مثل welcome/javaروبروشدید باید پسوند java.را بردارید.
•اگر برنامه شما اشکالات زیادی داشت.وبه سرعت درصفحه بالا رفت وشما نتوانستید ببینیدjava این امکان را به شما می دهد که اشکالات رادرون یک فایل متنی ذخیره کنید.با استفاده از2> می توانید اشکالات رااز صفحه نمایش تغییر مسیر دهید به یک فایل. مثال : زیر توجه کنیدjava myprog 2> errors.TXT

استفاده از یک IDE
تصاویری از eclipse IDE
http://www.klomp.org/mark/classpath/eclipse-gnome-gij.png

و این هم تصویر دیگر

http://bitarts.jp/tech/etc/images/eclipse.png
در این قسمت به شما می گویم که چگونه یک برنامه رابا یک IDE مجانی بنویسید و کمپایل واجرا کنید.وآن edipse است می توانید با مراجعه به این سایت آن رادانلود کنید. www.eccipse.org
یک فایل فشرده است که می توانید با برنامه winzip یاwin rar آن را باز کنید.
در هر کجا دوستدارید می توانید آن را کپی کنید.
با اجرای eclipse.exe صفحه splash screen ظاهرمی شود وبعد ازآن صفحه workspace launcher می آید
این صفحه به شما می گوید پوشه که می خواهید پروژها در آن ذخیره شود انتخاب کنید . با تیک زدن چک باکس پائین از آمدن دوباره این پنجره جلوگیری کنید.
در اولین اجرا صفحه welcome را می بینید.از آموزشهایی که دراین صفحه است استفاده کنید.
با کلید روی علامت فلش بالا سمت راست دکمهworkbench به صحفه اصل می روید. برای اینکه صفحه را برای توسعه برنامه جاوا آماده کنید از منوی windows > open perspective > java را انتخاب کنید.
درسمت چپ package explorer می بینید .پروژهpackage فایل ها ،کلاس ها،متد ها و000 را ببینید.
با استفاده از فایل File ->New پروژه جدیدی ایجاد کنید. ابتدا نام پروژه را welcome بگذارید وسپس Finish
را کلیک کنید.
درPackage Explorer روی welcome کلیک راست کنید.از منوی new -> class را برگزینید.نام کلاس را همان welcome بگذارید و مطمئن شوید که public static void main، public علامت دار باشد.بقیه گزینه ها همانطور که هست باقی بگذارید و دکمه finish راکلیک کنید.کلاس و متد را IDE برای شما آماده میکند. سورس بالا را جای سورس موجود در IDE وارد کنید.
برای اجرای برنامه فلش سبز رنگ موجود درنوار ابزار را کلیک کنید و یا از منوی Run->Run as->Java Application را انتخاب کنید.صفحه ای با عنوان Save Source بمنظور ذخیره سازی فایل هایی که شما تغیرشان دادید نمایان میشود.OK را کلیک کنید.(اگر پنجره ای با عنوان Run آمد new و سپس Run را کلیک کنید.)

این مقدمه ای بود بر IDE بسیار قدرت مند eclipse .در اینده راجع آن بیشتر خواهم گفت.

کمپایل و جرای برنامه از یک ویرایش گرمتنی مثل Emacs
http://free.tnc.edu.tw/picts/em2.png
در این بخش میخواستم دو ادیتور را معرفی کنم(Textpad و emacs) اما بعلت پولی بودن اولی وقوی تر بودن دومی و طولانی شدن این تاپیک فقط یکی را Emacs را معرفی می کنم.
یک IDE علاوه بر انکه دارای مزایای زیادی است معایبی هم دارد. بخصوص برای برنامه های ساده که روی چندین فایل توزیع نشده است.
Emacs را میتوانید از اینجا بگیرید www.gnu.org/software/emacs/ .
Emacs ادیتور را به دو قسمت تقسیم میکند.فسمت بالا قسمت تایپ برنامه است و پائین دیدن اشکالات .
وقتی در قسمت پائین روی Error کلید Enter را میزنید کرسربه محل اشکال در قسمت بالا پرش می کند.
برای اجرا از منوی JDK->Run استفاده کنید.

برنامه های گرافیکی
برنامه welcome فقط یک مثال ساده بود.اجازه دهید برنامه جالب تری اجرا کنیم.
برنامه زیر را درون فایل ImageViewer.java ذخیره کنید و مثل مثال بالا کمپایل و اجرا کنید.


javac ImageViewer.java
java ImageViewer

یک برنامه ساده برای نمایش فایل .Gif


import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.swing.*;

public class ImageViewer
{
public static void main(String[] args)
{
JFrame frame = new ImageViewerFrame();
frame.setTitle("ImageViewer");
frame.setSize(300, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.show();
}
}

class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
// set up menu bar
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
JMenuItem openItem = new JMenuItem("Open");
menu.add(openItem);
openItem.addActionListener(new FileOpenListener());
JMenuItem exitItem = new JMenuItem("Exit");
menu.add(exitItem);
exitItem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
// use a label to display the images
label = new JLabel();
Container contentPane = getContentPane();
contentPane.add(label, "Center");
}

private class FileOpenListener implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
// set up file chooser
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));

// accept all files ending with .gif
chooser.setFileFilter(new
javax.swing.filechooser.FileFilter()
{
public boolean accept(File f)
{
return f.getName().toLowerCase()
.endsWith(".gif")
|| f.isDirectory();
}
public String getDescription()
{
return "GIF Images";
}
});

// show file chooser dialog
int r = chooser.showOpenDialog(ImageViewerFrame.this);

// if image file accepted, set it as icon of the label
if(r == JFileChooser.APPROVE_OPTION)
{
String name
= chooser.getSelectedFile().getPath();
label.setIcon(new ImageIcon(name));
}
}
}

private JLabel label;
}
اپلت ها
دوبرنامه بالا برنامه به اصطلاح ایستا بود مثل بقیه برنامه های native compile .دسته دیگر از برنامه ها که در اینده بیشتر به آن خواهیم پرداخت اپلت ها هستند که درون مرور گرهای وب اجرا میشوند.
سورس کد زیر را درون فایلی با نام WelcomeApplet.java ذخیره کنید.

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

public class WelcomeApplet extends JApplet
{
public void init()
{
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());

JLabel label = new JLabel(getParameter("greeting"),
SwingConstants.CENTER);
label.setFont(new Font("TimesRoman", Font.BOLD, 18));
contentPane.add(label, "Center");

JPanel panel = new JPanel();

JButton cayButton = new JButton("Barname Nevis");
cayButton.addActionListener(getURLActionListener
("http://www.barnamenevis.org"));
panel.add(cayButton);

JButton garyButton = new JButton("Hotice ");
garyButton.addActionListener(getURLActionListener
("mailto:creativeperson_ir@yahoo.com"));
panel.add(garyButton);

contentPane.add(panel, "South");
}

public ActionListener getURLActionListener(final String
urlString)
{
return new
ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
try
{
URL u = new URL(urlString);
getAppletContext().showDocument(u);
}
catch(Exception e) { e.printStackTrace(); }
}
};
}
}
فایل Html دیگری(هرچند نام آن فرق نمی کند ولی ما نام آنرا WelcomeApplet.html) در همان مسیربسازید و تگ زیر را به آن اضافه کنید:


<applet code="WelcomeApplet.class" width=401 height=200>
</applet>
برای کمپایل بصورت زیر عمل کنید :

javac WelcomeApplet.java
appletviewer WelcomeApplet.html

خوب این هم از این بخش . تا آینده ای نزدیک موفق باشید.
:)

vcldeveloper
شنبه 10 بهمن 1383, 02:25 صبح
ُThat's very nice of you
:flower: :تشویق:

phantasm
شنبه 10 بهمن 1383, 09:55 صبح
مرسی :تشویق: :flower:

jirjirakk
یک شنبه 11 بهمن 1383, 16:07 عصر
:) :flower:

hbm_7052
چهارشنبه 09 شهریور 1384, 14:21 عصر
من فایل مستندات جاوا رو وری سیستم چیدا نکردم چکار کنم؟

zehs_sha
چهارشنبه 16 شهریور 1384, 01:45 صبح
بسیار عالی بود

Nimi_hop
جمعه 17 فروردین 1386, 13:56 عصر
کم نظیر مرسی

somayekh
پنج شنبه 23 فروردین 1386, 17:33 عصر
نمی شه از ایجا یه لینک به قسمت اول بذارین که مجبور نشیم 6 ساعت دنبالش بگردیم؟!

mohsen.piko
یک شنبه 28 بهمن 1386, 15:56 عصر
برای تنظیم TMبرای750iچه کارباید بکنم چون بعد از نصب برنامه های تحت جاوا رو گوشیم اینو از من میخواد

alixocracy
یک شنبه 05 اسفند 1386, 16:02 عصر
لینک قسمت اول:
http://barnamenevis.org/forum/showthread.php?t=15609

mani_khalili
جمعه 08 دی 1391, 22:22 عصر
خیلی ساده و مختصر خدمت شما عرض کنم

در حال حاضر بهترین IDEهای جاوا Eclipse، Intellij Idea و NetBeans هستند که توی ایران بیشتر Intellij و Eclipse استفاده می شه
اگه برنامه نویس تازه کار هستید از Intellij Idea استفاده کنید که یک نسخة مجانی و منبع باز روی سایت JetBrains (شرکتی که تولیدکنندة Intellij هست) وجود داره که می تونید دانلود کنید و شروع به برنامه نویسی کنید.
اگه خواندن انگلیسی برای شما راحته می تونید با راهنمای آموزش جاوا اوراکل شروع کنید و اگه نمی تونید انگلیسی بخونید از کتابهای برنامه نویسی به زبان جاوا (http://www.atlassoft.ir/books.html)مهندس صدیقی (http://www.atlassoft.ir)را خریداری کنید و شروع به خوندن کنید این کتابها متن خیلی روانی دارند و بسیار خوب نوشته شده اند لینک PDF فارسی کتاب جاوا را براتون می ذارم
http://www.filefactory.com/file/33jdyicnipd/n/Java_Web_Programming_Demo.pdf
http://www.filefactory.com/file/brnztxrobdn/n/Core_Java_Programming_Demo.pdf
http://www.filefactory.com/file/7b5ak10k5vul/n/J2EE_Open_Source_Programming_Demo.pdf

البته از سایت زیر نیز می تونید دانلود کنید
http://www.atlassoft.ir/books.html