PDA

View Full Version : سوال: سوالات من ( در طول انجام پروژه )



M0TR!X
جمعه 30 تیر 1391, 17:53 عصر
سلام.

یه پروژه کوچیک دیگه افتاده میخوام شروع کنم به نوشتن ! یه سری سوالات پیش میاد در طول پروژه بخاطر همین یه تاپیک زدم هر موقع سوالی پیش امد دیگه واسه هر سوال یه تاپیک باز نکنم !

اولین سوالی که پیش امده اینه :

1_چطوری میتونم روی JFrame یه عکس بزارم ؟ از هاردم ؟ میخوام یه بک گراند بزارم واسش؟

اگه بخوایم تو یه قسمت JFrame عکس بزاریم چی؟

yegane8
جمعه 30 تیر 1391, 23:49 عصر
سلام

اگه می‌خوای تو یه فرم عکس بذاری و با ابزار گرافیکی کار میکنی‌ یک JLabel درست کن و از properties اون JLabel گزینه icon رو بزن و عکس رو انتخاب کن

M0TR!X
دوشنبه 16 مرداد 1391, 01:02 صبح
سلام.

من میخوام وقتی روی یک رادیو باتن کلیک شد JFiled و JLable مخفی بشه ! از خاصییت setvisible هم استفاده کردم مخفی نمیشه ! مشکل چیه ؟


میشه چند تا جی فیلد و جی لیبل رو توی یه گروپ قرار داد و بعد به خاصیت گروپ رو عوض کرد ؟ مثلا setvisible گروپ رو ture کرد و همه جی فیلد ها hidden بشن ؟

yegane8
دوشنبه 16 مرداد 1391, 02:37 صبح
من یه جا همچین چیزی دیده بودم که یک کلاس پلی درست می کرد که از کلاس mouseAdapter به ارث می برد و تو اوون کلاس یه متدی که اسمش یادم نیست رو override می کرد و با متد getComponent کامپوننت مورد نطر رو می ریخت تو یه متغییر از نوع component و setVisible اوون کامپوننت رو false می کرد
بعد تو کلاسی که JLabel , ... رو داشت اون کلاس پلی رو new می کرد و اوون کامپوننتی رو که می خواست مخفی کنه بهش متد addMouseListenr رو اضافه می کرد اوون object رو هم به متد addMouseListenr پاس می داد اینطوری label.addMouseListener(pam);

M0TR!X
دوشنبه 16 مرداد 1391, 21:48 عصر
سلام.

بخدا اگه یه کلمه فهمیدم چی گفتی !!!!!!

من الان مشکلم اینه که چرا کدی که میزنم اجرا نمیشه ؟ یعنی jFiled الان باید visible بشه که نمیشه !!!!

yegane8
سه شنبه 17 مرداد 1391, 00:28 صبح
در این صورت همون خاصیت setVisible رو false کنی JLabel ,... مخفی میشن(در Action event رادیو باتن مورد نظر) من امتحان کردم شد

M0TR!X
پنج شنبه 19 مرداد 1391, 23:16 عصر
سلام.

یه روش خیلی خیلی ساده پیدا کردم ! گفتم شاید یه روز به درد شما هم بخوره ! اول یه JPanel میزارید رو فریمتون بعد هر چی که میخواین با هم visible بشن رو میزارید تو JPanel بعد خاصیت SetVisivle شو false یا ture کنید !!!!!! خیلی خوب جواب میده !

M0TR!X
پنج شنبه 19 مرداد 1391, 23:23 عصر
سلام.

من میخوام وقتی JFrame لود شد توی یکی از Textfiled ها تاریخ سیستم ثبت بشه ! چطوری میتونم این کارو بکنم ؟

yegane8
جمعه 20 مرداد 1391, 00:11 صبح
شاید این به دردت بخوره !
import java.applet.*;
import java.awt.*;
import java.util.*;

