PDA

View Full Version : سوال از اساتید و پیشکسوتان جاوا



salamsaman
جمعه 22 تیر 1386, 13:54 عصر
به نام خدا
1. من دانشجو کادانی نرم افزارم و فقط برنامه نویسی c pascal بلد هستم می خواستم بدونم می توان شروع به یاد گیری جاوا کنم یا باید سواد برنامه نویسی بیشتری داشته باشم و بعد وارد این عرصه بشم

2. اصولا زمینه کاری برنامه نویسان جاوا در ایران و دنیا چیه؟ چه برنامه هایی می نویسند تا اونجا که من می دانم کسی با جاوا مثلا برنامه حساب داری نمی نویسه می خواستم بدونم فیلد کاری اش کجاست؟و در کل جدا از مفاهیم بنیادی با .net چه فرقی داره(از نظر فیلد کاری)


:چشمک::چشمک::چشمک:
مرسی

saeed_Z_F
دوشنبه 25 تیر 1386, 14:32 عصر
سلام
فیلد کاری زبان جاوا خیلی زیاده و کاربرد های فراوان در زمینه های مختلف مثل صفحات وب و موبایل و برنامه های دسکتاپ و کارت های هوشمند و برنامه های تجاری و سازمانی است
البته امروزه بیشتر در زمینه برنامه های موبایل و تجاری و سازمانی مورد استفاده قرار می گیره .
برعکس تصور شما در مورد کاربرد جاوا .

mosha_7000
سه شنبه 26 تیر 1386, 17:10 عصر
سلام
یک اپلت چگونه می تواند به یک فایل متنی دسترسی داشته باشد
برای دسترسی به یک فایل متنی باید از استثنای
IOEXCEPTION
استفاده کرد. اما وقتی از این استثنا استفاده می کنم خروجی کارم در مرورگر اینترنتی نمایش داده نمی شود هر چند
در یک
applet viewr
خروجی نمایش داده می شود.
لطفا سریع به من پاسخ دهید.
ممنون

GeniusNapster
پنج شنبه 04 مرداد 1386, 17:42 عصر
دوست عزیز زمینه کاربرد جاوا همون ضرب المثل معروف از شیر مرغ تا جون آدمیزاد هست اما بدلیل قابلیتهای استثنایی که در برنامه های تحت شبکه (wan , lan ,internet ethernet ,wireless) داره ازون بیشتر در این زمینه ها استفاده میشه البته برای نوشتن برنامه های موبایل و بازی هم استفاده می شه مثلا بازی fifa2005 & 2006 با جاوا و vc نوشته شده که قسمت اعظمش با جاوا بوده (معمولا نقایس سخت افزاری جاوا با یکی از زبانهای خانواده c هندل می شه) غیر از موارد فوق از جاوا برای کار با پایگاه داده هایoracle که قویترین پایگاه داده هاست به طور عمده استفاده می شه

hercules_3d
سه شنبه 30 مرداد 1386, 22:43 عصر
با جاوا میشه برنامه های حسابداری؛ بر نامه برای کتاب فروشی ها و یا ... برنماه هایی که قسمتی از اونا مربوط به دیتا بیس میشه نوشت؟

rasool_63
چهارشنبه 31 مرداد 1386, 07:15 صبح
با جاوا میشه برنامه های حسابداری؛ بر نامه برای کتاب فروشی ها و یا ... برنماه هایی که قسمتی از اونا مربوط به دیتا بیس میشه نوشت؟


هیچ برنامه ای وجود نداره که نشه با جاوا بنویسی اما جاوا برای نوشتن برنامه های سازمانی و بزرگه
کسی نمیاد با جاوا برنامه حسابداری بنویسه چون نسبت به زبانهای دیگه باید بیشتر وقت صرفش کنه. برای نوشتن برنامه حسابداری بهترین گزینه دلفی هست چون برای اینکار بوجود اومده
بالاخره هر زبانی برای نوشتن سطح خاصی از برنامه ها بوجود اومده جاوا برای برنامه های بزرگ و سازمانی دلفی برای برنامه های حسابداری و انبارداری و ..

چون جاوا برای نوشتن برنامه های سطح بالاست پس میشه برنامه سطح پایین هم با جاوا بنویسی اما دلفی برای نوشت برنامه های سطح پایینه پس نمیشه برنامه های سطح بالا باش بنویسی

hercules_3d
چهارشنبه 31 مرداد 1386, 14:00 عصر
میشه یه چند تا نمونه از برنامه های سازمانی و تجاری نام ببرین؟

rasool_63
چهارشنبه 31 مرداد 1386, 18:56 عصر
میشه یه چند تا نمونه از برنامه های سازمانی و تجاری نام ببرین؟

مثلا برنامه ERP برای ذوب آهن یا مخابرات و ..

