فکر کنم در مورد سورس بالا یکم توضیح
بدم بهتر باشه تا اینکه همینجوری برویم سراغ متدهایه دیگه ای از برنامه
قسمت 1
کد PHP:
import java.io.EOFException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
خوب سورس بالا تعریف سرفایلهای برنامه می باشدک که
ما با این کار می توانیم از توابع وکلاسهای موردنظر
در برناممون استفاده کنیم.(در کامنتهای قبلی که دادم این قسمت رو بصورت کامل توضیح دادم)
قسمت 2
کد PHP:
public class Server1 extends JFrame{}
این قسمت شروع کلاس ما می باشد
اگر دقت کرده باشید کلاس ما توسعه یافته ای از کلاس JFrame هستش
در اصل ما با استفاده از extends این کار رو انجام میدهیم
در کل این کار باعث می شود که کلاس ما بصورت گرافیکی
پیاده سازی شود.
دستورات رو هم در میان {} قرار میدهیم.
قسمت 3
کد PHP:
private JTextField enterField;
private JTextArea displayArea;
private ObjectOutputStream output;
private ObjectInputStream input;
private ServerSocket server;
private Socket connection;
private int counter=1;
در این قسمت ما متغیرهایمان رو بصورت پیش فرض پابلیک و بصورت
نمونه تعرف کرده ایم. در اصل متغیرهایی که بعد از تعرف نام کلاس قرار میگیرند
بصورت ضمنی پابلیک تعریف می شوند.
این private هم که به متغیرمون اضافه کردم
دلیل بر این هستش که می خواهم بصورت نمونه باشند.
قسمت 4
کد PHP:
public Server1()
{
super("Server");
enterField=new JTextField();
enterField.setEditable(false);
enterField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
sendData(event.getActionCommand());
enterField.setText("");
}
});
add(enterField,BorderLayout.NORTH);
displayArea=new JTextArea();
add(new JScrollPane(displayArea));
setSize(300,150);
setVisible(true);
}
این قسمت هم سازند برنامه هستش. در اصل نام سازند
همیشه هم نام با نام کلاس و بصورت پابلیک می باشد.
در کل عملکرد سازند دقیقا شبیه تابع می باشد ولی با اندکی تفاوت .....
تفاوتش با متد اینه که هیچ مقدار برگشتی ندارد حتی Void
دیگه همه چیزش مثل متد هایه دیگه برنامه است(اینم همون اندک تفاوتی که گفتم )
خوب یه سری کد هم تو سازند استفاده کردم برا هوشمند کردن
تکست فیلدمون در اصل اومدم از واسط ActionListener برا فال گوش ماندن
تکست فیلد استفاده کردم این واسط دارای یک تابع به نام ActionEvent می باشد
که کارش از اسمش معلومه رویدادهای اتفاق افتاده رو که واسط ActionListener ضبط کرده
رو کامپایل می کند.
قسمت 5
کد PHP:
sendData(event.getActionCommand());
این قسمت موظفه که هرچی در تکست فیلد وارد کردیم رو به صورت
رشته به تابع sendData ارسال کند.
قسمتهایه دیگه هم کار تنظیمات کامپونتهایه روی فرم رو انجام میدهند.