public class clock extends Applet implements Runnable{
Thread t,t1;
public void start(){
t = new Thread(this);
t.start();
}

public void run(){
t1 = Thread.currentThread();
while(t1 == t){
repaint();
try{
t1.sleep(1000);
}catch(InterruptedException e){}
}
}

public void paint(Graphics g){
Calendar cal = new GregorianCalendar();
String hour = String.valueOf(cal.get(Calendar.HOUR));
String minute = String.valueOf(cal.get(Calendar.MINUTE));
String second = String.valueOf(cal.get(Calendar.SECOND));
g.drawString(hour + ":" + minute + ":" + second, 20, 30);
}
}

M0TR!X
جمعه 20 مرداد 1391, 16:05 عصر
سلام.

ساعت و تاریخ گرافیکی نمیخوام !

من فقط میخوام تاریخ سیستم رو بخونم و بریزم توی یکی از JFiled هام !!!!

M0TR!X
جمعه 20 مرداد 1391, 16:31 عصر
سلام.

کدی که خودم استفاده میکنم اینه :



int Dt;
String date;
Date myDate =new Date();
Dt=myDate.getDate();
date=Integer.toString(Dt);
txtdate.setText(date);

اما خروجی فقط عدد 10 هست !!

yegane8
جمعه 20 مرداد 1391, 19:41 عصر
خروجی 10 چون امرود 10th و تو این برنامه فقط داری روز رو می گیری و ماه و سال رو نمی گیری
نمی دونم اگه کلاس Year , Month رو هم داشته باشیم می تونی با همین شیوه تازریخ رو چاپ کنی
اما به نظر من بهتره که از کلاس calendar استفاده کنی تا فقط یه بار از این کلاس object بگیری
من اینو نوشتم خودت اگه خواستی تو JLabel نمایش بده
public class tarikh {


public tarikh(){
setTarikh();
}

private void setTarikh() {
Calendar cal = new GregorianCalendar();
String year = String.valueOf(cal.get(Calendar.YEAR));
String month = String.valueOf(cal.get(Calendar.MONTH));
String date = String.valueOf(cal.get(Calendar.DATE));
System.out.printf("\n %s / %s / %s ",year,month,date);


}
public static void main(String args[]){
tarikh t = new tarikh();
}
}

M0TR!X
شنبه 21 مرداد 1391, 00:31 صبح
سلام.

خب date میشه تاریخ دیگه من getdate زدم باید تاریخ امروز رو خروجی بده نه فقط روز رو ! getday روز رو نشون میده.؟ اشتباه میکنم ؟

yegane8
شنبه 21 مرداد 1391, 00:41 صبح
اگه با netbeans می نویسی خودش برای هر field یه توضیح داره منظور از date روز اوون ماه هست
تو خود ide هم نوشته که فیلد date با همون فیلد date_of_month فرقی نداره
احتمالا این توضیحی که در مورد این فیلد دادم رو میشه تعمیم داد به متد ها مثل همون getdate

M0TR!X
یک شنبه 05 شهریور 1391, 21:23 عصر
سلام.

من دو تا buuton دارم یکیش برای برای دخیره فایل(انتخاب مسیر برای ذخیره) و یکیش هم واسه انتخاب فایل.

حالا چطوری میتونم اینکارو بکنم ؟ یکی از دکمه ها باید مسیر رو خروجی بده اون یکی هم باید فایل رو انتخاب کنه (open)

yegane8
دوشنبه 06 شهریور 1391, 10:45 صبح
سلام
چه برای انتخاب مسیر فایل برای ذخیره چه برای انتخاب یه مسیر برای باز کردن یک فایل می تونی از JfileChooser استفاده کنی
http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html

M0TR!X
شنبه 11 شهریور 1391, 15:17 عصر
سلام.

من توی برنامم یه بخش به عنوام بک اپ گیری و و بازگرداندن بک اپ دارم !(import و export) .

دستوری که باید استفاده کنم چیه ؟ mysqldump ؟؟

من این دستور رو میزنم جواب نمیده :


String sql="mysql -u root -p root business <backup.sql";

M0TR!X
یک شنبه 12 شهریور 1391, 14:58 عصر
سلام.

یعنی هیچ کس برنامه ای ننوشته که قابلیت بک اپ داشته باشه ؟