raintrill
چهارشنبه 31 مرداد 1386, 23:22 عصر
سلام،
من قصد داشتم که در محیط شبکه یک سوکت client در جاوا و یک سوکت server در محیط لینوکس بنویسم و بین این دو ماشین که یکی ویندوز با برنامه ی جاواست و دیگری لینوکس با یک برنامه c است ارتباط بر قرار کنم و بین این دو برنامه در شبکه data رد و بدل کنم ... متاسفانه از هر برنامه سوکتی که نوشتم و استفاده کردم موفق نشدم این ارتباط را بر قرار کنم
لطفا من را راهنمایی کنید که چگونه می توانم بین یک برنامه جاوا و یک محیط لینوکس به صورت client/server ارتباط بر قرار کنم که یکی نقش server و یکی نقش client را داشته باشد
مرسی

saeedIRHA
پنج شنبه 01 شهریور 1386, 00:10 صبح
سلام،
من قصد داشتم که در محیط شبکه یک سوکت client در جاوا و یک سوکت server در محیط لینوکس بنویسم و بین این دو ماشین که یکی ویندوز با برنامه ی جاواست و دیگری لینوکس با یک برنامه c است ارتباط بر قرار کنم و بین این دو برنامه در شبکه data رد و بدل کنم ... متاسفانه از هر برنامه سوکتی که نوشتم و استفاده کردم موفق نشدم این ارتباط را بر قرار کنم
لطفا من را راهنمایی کنید که چگونه می توانم بین یک برنامه جاوا و یک محیط لینوکس به صورت client/server ارتباط بر قرار کنم که یکی نقش server و یکی نقش client را داشته باشد
مرسی
این یک Chat program ساده server/client هست که من نوشتم
با سورس کد میزارم اینجا شاید بدردت خورد؛


/*
* frmMain.java
*
* Created on April 5, 2007, 11:22 PM
*/

/**
*
* @author SaEeD
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class frmMain extends javax.swing.JFrame implements ActionListener,Runnable{

/** Creates new form frmMain */
Socket mySocket = null;
ServerSocket myServer=null;
BufferedReader in;
PrintWriter out;
static Thread th;
public frmMain() {
initComponents();
btnSend.addActionListener(this);
btnClear.addActionListener(this);
btnListen.addActionListener(this);
btnConnect.addActionListener(this);
RadioButtonClient.addActionListener(this);
RadioButtonServer.addActionListener(this);
txtInput.addActionListener(this);

}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
btnConnect = new javax.swing.JButton();
txtIp = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
txtPort = new javax.swing.JTextField();
RadioButtonServer = new javax.swing.JRadioButton();
RadioButtonClient = new javax.swing.JRadioButton();
btnListen = new javax.swing.JButton();
lblStatus = new javax.swing.JLabel();
btnSend = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
txtChatArea = new javax.swing.JTextArea();
jLabel3 = new javax.swing.JLabel();
btnClear = new javax.swing.JButton();
btnDisconnect = new javax.swing.JButton();
txtInput = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);
setTitle("Chat Program Written by Omega7 v0.1");
setResizable(false);
btnConnect.setText("Connect");
btnConnect.setEnabled(false);
btnConnect.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnConnectActionPerformed(evt);
}
});

txtIp.setText("localhost");

jLabel1.setFont(new java.awt.Font("Arial", 1, 11));
jLabel1.setText("IP Address:");

jLabel2.setFont(new java.awt.Font("Arial", 1, 11));
jLabel2.setText("Port:");

txtPort.setText("6666");

RadioButtonServer.setText("Server");
RadioButtonServer.setBorder(javax.swing.BorderFact ory.createEmptyBorder(0, 0, 0, 0));
RadioButtonServer.setMargin(new java.awt.Insets(0, 0, 0, 0));

RadioButtonClient.setText("Client");
RadioButtonClient.setBorder(javax.swing.BorderFact ory.createEmptyBorder(0, 0, 0, 0));
RadioButtonClient.setMargin(new java.awt.Insets(0, 0, 0, 0));

btnListen.setText("Listen");
btnListen.setEnabled(false);
btnListen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnListenActionPerformed(evt);
}
});

lblStatus.setFont(new java.awt.Font("Arial", 0, 10));
lblStatus.setText("Offline");
lblStatus.setVerticalAlignment(javax.swing.SwingCo nstants.BOTTOM);
lblStatus.setBorder(javax.swing.BorderFactory.crea teTitledBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true), "Status"));

btnSend.setText("Send");
btnSend.setEnabled(false);
btnSend.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSendActionPerformed(evt);
}
});

txtChatArea.setColumns(20);
txtChatArea.setLineWrap(true);
txtChatArea.setRows(5);
jScrollPane1.setViewportView(txtChatArea);

jLabel3.setFont(new java.awt.Font("Arial", 1, 11));
jLabel3.setText("Output:");

btnClear.setText("Clear");
btnClear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnClearActionPerformed(evt);
}
});

