Executing Commands within Java Successfully!

امیرحسین لطیفی - ۸ اردیبهشت ۱۳۸۷

To run a command within a Java Class you need to get runtime and call exec method like this:
Runtime.getRuntime().exec("Some command...");
You can add parameters in your command string, it is possible to do this work by some other similar ways.These were what you will find if search on net about running commands in Java but some parts are missed!
Maybe you just need to run command to do something, for example to pass a query to SQL Plus (in case of mine) and you need just result of command(in this case running query), but your command may have some output result, I mean what you see during direct executing in command line. You do not need it but the process will wait to print its out put and process will not exit never and it is a big problem especially when you want run more than one command.
What you need is just defining an Process, InputStream, InputStreamReader and BufferedReader to read output buffer like this:
Process process =Runtime.getRuntime().exec("Some Command whith/without parameters");
InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
// You can print it to see result.
System.out.println(line);
}

Also to be sure about exiting process you can print check exit value of process:
process.exitValue()Normal exit value is zero.


DWR: Easy Ajax for Java

امیرحسین لطیفی - ۱ اردیبهشت ۱۳۸۷

DWR Logoفکر کنید بتوانید مستقیما از توی کدهای جاوا اسکریپت متودهائی که توی کلاسهای جاوا نوشتید با پارامترهائی که از صفحه ی HTML گرفتید صدا بزنید و با مقدارهای برگشتی کار کنید، انگار که دارید از یک جاواسکریپت دیگر متودهائی را صدا میزنبد.
فکر کردن کافیه! چون این دقیقا کاری هست که DWR برای شما انجام میدهد. DWR مخفف Direct Web Remote است و در حقیقت Library ای است که میتوانید آن را کنار پروژهتان قرار بدید و با چند خط XML تنظیمات لازم را انجام داده و از آن استفاده کنید.
برای استفاده از متودهای هر کلاس با استفاده از JavaScript و به کمک DWR کافیه فقط آدرس کلاس مورد نظر و متودهای دلخواه از آن کلاس را در یک فایل XML مشخص کنید و برای کلاستان یک نام مشخص کنید. سپس در صفحه ی HTML کلاستان را با تگ Script آدرس دهید(مثل وقتی که یک فایل JavaScript) را آدرس میدهید و به متودهایش دسترسی داشته باشید

Getting Started with DWR
Download DWR

پی نوشت: یکی از دوستان خوبم خبر داد که DWR به بنیاد Dojo ملحق شده. Dojo بسته ای از نرم افزارهای Open Source (کد باز) است که با JavaScript نوشته شده و با استفاده از امکانات و Component هایش میتوان صفحات وب بهتری ساخت ، User Interface بهتری داشت،event ها را بهتر مدیریت و از مزایای JavaScript،CSS،DHTML وAjaxحرفه ای تر سود برد و…
به هر تقدیر هرگونه همکاری این دو گروه موفق میتواند جالب و نویدآور ارائه محصولات بهتر و کاراتر باشد.


How to add KeyListener to JDialog

امیرحسین لطیفی - ۱۲ دی ۱۳۸۶

You can add KeyListener to your JDialog component as you can add it to any other swing components but when you add other components to JDialog, they eat key events.
To solve this problem you should register KeyboardAction for JDialog. In below code snippet typically I want sense F1 key pressing to do something:

ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
};
KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
JRootPane rootPane = getRootPane();
rootPane.registerKeyboardAction(actionListener, keyStroke,JComponent.WHEN_IN_FOCUSED_WINDOW);


Force Swing componets to repaint

امیرحسین لطیفی - ۳ دی ۱۳۸۶

If n times repaint() method callings don’t refresh your your frame, use this one to force your Swing components to repaint!

Graphics g = getGraphics();
if (g != null) paintComponents(g);
else repaint();

Related thread on sun forum :
http://forum.java.sun.com/thread.jspa?threadID=497595


Java How to Program (6th Edition) (Deitel)

امیرحسین لطیفی - ۹ آذر ۱۳۸۶

اگر میخواهید جاوا یاد بگیرید یا جاوا کار هستید و احساس می کنید گاهی با شک کد می زنید یا اینکه نیاز دارید بعضی چیزها را مرور کنیداین کتاب را بهتون پیشنهاد می کنم.

 

Java How to Program (6th Edition) (How to Program (Deitel)) (Paperback)

مفاهیم و جزئیات به مقدار لازم , ساده و روان با مثال های قابل درک و هزاران خط کد بیان شده. بخش های اولیه که بیشتر شامل مفاهیم برنامه نویسی شی گرا (Object Oriented Programming) و پیاده سازی آن در Java می شود کاملا مفید و کاربردی نوشته شده. مطالب کتاب با J2SE 1.5 کاملا هاهنگ و به روز می باشد, اگر در گذشته جاوا یاد گرفتید و هنوز بروز نشدید این کتاب میتواند منبع خوب و کاربردی ای برای شما باشد. نکته ی جالب دیگه اینکه اول هر فصل جملات قصاری از بزرگان حوضه های مختلف نوشته شده که به زیبائی به محتویات هر بخش مربوط می شود, از کنارشان به سادگی نگذرید.

این کتاب را می توانید از آمازون بخرید اما اگر شما هم مثل من ساکن همین خاک هستید غصه نخورید , می توانید از لینک زیر این کتاب را دانلود کنید!
دانلود
صفحه مربوط به این کتاب در آمازون

ضمنا سایت زیر یکی از کاملترین سایت های دانلود e-book های کامپیوتری و برنامه نویسی می باشد, اگر امکان خرید از آمازون را ندارید, از دنیا نباید عقب بمانید! دانلود کنید:
Flazx.Com


Ordering in java.util.HashMap

امیرحسین لطیفی - ۳ شهریور ۱۳۸۶

If you need ordering in your HashMap you should use LinkedHashMap.
More info from J2SE documentation:
Hash table and linked list implementation of the Map interface, with predictable iteration order. This implementation differs from HashMap in that it maintains a doubly-linked list running through all of its entries. This linked list defines the iteration ordering, which is normally the order in which keys were inserted into the map (insertion-order).

LinkedHashMap class documentation