spiderman200700
دوشنبه 13 شهریور 1391, 01:55 صبح
سلام
اولا برای اینکه داخل فایل یریزس باید دستور رو اینجوری بنویسی:
mysqldump -u root -p root business > backup.sql
دوما باید این دستور در خط فرمان ویندوز یا shell لینوکس اجرا بشه.
سوما باید خط فرمان رو به پوشه ی mysql/bin منتقل کنی، بعدش کد رو اجرا کنی.

حالا اگه بازم مشکلی هست بگو. امیدوارم بتونیم کمکت کنیم.

M0TR!X
دوشنبه 13 شهریور 1391, 15:26 عصر
سلام.

1ـچطوری میتونم به cmd ویندوز دسترسی داشته باشم ؟تا از انجا دستور رو اجرا کنم ؟

2ـتوی فولدر mysql فولدر به نام bin وجود نداره.

3ـمن تو خود خط فرمان mysql این دستور رو زدم خروجی نداشت.دستور درسته ؟

amin1softco
دوشنبه 13 شهریور 1391, 17:00 عصر
ببین این به کارت میاد :

public boolean backupDB(String dbName, String dbUserName, String dbPassword, String path) {

String executeCmd = "mysqldump -u " + dbUserName + " -p" + dbPassword + " --add-drop-database -B " + dbName + " -r " + path;
Process runtimeProcess;
try {

runtimeProcess = Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();

if (processComplete == 0) {
System.out.println("Backup created successfully");
return true;
} else {
System.out.println("Could not create the backup");
}
} catch (Exception ex) {
ex.printStackTrace();
}

return false;
}


+ (http://omindu.wordpress.com/2011/06/27/mysql-database-backup-restore-using-java/)

M0TR!X
سه شنبه 14 شهریور 1391, 16:14 عصر
سلام.

1ـچطوری میتونم مسیری که کاربر انتخاب میکنه رو بریزم تو متغیر path ؟ خروجی Jfilechooser فقط عدد‌! نه مسیر.


2ـخط 7 و 8 رو یه توضیح میدین ؟

3ـاز این متد استفاده میکنم ولی ارور میده :


java.io.IOException: Cannot run program "mysqldump": CreateProcess error=2, The system cannot find the file specified

M0TR!X
یک شنبه 19 شهریور 1391, 17:49 عصر
سلام.

من یه Frame دارم که کار سرچ رو انجام میده ! وصل میشه به دیتابیس و چند مورد رو باید مقایسه کنه بعد خروجی بده !

مثلا نام.نام خانوادگی.تاریخ و ..... ورودی رو با مقادیر ثبت شده در دیتابیس مقایسه میکنه و خروجی میده.

SELECT * FROM TABLE WHERE name like input_name

تو این دستور من فقط یه مورد رو مقایسه میکنم حالا اگه بخوایم چند مورد رو با هم مقایسه کنیم دستور به چه شکلی تغییر میکنه ؟

spiderman200700
یک شنبه 19 شهریور 1391, 19:51 عصر
SELECT * FROM TABLE WHERE name like input_name and family like input_family and date like input_date and ....

maktoom
یک شنبه 26 شهریور 1391, 10:06 صبح
سلام
فیلم آموزشی جاوای آقای مهرداد کیانیان فیلم جالبیه. پروژه ا رو شروع و انجام میده.
در قسمتی که مربوط به پایگاه داده میشه کار با Jframe و Jtable رو هم توضیح داده.
کلا یه بار دیدنش توصیه میشه.

M0TR!X
پنج شنبه 30 شهریور 1391, 16:37 عصر
سلام.

من یه کلاس دارم یه متغییر از نوع رشته میگیره (query) بعد وصل میشه به دیتابیس و query رو که گرفته رو اجرا میکنه ! حالا من از سازنده یه JFrame ای که میخوام نتیجه query توی اون نشون داده بشه از کلاس ابجکت سازی کردم و query رو دادم بهش ولی وقتی کلاس نتیجه نهایی رو return میکنه استثنای nullpointer میده !

مشکل چیه ؟

maktoom
جمعه 31 شهریور 1391, 10:22 صبح
اگه امکان داره کد رو یا شبه کد رو بذارید. آخه این دو خط که نوشتید در همه جا همینه.

M0TR!X
جمعه 31 شهریور 1391, 14:43 عصر
سلام.

این کد button سرچ :

public static String query = null;

if (ch_forosh.isSelected()) {
query = "select * from foroshe_melk where lastname_malek like '%s' or tarikh_sabt like '%s' or address like '%s' or ghimat like '%s' or type like '%s' ";
query = String.format(query, txtlastname.getText(), txtdate1.getText(), txtaddress.getText(), txtprise.getText(), type);
frm_result fr_result = new frm_result();
fr_result.setVisible(rootPaneCheckingEnabled);
}

وقتی از frm_result نمونه سازی میشه :


public frm_result() {
try {
ResultSet Rs=DB_Model.Exequte_Query(frm_serach.query);
Rs.last();
int row = Rs.getRow();
if (row > 0) {
String[][] data = new String[row][9];
data[0][0] = Rs.getString("name_malek");
data[0][1] = Rs.getString("lastname_malek");
data[0][2] = Rs.getString("tarikh_forosh");
data[0][3] = Rs.getString("ghimat");
data[0][4] = Rs.getString("address");
data[0][5] = Rs.getString("type");
data[0][6] = Rs.getString("moshakhasat");
data[0][7] = Rs.getString("kharidar");
data[0][8] = Rs.getString("tozihat");
String[] columns = {"توضیحات", "خریدار", "مشخصات", "نوع ملک", "آدرس", "قیمت", "تاریخ فروش", "نام خانوادگی", "نام"};
JTable tbl_data = new JTable(data, columns);
jScrollPane1.setViewportView(tbl_data);
}
} catch (SQLException ex) {
Logger.getLogger(frm_result.class.getName()).log(L evel.SEVERE, null, ex);
}
initComponents();
}

اینم کلاس DB_Model البته این کلاس دو تا متد داره که من فقط یکیش رو اینجا میزارم :


public static ResultSet Exequte_Query(String query) {
try {
ResultSet Rs = null;
Connection cnn = null;
cnn = DriverManager.getConnection(url, "root", "root");
Statement St = cnn.createStatement();
Rs = St.executeQuery(query);
return Rs;
} catch (SQLException ex) {
Logger.getLogger(DB_Model.class.getName()).log(Lev el.SEVERE, null, ex);
return null;
}

}}

