Layout manager

 

গূঈ(GUI) প্রোগ্রাম ডিজাইনের জন্য একটি অন্যতম বিষয় হল এর কম্পনেন্ট গুলোকে নির্দিষ্ট আকার বা বিভিন্ন আকার ও গঠন বলে দেওয়া । তবে অনেক সময় অনেকগুলো কম্পনেন্টের জন্য একই সাইজ দরকার হয় আর এ কারনে লেয়াউট ম্যানেজারের মাধ্যমে তা একই সাথে করা হয় – জাভাতে মুলত ৬ ধরনের লেয়াঊট রয়েছে যার প্রত্যকটি আলাদা আলাদা কাজা / লেয়াঊট দিয়ে থাকে –
1.Flow Layout Manager
2. Border Layout Manager
3. Grid Layout Manager
4. Grid Bag Layout Manager
5.Card Layout Manager
6.Box Layout Manager

এগুলোর মধ্যে Flow Layout manager ডিফল্ট ম্যানেজার হিসেবে কাজ করে থাকে।

Layout manager Description
FlowLayout Default for javax.swing.JPanel. Places components sequentially (left
to right) in the order they were added. It’s also possible to specify the
order of the components by using the Container method add,which
takes a Component and an integer index position as arguments.
BorderLayout Default for JFrames (and other windows). Arranges the components
into five areas: NORTH, SOUTH, EAST , WEST and CENTER.
GridLayout Arranges the components into rows and columns.

BoxLayout A layout manager that allows GUI components to be arranged left-to-
right or top-to-bottom in a container. Class Box declares a container
with BoxLayout as its default layout manager and provides static
methods to create a Box with a horizontal or vertical BoxLayout.
GridBagLayout A layout manager similar to GridLayout, but the components can
vary in size and can be added in any order.
Card layout support all the manager to use in same Layout.

 

Advertisements

First Program – How to Run

মনে করি আমরা one নামে project  name দিয়ে একটি জাভা প্রোজেক্ট তৈরি করলাম এবং  first_program    নামে একটি ক্লাস তৈরি করলাম।

তাহলে আমরা  public class first_program {
}

প্রতিটি প্রোগ্রামে একটি মেন মেথড (main method) থাকে , উল্লেখ্য জাভা ভাষায় ফাংশানকে মেথড বলা হয়। c/c++  এ ফাংশন সম্পর্কে আমরা জেনেছি।
উপড়ে আমরা যে ক্লাস তৈরি করলাম তাতে কোন Main method নেই। তাই তাতে মেন মেথড যুক্ত করতে হবে ।জাভা ল্যাংগুয়েজে  public static void main(String arg[]){    }
হল ডিফল্ট মেন মেথড ।

There is only one form of the main method in Java, shown as follows:
public static void main(String[] args) {
// Body of method
}
The following table shows elements of the main method:
Elements Meaning
Public—— The method is visible outside the class.
Static———— The method can be invoked without creating an object of the class type.
void ———–The method does not return anything.
Arg[]——————— An array of strings representing the arguments passed.

টিঊটোরিয়াল-৩
এখন  আমরা জানব জাভা প্রোগ্রামে কিভাবে কোন কিছু প্রিন্ট/print করা যায়।
সাধারনত c  তে প্রিন্ট করার জন্য printf() এবং c++এ cout<< ব্যাবহার করা হয় ।
জাভা প্রোগ্রামিং এ কোন কিছু print  করার জন্য
System.out.print(); ব্যাবহার করা হয়। তবে জাভা ভাষায় একটি সুবিধা হল System.out.println(); ব্যাবহার করে লাইন ব্রেক  করা যায় ,অর্থাৎ নিঊ লাইন তৈরি হয় । এখন আমরা একটি প্রোগ্রাম দেখব যার মাধ্যমে বিষয়টা ভালোভাবে বোঝা যাবে

public class first_program {

public static void main(String arg[]){

System.out.print(“This is my first java program! “);
System.out.print(“This is my first java program! “);

}

}
এখন উক্ত প্রোগ্রাম রান করলে আমরা
This is my first java program! This is my first java program!

আউটপুট পাব ।দেখতে পেলামএকটি আউটপুটের পরেই আরেকটি আউটপুট প্রিন্ট করেছে তাই একটি লাইনে দুটি আউটপুট দেখাচ্ছে । এখন যদি আমরা চাই একটির পরে আরেকটি অর্থাৎ দ্বিতীয়টি পরের লাইনে দেখা যাবে তাহলে আমরা কি করতে পারি । কিছু না , শুধু System.out.println()   ;   ব্যাবহার করলেই উক্ত ফলাফল পাব।

public class first_program {

public static void main(String arg[]){

System.out.println(“This is my first java program! “);
System.out.println(“This is my first java program! “);

}

}

তাহলে আমরা আউটপুট পাব

This is my first java program!
This is my first java program!