btnDisconnect.setText("Disconnect");
btnDisconnect.setEnabled(false);
btnDisconnect.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDisconnectActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADIN G, layout.createSequentialGroup()
.addComponent(txtIp, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(RadioButtonServer)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(RadioButtonClient))
.addComponent(txtPort, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADIN G, layout.createParallelGroup(javax.swing.GroupLayout .Alignment.TRAILING, false)
.addComponent(btnDisconnect, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADIN G, layout.createSequentialGroup()
.addComponent(btnListen, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(btnConnect))))
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addContainerGap(388, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addComponent(txtInput, javax.swing.GroupLayout.DEFAULT_SIZE, 298, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 298, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING, false)
.addComponent(btnClear, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnSend, javax.swing.GroupLayout.DEFAULT_SIZE, 74, Short.MAX_VALUE))
.addGap(36, 36, 36))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap()))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(txtIp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(RadioButtonServer)
.addComponent(RadioButtonClient))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(txtPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED, 8, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(btnListen)
.addComponent(btnConnect))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(btnDisconnect)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(btnClear))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(txtInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnSend))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents

private void btnListenActionPerformed(java.awt.event.ActionEven t evt) {//GEN-FIRST:event_btnListenActionPerformed
// TODO add your handling code here:
btnConnect.setEnabled(false);
btnSend.setEnabled(true);
btnDisconnect.setEnabled(true);
try{

myServer = new ServerSocket(Integer.parseInt(txtPort.getText()));

}catch (IOException e)
{
lblStatus.setText("Port number is Already being used.");
}
try{
mySocket = myServer.accept();
if(mySocket.isConnected())
{
lblStatus.setText("Connection Established to port: " + txtPort.getText());
th = new Thread(this);
th.start();
}
}catch (IOException e) {
lblStatus.setText("Accept failed.");
System.exit(-1);
}
}//GEN-LAST:event_btnListenActionPerformed

private void btnSendActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSendActionPerformed
// TODO add your handling code here:
try{
out = new PrintWriter(mySocket.getOutputStream(),true);
out.println(txtInput.getText());
out.flush();

txtChatArea.setSelectedTextColor(Color.blue);
txtChatArea.append("Sent: " + txtInput.getText() + "\n");
txtInput.setText("");
btnSend.setSelected(false);

}catch(IOException ioe){};
}//GEN-LAST:event_btnSendActionPerformed

private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnClearActionPerformed
// TODO add your handling code here:
txtChatArea.setText("");

}//GEN-LAST:event_btnClearActionPerformed

private void btnDisconnectActionPerformed(java.awt.event.Action Event evt) {//GEN-FIRST:event_btnDisconnectActionPerformed
// TODO add your handling code here:
try{

//out.close();---->Null pointer Exception if not used in program progress!
//in.close();
if(myServer.isBound())
{
myServer.close();
}

mySocket.close();
if(mySocket.isClosed())
{
lblStatus.setText("Disconnected...");
btnConnect.setEnabled(true);
}
}catch(IOException ioe){};
}//GEN-LAST:event_btnDisconnectActionPerformed

private void btnConnectActionPerformed(java.awt.event.ActionEve nt evt) {//GEN-FIRST:event_btnConnectActionPerformed
// TODO add your handling code here:
btnListen.setEnabled(false);

try{
mySocket = new Socket(txtIp.getText(),Integer.parseInt(txtPort.ge tText()));
if(mySocket.isConnected())
{
btnDisconnect.setEnabled(true);
btnSend.setEnabled(true);
lblStatus.setText("Successfully Connected.");

th = new Thread(this);
th.start();

}else{
mySocket.close();
}

}catch(UnknownHostException uhe){
System.out.println("[Exception]: " + uhe.getMessage());
}catch(IOException ioe){};


}//GEN-LAST:event_btnConnectActionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt){

if(evt.getSource() == RadioButtonServer)
{
btnListen.setEnabled(true);
btnConnect.setEnabled(false);
RadioButtonClient.setSelected(false);
}
else if(evt.getSource() == RadioButtonClient)
{
RadioButtonServer.setSelected(false);
btnConnect.setEnabled(true);
btnListen.setEnabled(false);
}

if(evt.getSource() == txtInput){
btnSendActionPerformed(evt);
}


}
public void run(){
if(Thread.currentThread() == th){
Recv();
}

}
public void Recv()
{
while(true){
try{
in = new BufferedReader(new InputStreamReader(mySocket.getInputStream()));
String myString;
myString = in.readLine();
txtChatArea.setSelectedTextColor(Color.red);
txtChatArea.append("Recv: " + myString + "\n");

}catch(UnknownHostException uhe){
System.out.println("[Exception]: " + uhe.getMessage());
}catch(IOException ioe){};
}
}
/**
* @param args the command line arguments
*/

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frmMain().setVisible(true);
}
});
}

// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JRadioButton RadioButtonClient;
private javax.swing.JRadioButton RadioButtonServer;
private javax.swing.JButton btnClear;
private javax.swing.JButton btnConnect;
private javax.swing.JButton btnDisconnect;
private javax.swing.JButton btnListen;
private javax.swing.JButton btnSend;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblStatus;
private javax.swing.JTextArea txtChatArea;
private javax.swing.JTextField txtInput;
private javax.swing.JTextField txtIp;
private javax.swing.JTextField txtPort;
// End of variables declaration//GEN-END:variables

}


برایه اجرا کردن فایل Jar احتیاج به JRE 1.6 داری
اما سورس هم هست در NetBeans 5.5 نوشتمش.