spiderman200700
شنبه 01 مهر 1391, 10:23 صبح
فکر میکنم باید این قسمتو اینجو بنویسی. امتحان کن ببین جواب میده یا نه.

public frm_result() {
try {
ResultSet Rs=DB_Model.Exequte_Query(frm_serach.query);
if (Rs.next()) {
String[][] data = new String[1][9];
data[0][0] = Rs.getString("name_malek");
data[0][1] = Rs.getString("lastname_malek");
data[0][2] = Rs.getString("tarikh_forosh");
data[0][3] = Rs.getString("ghimat");
data[0][4] = Rs.getString("address");
data[0][5] = Rs.getString("type");
data[0][6] = Rs.getString("moshakhasat");
data[0][7] = Rs.getString("kharidar");
data[0][8] = Rs.getString("tozihat");
String[] columns = {"توضیحات", "خریدار", "مشخصات", "نوع ملک", "آدرس", "قیمت", "تاریخ فروش", "نام خانوادگی", "نام"};
JTable tbl_data = new JTable(data, columns);
jScrollPane1.setViewportView(tbl_data);
}
} catch (SQLException ex) {
Logger.getLogger(frm_result.class.getName()).log(L evel.SEVERE, null, ex);
}
initComponents();
}

M0TR!X
شنبه 01 مهر 1391, 11:04 صبح
سلام.

حل نشد.


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at frm_result.<init>(frm_result.java:38)
at frm_serach.jButton1ActionPerformed(frm_serach.java :252)

وقتی رو frm_result.java:38 کلیک میکنم میره تو سورس و این کد رو نشون میده :


jScrollPane1.setViewportView(tbl_data);


وقتی هم رو frm_serach.java:252 کلیک میکنم :


frm_result fr_result = new frm_result();

