PDA

View Full Version : مشکل نمایش زبان فارسی



paullfonexx
شنبه 29 بهمن 1390, 05:37 صبح
سلام به دوستان عزیز
من تازه جاوا رو شروع کردم وقبلا php کار بودم و مباحث تئوریک جاوا رو یاد گرفتم و هدف من طراحی نرم افزار های مالی اداری با جاواست اما درعمل مشکلاتی پیش اومده که ان شاالله به کمک دوستان حل شه .
راسیتش اولین مشکل من اینه که در swing کامپوننتها زبان فارسی رو نشون نمی دن .
(من با Eclipse کار می کنم و پروجکت اینکودینگ هم روی utf-8 گذاشتم اما فرقی نداره )
بعد یه سوال هم از دوستان داشتم اینکه من با swing کارای کوچیک و شلخته زیاد انجام می دم(مثلا کار با دیتابیس و مولتی تردینگ و ...) اما فرض کنید هدف طراحی یک نرم افزار مالی است . چه الگویی منظمی لازم است ؟ مثلا mvc یا چیز دیگه ای ....
ممنون میشم راهنمایی کنید .
(یه رفیق جاواکار دارم همیشه می گه : جاوا به هیچی نه نمی گه)

buggen
شنبه 29 بهمن 1390, 16:08 عصر
سلام دوست عزیز
راجب فارسی نویسی من بهت پیشنهاد میکنم از ResourceBundle استفاده کنی که با اون میتونی یه اپلیکیشن multilingual درست کنی 100٪ تست شده هست
خودم باهاش تو swing کار کردم
ولی راجب mvc اینو بگم که خودم این کار رو نکردم تو swing ولی توی وب (J2EE) پیدا سازی کردم که و به خوبی جواب داده

فقط یه نکته برای فارسی نویسی توی property file یه پلاگین واسه eclipse هست که باید نصب کنی

موفق باشی

paullfonexx
شنبه 29 بهمن 1390, 17:28 عصر
خیلی ممنون دوست عزیز واقعا کمک بزرگی کردید .
فقط یه مشکل کوچولوی دیگه هست اونم اینه که باید فونت هر کامپوننت باید عوض شه تا فارسی نشون بده . حالا راهی نیست که کامپوننت ها با فونت پیش فرض ایجاد شن .
(تو گوگل خیلی گشتم و راه حل هایی هم بو اما هیچ کدوم کار نکرد )
در مورد mvc هم ممنون با تحقیق زیاد تونستم تقریبا mvc رو عملی کنم(با دیدن مثال های زیاد) .
میشه یه نرم افزار مالی نوشته شده با جاوا مثال بزنید می خوام ببینم چطوره ؟
(آخه همه با C# شارپ می نویسن می خواستم جاواش رو هم ببینم )

buggen
شنبه 29 بهمن 1390, 22:25 عصر
خواهش میکنم ، این سمپل رو ببینید نیازی به فونت نیست
بصورت کامل نیز ضمیمه کردم

package ir.test;

import java.awt.FlowLayout;
import java.util.ResourceBundle;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class FarsiSample extends JFrame {

private static final long serialVersionUID = 2646632906405894883L;

public FarsiSample() {

String farsiTitle = getFarsiString("title");
this.add(new JLabel(getFarsiString("username")));
this.add(new JTextField(20));
this.add(new JLabel(getFarsiString("password")));
this.add(new JTextField(20));

this.setLayout(new FlowLayout());
this.setTitle(farsiTitle);
this.setSize(300, 300);
this.setVisible(true);

}

public static void main(String[] args) {
new FarsiSample();
}

public String getFarsiString(String key){
ResourceBundle bundle = ResourceBundle.getBundle("Resources");
return bundle.getString(key);
}
}


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

poursina1389
شنبه 06 اسفند 1390, 16:38 عصر
من با eclips کار می کنم و برای فارسی نویس رو پروژه ام راست کلیک می کنم و بعدش properties رو انتخاب می کنم و تو پنجره باز شده روی resource کلیک می کنم و در سمت راست پنجره text file encoding رو utf8 می ذارم و راحت همه پروژم فارسی می شه...:لبخند:

ehsan446
شنبه 17 تیر 1391, 00:13 صبح
خواهش میکنم ، این سمپل رو ببینید نیازی به فونت نیست
بصورت کامل نیز ضمیمه کردم

package ir.test;

import java.awt.FlowLayout;
import java.util.ResourceBundle;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class FarsiSample extends JFrame {

private static final long serialVersionUID = 2646632906405894883L;

public FarsiSample() {

String farsiTitle = getFarsiString("title");
this.add(new JLabel(getFarsiString("username")));
this.add(new JTextField(20));
this.add(new JLabel(getFarsiString("password")));
this.add(new JTextField(20));

this.setLayout(new FlowLayout());
this.setTitle(farsiTitle);
this.setSize(300, 300);
this.setVisible(true);

}

public static void main(String[] args) {
new FarsiSample();
}

public String getFarsiString(String key){
ResourceBundle bundle = ResourceBundle.getBundle("Resources");
return bundle.getString(key);
}
}


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

سلام
دوست عزیز من اینکارو کردم اما این error رو داد :
Can't find bundle for base name Resources, local en_us
ممنون میشم راهنماییم کنی