তবে আউটপুটের জন্য নিম্ন লিখিত বিষয় গুলো জানা দরকার
Escape sequence Description
\n Newline. Position the screen cursor at the beginning of the next line.
\t Horizontal tab. Move the screen cursor to the next tab stop.
\r Carriage return. Position the screen cursor at the beginning of the current
line—do not advance to the next line. Any characters output after the car-
riage return overwrite the characters previously output on that line.
\\ Backslash. Used to print a backslash character.
\” Double quote. Used to print a double-quote character. For example,
System.out.println( “\”in quotes\”” );
displays “in quotes”.

টিঊটোরিয়াল-৪ঃ
এ পর্বে আমরা জানব কিভাবে জাভা প্রোগ্রামে  কোন কিছু ইনপুট নিতে হয় ।

ইউজার হতে কোন কিছু ইনপুট নেওয়ার জন্য সচারাচর বর্তমানে Scanner  use করা হয়ে থাকে ।

Scanner   input =new Scanner(System.in);
এখানে input একটি ভেরিয়েবল , input না লিখে আমরা যে কোন কিছু দিতে পারি।
এখন আমরা এ বিষয়ক একটি প্রোগ্রাম দেখব যার মাধ্যমে কোন কিছু  ইউজার হতে ইনপুট দিতে বলা হবে এবং তা প্রিন্ট করবে

import java.util.Scanner;

public class first_program {

public static void main(String arg[]){

Scanner input =new Scanner(System.in);
System.out.println(“Please write something “);
String line;

line=input.nextLine();

System.out.print(“Your write this —>”+line);

}

}

প্রোগ্রামটি রান কর Please write something

arif hasnat nstu
Your write this —>arif hasnat nstu
লেখা আসবে ,অর্থাৎ আমরা যে ইনপুট দেব তা প্রিন্ট করবে।
প্রোগ্রামটির ব্যাক্ষাঃ

আমরা জাভা প্রোগামে হেডার ফাইল ইম্পোর্ট করে থাকি ।  c/c++  এ include <Stdio.h>
করে থাকি কিন্তু জাভা ভাষায় হেডার ফাইল গুলো নির্দিষ্ট প্যাকেজের অন্তর্ভুক্ত থাকে যেগুলো আমরা ইমপোর্ট করে থাকি ।প্যাকেজ সম্পর্কে পরে আলোচনা করা হবে।
এখানে Scanner  জাভা util package এর অন্তর্গত।
import java.util.Scanner;