maktoom
شنبه 01 مهر 1391, 12:28 عصر
پیشنهاد می کنم برنامتون رو در ساده ترین حالت(یک سطر) امتحان کنید برای فیلدی که از نوعش اطمینان دارید. همینطور برنامتون رو سبک و سبکتر کنید تا متوجه بشید اشکال دقیقا کجا بوجود میاد.

M0TR!X
دوشنبه 03 مهر 1391, 09:02 صبح
سلام.

یه فروم انگلیسی معرفی کنید شاید انجا نتیجه بگیریبم.


الان دو سه روزه سایت واسه من باز نمیشه سرور مشکل داشته ؟

spiderman200700
سه شنبه 04 مهر 1391, 00:55 صبح
منم همین مشکل رو داشتم. یعنی سایت باز نمیشد. البته لازم به ذکر هست که این مشکل یکی دو ماهی هست که هر چند وقت یه بار اتفاق میفته.

M0TR!X
سه شنبه 04 مهر 1391, 14:02 عصر
سلام.

با یک فیلد هم امتحان میکنم نتیجه همونه !

فقط وقتی میخوام نتیجه رو نشون بدم (چه با تیبل چه با JTextfiled) ارور میده ! یعنی اگه خطی که داده رو میده به تیبل تا نتیجه رو نشون بده رو حذف کنم برنامه بدون مشکل اجرا میشه فقط خروجی نداره

این خط رو حذف میکنم برنامه بدون مشکل اجرا میشه :


jScrollPane1.setViewportView(tbl_data);

spiderman200700
چهارشنبه 05 مهر 1391, 16:03 عصر
این شکلی بنویسش درست میشه احتمالا:
jScrollPane1.add(tbl_data);

M0TR!X
چهارشنبه 05 مهر 1391, 21:20 عصر
سلام.
من پروژه رو میزارم دوستان یه نگا بندازن ممنون میشم !

پسورد در پیغام خصوصی

spiderman200700
پنج شنبه 06 مهر 1391, 23:58 عصر
دوست عزیز یه توضیحم بده که مشکلت دقیقا توی چه کلاسی و کدوم قسمته.

M0TR!X
جمعه 07 مهر 1391, 12:03 عصر
سلام.

شما JFrame سرچ رو اول ران کن بعد از خودت یه اطلاعاتی بده به JFrame بعد دکمه سرچ رو بزن بعد از JFrame Result نمونه سازی میشه و کدهای سازنده اش اجرا میشه که ارور هم همینجاست !

البته داخل JFrame Result هم از کلاس DB_Model استفاده شده.

خواستی بگو فیلم بگیرم.دیتابیس هم خودت بساز تیبل درست کن زیاد مهم نیست

M0TR!X
سه شنبه 25 مهر 1391, 15:32 عصر
سلام.

دوستان مشکل حل شد !

الان مشکل اینه که وقتی خروجی رو میخوام توی JTable نشون بدم فقط یه سطر نشون میده ! یعنی اگه خروجی چند سطر باشه فقط یه سطر نشون میده ! بقیه سطر ها رو سفید رنگ میکنه و چیزی نشون نمیده !

fbcomputer
دوشنبه 28 مرداد 1392, 16:31 عصر
سلام.

1ـچطوری میتونم مسیری که کاربر انتخاب میکنه رو بریزم تو متغیر path ؟ خروجی Jfilechooser فقط عدد‌! نه مسیر.


2ـخط 7 و 8 رو یه توضیح میدین ؟

3ـاز این متد استفاده میکنم ولی ارور میده :


java.io.IOException: Cannot run program "mysqldump": CreateProcess error=2, The system cannot find the file specified

سلام ،شما مشکلتون حل شد؟؟ منم از همین جا این دستوراتو استفاده کردم و دقیقا همین جوابو گرفتم، اگه جواب گرفتین میشه منو راهنمایی کنید؟؟

M0TR!X
چهارشنبه 30 مرداد 1392, 01:37 صبح
ارور میگه mysqldump اجرا نشد. بخاطر اینکه وقتی در حالت عادی هم تویcmd دستور mysqldump رو تایپ کنی اجرا نمیشه.

راه حل:اول باید بری تو مسیر نصب دیتابیس و داخل فولدر mysqldump بعد بقیه ماجرا ...