সেরা প্রোগ্রামিং জাভা প্রোগ্রামিং [পর্ব-১৫] :: গ্রাফিকাল ইউসার ইন্টারফেস এর ছোট একটি প্রোগ্রাম-২

টিউন বিভাগ জাভা
প্রকাশিত

সেরা প্রোগ্রামিং জাভা প্রোগ্রামিং

আসসালামু আলাইকুম।আশা করি সবাই ভাল আছেন।অনেকদিন পর আবারো লিখতে বসলাম।আজকে বেশ সহজ কিছু নিয়ে আলোচনা করতে চাচ্ছি। একটা জিনিস খেয়াল করলে দেখবেই একি জাভার কোড উন্ডোজে দেখতে একরকম লাগে ,উবুন্টুতে দেখতে একরকম লাগে আবার ম্যাকিন্টোশ এ দেখতে একরকম লাগে। এটা কেন হয় বলতে পারবেন? আসলে জাভাতে চাইলেই এই জিনিসটি করে দেওয়া যায়।কিন্তু আমাদের আগের পর্বের টিউটরিয়ালটির কোড টি সব অপেরেটিং সিস্টেমে দেখতে একি রকম।মানে উন্ডোজে দেখতে যেমন উবুন্টুতেও দেখতে একি রকম।

আসুন নিচে এমন একটি জাভার কোড দেখিঃ

<pre>import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.FlowLayout;
public class google extends JFrame {

	private JLabel item1;

	public google()
	{
		super("The title");
		setLayout(new FlowLayout());

		item1=new JLabel("Hello google !!!");
		item1.setToolTipText("I love you google");
		add(item1);
	}
}

প্রথমেই javax.swing.JFrame কে ইম্পর্ট করা হয়েয়েছে। এটা জাভার গ্রাফিকাল ইউজার ইন্টারফেস এর একটি লাইব্রেরি। মুলত এটি ব্যবহার এর কারন হল একটি কন্টেন্ট পেইন(content pane) তৈরি করা যার মধ্যে বাকি কন্টেন্ট গুলো যোগ করা যাবে।পরের লাইনে আরেকটি লাইব্রেরি ইম্পর্ট করা হয়েছে javax.swing.JLabel এর সাহায্যে আপনি যেকোন টেক্সট আপনার ফ্রেইম এ যোগ করতে পারবেন। আসলে উপরের দুটি ফাইল ইম্পর্ট না করে শুধু javax.swing.*; ইম্পর্ট করলেই হয়ে যেত। এক্ষেত্রে পুরো swing লাইব্রেরি ইম্পর্ট হয়ে যেত।পরের লাইনে ইম্পরট করা হয়েছে java.awt.FlowLayout।এর দ্বারা বুঝায় যে আমরা আমাদের কন্টেন্ট গুলো একের পর এক যোগ করতে থাকব।মানে কন্টেন্ট গুলো বাম দিক থেকে ডানদিকে যেতে থাকবে।অনেকটা Microsoft Word এর মত। Microsoft word এ কি হয় ? আমরা লেখা শুরু করি তা বামদিক থেকে ডান দিকে যেতে থাকে।যখন লাইন শেষ হয়ে যায় তখন আবার পরের লাইন থেকে আবার বাম থেকে ডানে যেতে থাকে। এখানেও ঠিক তাই ই। তারপরের লাইনে Google ক্লাস JFrame ক্লাস কে ইনহেরিট করেছে।আমরা জানি যে কোন ক্লাস কে ইনহেরিট করার জন্য extends অপেরেটর ব্যবহার করা হয়।

পরের লাইনে item1 নামক একটি Jlabel ভেরিয়েবল ডিক্লায়ার করা হয়েছে।সাধারনত কোন টেক্সটকে ডিক্লায়ার করার জন্য jLabel ব্যবহার করা হয়।পরে google ক্লাস এর কন্সট্রাক্টর তৈরি করা হয়েছে। কন্সট্রাক্টরের ১ম লাইনে super() ফাংশন দ্বারা টাইটেল ঠিক করা হয়েছে। তারপরের লাইনে লে-আউট সেট করা হয়েছে।তারপর এর লাইনে আমরা যে টেক্সটি ইম্পর্ট করতে চাই তা করা হয়েছে।  তারপরের লাইনে আরেকটি টেক্সট ইম্পর্ট করা হয়েছে কিন্তু এটি তখনই দেখাবে যখন মাউস এর কার্সরটা আগের টেক্সট লাইনের উপর রাখা হবে।সবার শেষে add() দ্বারা  item1 টি আমাদের কন্টেন্ট পেইনে  যোগ করা হয়েছে।

এবার নিচের কোডটা দেখুনঃ


<pre>import javax.swing.JFrame;
public class apple {

	public static void main(String[] args)
	{
		google g=new google();
		g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		g.setVisible(true);
		g.setSize(250, 100);
	}
}</pre>

তারপর apple ক্লাসে google ক্লাসের একটি অব্জেক্ট তৈরি করা হয়েছে।আমরা পরের লাইনে একটি অতি গুরুত্বপুর্ন   ফাংশন ডিক্লায়ার করা হয়েছে এর সাহায্যে আপনি আপনার প্রোগ্রামটা বন্ধ করতে পারবেন এটা না লিখলে আপনি আপনার প্রোগ্রামটা বন্ধ করতে পারবেন না।পরের লাইনে আপনার প্রোগ্রামটার উইন্ডো সাইজ কত হবে তা নির্ধারন করা হয়েছে।সবার শেষে visible দেওয়া হয়েছে।

এটা অনেক সোজা একটা কোড নিয়ে কথা বললাম ।আগামী পর্বে আরো কিছু নিয়ে আলোচনা করব। ভাল থাকবেন সবাই ।

Level 0

আমি wahid63। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 16 টি টিউন ও 40 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

vai compilar koi pabo

    Level 0

    @bd-সুজন: আমার প্রথম দিকের টিউন গুলো দেখেন………

Level 0

ভাই টিউনগুলো অনেক ভালো লেগেছে । আর টিউন করবেন না ?

Level 0

ধন্যবাদ ভাই। ইনশা আল্লাহ লেখব ভাই…………এখন পড়াশুনার চাপ অনেক বেশি ………চাপ একটু কম্লেই আমি লেখা শুরু করব আবার………

ভাই নতুন লেখা কবে পাব?

    Level 0

    @kajal mallik: ১৩ ই জুন এর পর পাবেন………আমার পরীহ্মা চলতেসে তাই নতুন লেখা দিতে পারছিনা বলে দুখিত………… :O

Level 0

viya amr question sune hoyto ba hasben tar poro bolse. asole ami javar akti nirdirishto platform a kaj korte chai .apner ai tunes gulo ki php ar codiegnitior or cacke phpr moton.

Level 0

আপনার কিন্ত শেষ টিউন টা করা উচিৎ ছিল… আপনার সব টিউনগুলো আমি পড়ে শেষ করে আর অপেক্ষার তর সইছেনা…
আশা করি শেষের টিউনগুলো করবেন।

Level 0

Vai Tune ta Continue korlen na keno !! >>> onek upokrito hocchilam …… shomoy pele ektu likhe felen ..Othoba personally eshe shekar shujog koren … Ami Java Programming purapuri shikte icchuk …..

javax.swing.JFrame
এইটা ইম্পোর্ট করবো কিভাবে ???