first_program নামে ক্লাস
public class first_program {

মেন মেথড

public static void main(String arg[]){

input  নামে একটি অব্জেক্ট তৈরি করলাম । যা পরে ব্যাবহার হবে।
Scanner input =new Scanner(System.in);
System.out.println(“Please write something “);
String type এর ভেরিয়েবল  line  create করলাম ।

String line;
এখনে line=input.nextLine(); তে বলা হল যে একটি স্ট্রিং টাইপের ইনপুট নেওয়ার জন্য ।

কয়েকপ্রকার ইনপুট নেওয়া যায় –যেমন
Input.nextInt();  নিলে  ইন্টিজার টাইপের ইনপুট নিবে।
Input.nextFloat();নিলে  Float  টাইপের ইনপুট নিবে।
Input.nextDouble();নিলে  Double টাইপের ইনপুট নিবে।
Input.nextChar();নিলে  Char  টাইপের ইনপুট নিবে।

line=input.nextLine();

line কে প্রিন্ট করে দিলাম ।
System.out.print(“Your write this —>”+line);

}

আশা করি বুঝতে পেরেছেন । কোন সমস্যা থাকলে অবশ্যি জানাবেন এই কামনা করি।

কন্ট্রোল-স্টেটমেন্ট

কন্টোল স্টেটমেন্টঃজাভা প্রোগ্রাম কতগুলো এক্সপ্রেশনের নিয়ে গঠিত । স্টেটমেন্ট হল এক্সপ্রেশানের সমন্বয়। এখানে বলে রাখা দরকার স্টেটমেন্ট আবার গঠিত হয় টোকেন, কি-ওয়ার্ড এসব নিয়ে । অর্থাৎ টোকেন, কি-ওয়ার্ড—এক্সপ্রেশনস্টেটমেন্ট।
জাভা language এ স্টেটমেন্ট দুই প্রকার -১।  simple statement 2.  Compound  statement .
সাধারনত  এক-লাইন বিশিষ্ট স্টেটমেন্ট গুলোকে  simple statement   বলা হয় যেগুলোতে {} এর প্রোয়জন হয় না ।
স্টেটমেন্ট গুলোর শেষে   সেমিকোলন(;) থাকে।
যেমনঃ
System.out.println(“CSTE”);
A=b+c;

আর কম্পাউন্ড স্টেটমেন্ট হল সেই গুলো যেগুলো {}দরকার হয়। স্টেটমেন্ট গুলো {} মধ্যে থাকে ।মুলত কম্পাউন্ড স্টেটমেন্ট হল কত গুলো সিম্পল স্টেটপমেন্টের সমস্টি যেগুলো {} এর মাঝে থাকে । যেমনঃ

{
System.out.println(“Error!!”);
System.out.println(“success !”)
}

এখন প্রশ্ন হল কন্টোল স্টেটমেন্ট কি? সাধারনত জাভা ভাষায় স্টেটমেন্ট গুলো একবার করে ও পর্যায়করমে সম্পাদিত হয়। কিন্তু যদি আমরা চাই কোন স্টেটমেন্ট এর চেয়ে বেশি যতবার আমারা চাই সম্পাদিত হবে , এ ধরনের ক্ষেত্রে কোন্টোল স্টেটমেন্ট ব্যাবহার করা হয়। জাভাতে control statement গুলোকে দুই ভাগে ভাগ করা হয়।
১। Conditional Statement                  2.  Loop Control Statement

Conditional statement এর মধ্যে রয়েছে-
If  statement
If….else statement
Else statement
Switch statement
এবং loop statement এর মাধ্যে রয়েছে-
For statement
While statement
Do…..while statement
Continue statement

পর্যায়ক্রমে এদের সম্পর্কে আলোচনা করা হবে।

টিউটোরিয়াল-২

কন্ডিশানাল স্টেটমেন্টঃ
প্রোগ্রামে শর্ত চেক (condition check) করার জন্য এধরনের স্টেটমেন্ট ব্যাবহার করা হয় ।  Conditional statemer এর মধ্যে উল্লেখযোগ্য কিছু control statement হল-
If statement
If ……else statement
Switch statement

If Statement :
If statement  এর ব্যাবহার ফরমেট হল;
If(condition){
Block1;
}

block2;

If শব্দের অর্থ হল যদি , অর্থাত যদি বিষয়টা সঠিক হয় তবে কাজ কর । যেমন কেঊ বাজারে গেল কুরবানির গরু কিনতে , তো তার ইয়ে মানে বউ বলে দিল যে ৫০ হাজারের মাঝে হলে কিনবে ।
এধরনের ক্ষেত্রে if statement ব্যাবহার করা হয় ।
এখন আমরা এই গরু কিনার বিষটা প্রোগ্রামিং এর মাধ্যেমে দেখি—
এখানে বলা ৫০ হাজারের মাঝে অর্থাৎ ৫০ হাজার বা তার কম হলে কিনবে তাহলে প্রোগ্রামটি হবে ঃ
If(গরুর দাম<=৫০০০){
System.out.println(“গরু কিনবে”);

}

দরলাম  লোকটি ৪০০০ হাজারের মাঝে একটি গরু পেল তাহলে কি হবে —
public class if_ {

public static void main(String arg[]){

int cost=40000;

if(cost<=50000){

System.out.println(“goru paici re !”);

}

}
}
অর্থাৎ লোকটি গরু কিনতে পারবে।

Tutorila-3

If………else statement:

If ………….else এর ব্যাবহার ফরমেট হল –
If(condition)
{
Block 1;
}else {
Block 2
}
Block 3

এখন লোকটি  বাজারে গেল কিন্তু  গরুর দাম ৫০০০০ এর মাঝে হল না , সবচেয়ে কম দামের গরুটি হল ৬০ হাজার টাকা , এই বার তাহলে লোক্টি কি বলবে

public class if_ {

public static void main(String arg[]){

int cost=60000;

if(cost<=50000){

System.out.println(“goru paici re !”);

}else System.out.println(” goru pai lam na re  !!!!!”);

}
}
এইবার লোকটি বলবে goru pai lam na re  !!!!!

Else….if Statement:
General Format:
If(condition1){

Block1;
}else if(condition2){

Block2;
}else if(condition3){

Block3
}
…….else{

Default block;
}
এখন ধরুন যে লোকটি গরু কিনতে পারে নাই  ,বৌ-পাগল লোকটি বাসায় চলে এল , এবং যা  হবার তাই হল ,আবার বাজারে গেল  এবার বলে দিল যদি ৮০ হাজার টাকার মাঝে একটি বড় গরু কিনবা , না হলে ৬০ হাজারের মাঝে একটি মাঝারি গরু কিনবা না হলে ২ টা খাসি কিনবা ৪০ হাজারের মাঝে আর তাতেও না হলে বাড়ি চলে আসবা । চনুন প্রোগ্রামিং এর মাধ্যমে দেখি লোকটা কি পাই

public class if_ {

public static void main(String arg[]){

int cost=60000;

if(cost>60000 && cost<=80000){

System.out.println(” bor goru paici re !”);

}else if(cost>40000&&cost<=60000){

System.out.println(” goru ekta pailam re   !!!!!”);
}

else if(cost<40000){

System.out.println(“kopale goru nai , khasi paisi :(“);

}else{

System.out.println(“ami thailam jaha , ami pailam na taha , khali hate basai fire jaitesi ami ….”);

}

}
}
গরুর দাম ছিল ৬০০০০ হাজার টাকা তাই  লোকটি বলবে
goru ekta pailam re   !!!!!