হাউস একক ভিজুয়ালাইজেশান এবং eHouse অটোমেশন সিস্টেম থেকে গ্রাফিকাল নিয়ন্ত্রণ – জাভা

গ্রাফিকাল ঠাহর eHouse হোম অটোমেশন সিস্টেমের জন্য উন্নয়ন পরিবেশ প্রসারিত করে এবং অন্তিম ব্যবহারকারীদের ofeHouse সিস্টেমের জন্য একটি স্বতন্ত্র সফ্টওয়্যার উন্নয়নের সম্ভাবনা সৃষ্টি , যুক্ত কোম্পানীগুলো এবং ব্যবসার পৃথকভাবে অবদান তবেই JSE (জাভা) পরিবেশে প্রোগ্রামিং . জাভা জন্য eHouse (eHouse4Java) হয় সামঞ্জস্যপূর্ণ Android এবং উইন্ডোজ মোবাইল লাইব্রেরি যাও , আপনি আপনার কন্ট্রোল প্যানেল এবং ট্যাবলেট জন্য নিজস্ব সফ্টওয়্যার নির্মাণ করা হয় .
লাইব্রেরী হল আবেদন ফর্মা এবং সক্ষম:

  • কনফিগারেশন লোড , কন্ট্রোলার নামগুলি , আউটপুট , উপকরণ , সেন্সর , ইত্যাদি .
  • যোগাযোগ সিস্টেম নিয়ামক নিশ্চিত
  • এবং তথ্য প্রাপ্তির নিয়ামক অবস্থা পাঠোদ্ধারতা
  • নিয়ন্ত্রণ কমান্ড graphically (অবজেক্টের ঠাহর) বা থেকে টেক্সট ফর্ম পাঠাতে (ক্ষেত্রের সঙ্গে নির্বাচনযোগ্য)
  • WiFi মাধ্যমে সিস্টেমের নিয়ন্ত্রণ , ইন্টারনেট , এসএমএস , ইমেল
  • গ্রাফিকাল কল্পনা এবং নিয়ন্ত্রণ – গ্রাফিক ঘটনা মৃত্যুদন্ড কার্যকর করা যাও (সারাংশ eHouse সিস্টেম) এবং সরঞ্জাম স্থিতিগুলিকে সঙ্গে যুক্ত অবজেক্টের টেক্সট ফাইল লোড
  • নিয়ামক জন্য স্বয়ংক্রিয় ভিজুয়ালাইজেশন (কক্ষ)

ঠাহর জাভা লাইব্রেরি ব্যবহার করে তৈরি করা হয় ” দোল ” সঙ্গে একটি উপাদান ” JPanel ” , ” JButton ” ইত্যাদি .
এই বস্তু স্বয়ংক্রিয়ভাবে ” দুবার – বাফার ” , যাতে দপদপ করে ওঠার প্রভাব কাটানো হয় , যা ব্যবহারকারীর জন্য খুবই বিরক্তিকর .
ব্যবহারকারী এছাড়াও ইমেজ নিয়ন্ত্রণ করতে পারেন:

  • এবং জুম আউট
  • যেদিকে নির্দেশ করা হচ্ছে সেদিকে আরও এগোনো , এবং নিচে থেকে পাশ পার্শ্ব
  • নির্বাচন বর্তমান পরিবর্তন ” বিকল্প ”
  • নির্বাচন দ্বারা সিস্টেমের গ্রাফিকাল ঠাহর ফিরে ” দেখা ”

ভিজুয়ালাইজেশন সিস্টেম eHouse উদাহরণ:
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
Zooming ইন ও আউট আকার পরিবর্তনযোগ্য ভেক্টর গ্রাফিক্স ব্যবহার (SVG) সঙ্গে হয়েছিল যারা এর ভোক্তা আউট , তাই যে ইমেজ তার মান স্কেল পরিবর্তনের পরে না হারাবেন না:
 সম্পাদনাগুলি পূর্বাবস্থায় ফিরুন

গেম! ;
কন্ট্রোলার অবস্থা স্বয়ংক্রিয়ভাবে প্রদর্শিত হয়:
এটি একটি কম্পিউটার নেটওয়ার্ক বা ইন্টারনেটের মাধ্যমে আপডেট করা হয় (TCP অথবা UDP) – অনলাইন (বাস্তব সময়)
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
দ্বারা নির্বাচন ” বিকল্প ” এবং রাষ্ট্র কন্ট্রোলার এবং দেখা যাবে প্রোগ্রাম নির্বাচন করুন .
অন্তর্মুখী ফলে UDP অবস্থা পরিবর্তনের rewizualizacjÄ স্বয়ংক্রিয়ভাবে ™ হবে:  ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse অনলাইন গ্রাফিক্স এবং কল্পনা - জাভা ওপেন সোর্স
পৃথকভাবে পরিকল্পিত উপর স্থাপত্যতুল্য নকশা এবং স্মার্ট হোম ইনস্টলেশন ভিত্তিতে কল্পনা ছাড়াও স্বয়ংক্রিয়ভাবে প্রতিটি নিয়ামক জন্য স্বাধীনভাবে ভিজুয়ালাইজেশন সিস্টেম মধ্যে (বিশেষত জন্য RoomManagers এবং EthernetRoomManager তৈরি – পৃথক কক্ষ জন্য) .
এই স্বাধীন নিয়ন্ত্রণ প্যানেল প্রতিটি রুম জন্য এবং কল্পনা জন্য পৃথকরূপে করা যাবে , ছাড়া প্রকল্পের নির্মাণ ক্লান্তিকর – ভিত্তিক ভিজুয়ালাইজেশন সিস্টেম .
জন্য CommManager (এলার্ম সেন্সর রাজ্যগুলির , Ouputs)
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse গ্রাফিক্স এবং স্বয়ংক্রিয় ভিজুয়ালাইজেশন অনলাইন - জাভা ওপেন সোর্স
জন্য RoomManager এবং EthernetRoomManager:
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse গ্রাফিক্স এবং স্বয়ংক্রিয় ভিজুয়ালাইজেশন অনলাইন - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse গ্রাফিক্স এবং স্বয়ংক্রিয় ভিজুয়ালাইজেশন অনলাইন - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse গ্রাফিক্স এবং স্বয়ংক্রিয় ভিজুয়ালাইজেশন অনলাইন - জাভা ওপেন সোর্স
বয়লার নিয়ামক , CO সুস্থতার (HeatManagera)
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse গ্রাফিক্স এবং স্বয়ংক্রিয় ভিজুয়ালাইজেশন অনলাইন - জাভা ওপেন সোর্স
 ইন্টেলিজেন্ট হোম নিয়ন্ত্রণ eHouse গ্রাফিক্স এবং স্বয়ংক্রিয় ভিজুয়ালাইজেশন অনলাইন - জাভা ওপেন সোর্স
আরো তথ্য অনুগত প্রোগ্রামিং লাইব্রেরি eHouse4Android যাও (Android এর জন্য eHouse নিবন্ধ খুঁজে পাওয়া যেতে পারে – Android এর জাভা) , যা জাভা SE মধ্যে আছে বিভিন্ন অপারেটিং সিস্টেমের সাথে সামঞ্জস্যের অনুবাদ এবং সফটওয়্যার উন্নয়ন কর্মের জন্য করা হয়েছে .
সোর্স কোড
/ *
* গ্রাফিক ভিজুয়ালাইজেশন সিস্টেম জন্য টেমপ্লেট অ্যাপ্লিকেশন , স্মার্ট হোম eHouse
* শুধু জন্য সিস্টেম eHouse রেজিস্টার্ড ব্যবহারকারীদের , সহযোগী কোম্পানীগুলো সর্বসত্ত্ব সংরক্ষিত
*
* প্রয়োজন ক্লাস:
* Ehousecommunication . বর্গ – সিস্টেমের ইভেন্ট পাঠান
* EhouseTCP . বর্গ – বিভিন্ন TCP উপর সূচনা এবং যোগাযোগের রক্ষণাবেক্ষণ / আইপি নিয়ামক , সিস্টেম ইনপুট এবং আউটপুট থেকে আপডেট তথ্য
* StatusEhouse . বর্গ – তথ্য স্টোরেজ এবং নিয়ামক সেটিংস , একটি করে TCP / IP কন্ট্রোলার ehouse1 (485) উপর চলমান ভিত্তিতে আপডেট
* StatusCommManager . বর্গ – বর্তমান তথ্য এবং সেটিংস কন্ট্রোলার সঞ্চয় , একটি করে TCP / IP কন্ট্রোলার ehouse2 (ইথারনেট) উপর চলমান ভিত্তিতে আপডেট
* GraphicObject . বর্গ – গ্রাফিকাল অবজেক্টের স্টোরেজ
* ভিজুয়ালাইজেশান . বর্গ – গ্রাফিকাল বস্তু (রেখা আঁকা , ellipses , rectangles) এবং পরিষেবা সম্পর্কিত ঘটনা
*
* অ্যাপ্লিকেশন ফর্মা একটি eHouse সিস্টেম কল্পনা গ্রাফিক ডিজাইন
* কেবল নিবন্ধিত ব্যবহারকারী , বিক্রেতা , সমবায় কপিরাইট ISYS . En সর্বস্বত্ব সংরক্ষিত
*
* প্রয়োজনীয় ক্লাস:
* Ehousecommunication . বর্গ – সিস্টেমের ইভেন্ট প্রেরণ
* EhouseTCP . বর্গ – নিয়ন্ত্রকদের সঙ্গে আরম্ভের এবং রক্ষণাবেক্ষণ করে TCP / IP যোগাযোগ , কন্ট্রোলার বর্তমান অবস্থা আপডেট
* StatusEhouse . বর্গ – কন্ট্রোলার সেটিংস এবং তথ্য স্টোরেজ , আপডেট ehouse1 কনট্রোলারের জন্য তথ্য (TCP / IP) (485)
* StatusCommManager . বর্গ – কন্ট্রোলার সেটিংস এবং তথ্য স্টোরেজ , তথ্য (TCP / IP) ehouse2 কনট্রোলারের জন্য (ইথারনেট) আপডেট করা
* GraphicObject . বর্গ – গ্রাফিক তথ্য স্টোরেজ বস্তু
* ভিজুয়ালাইজেশান . বর্গ – অঙ্কন গ্রাফিক বস্তু (রেখা , Ellipses , rectangles) এবং হ্যান্ডলিং ঘটনা তাদের সাথে সম্পর্কিত
* /
ehouse4java প্যাকেজ ;
ইম্পোর্ট জাভা . নিলে সেটিকে AWT . * ;
ইম্পোর্ট জাভা . নিলে সেটিকে AWT . ঘটনা . * ;
ইম্পোর্ট javax . দোল . * ;
ইম্পোর্ট javax . দোল . ঘটনা . Changeevent ;
ইম্পোর্ট javax . দোল . ঘটনা . ChangeListener ;
Ehouse4java পাবলিক বর্গ JFrame কার্যকরী ActionListener প্রসারিত , ChangeListener {
/ **
* ক্লাস সিস্টেমের অবস্থা আরম্ভের জন্য দায়ী , নির্মাণ
* মূল অ্যাপ্লিকেশনের উইন্ডোতে . ইন্টারফেস যে ইভেন্ট সমর্থন দেবে
বোতাম সঙ্গে যুক্ত * .
*
* ক্লাস ক্লাস আরম্ভ অবস্থা এবং নির্মাণের জন্য দায়িত্বপ্রাপ্ত
* মূল অ্যাপ্লিকেশনের উইন্ডোতে . যে ইন্টারফেস সমর্থন কার্যকরী ঘটনা
বোতাম সম্পর্কিত * .
* /
/ **
* ভিজুয়ালাইজেশান বস্তু বর্তমানে প্রদর্শিত দেখুন ধারণকারী
* /
পাবলিক ঠাহর ভিজুয়ালাইজেশান ;
/ / পাবলিক ঠাহর বিকল্প ;
/ / পাবলিক ঠাহর TextEvents ;
/ **
র * Pallete zooming সমর্থনকারী বোতাম , নড়ন এবং পরিবর্তন
* Displayed দেখুন
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = নাল ;
JButton বিকল্প ;
JButton দেখুন ;
JButton পিছনে ;
JButton [] = নতুন JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
সব বোতাম সঙ্গে প্যানেল *
* /
JPanel ZoomPanel ;
/ **
* বর্তমানে প্যানেল প্রদর্শিত ঠাহর ধারণকারী
* /
JPanel viewpanel ;
/ **
* প্যানেল বোতাম একটি গ্রুপ যাও রাজ্যের কন্ট্রোলার ব্যবহার ধারণকারী ,
* সিস্টেম পরিকল্পনা ইত্যাদি . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
পাবলিক স্ট্যাটিক int-buttonscounter ;
পাবলিক int-centerX ;
পাবলিক int-CenterY ;
পাবলিক int-prevCenterX ;
পাবলিক int-prevCenterY ;
পাবলিক int-Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
ডবল prevScaleX ;
ডবল prevScaleY ;
পাবলিক চূড়ান্ত ডবল zoomfactor = 0 . 3 ;
পাবলিক স্ট্যাটিক স্ট্রিং previousoptionsview = ” ” ;
/ **
* নতুন ফর্ম Ehouse4java নির্মাণ . ক্লাস এবং গ্রাফিক অবস্থা Initiates
মূল উইন্ডোর সঙ্গে সামগ্রী * .
* /
পাবলিক Ehouse4java () {
সুপার ( ” EHouse ” ) ;
(OnCreate) ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* সমস্ত গ্রাফিক উপাদান Initiates
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
(নতুন মাত্রা (200 setMinimumSize , 200)) ;
setVisible (সত্য) ;
prevCenterX = (int) ভিজুয়ালাইজেশান . getBounds () . getCenterX () ;
prevCenterY = (int) ভিজুয়ালাইজেশান . getBounds () . getCenterY () ;
}
/ **
* সব উপাদান গ্রাফিক প্যানেল হিসাবে শুষ্ক Initiates , বোতাম , scrollbars , ইত্যাদি . .
*
* @ PARAM পেন
* /
পাবলিক অকার্যকর addComponentToPane (ধারক পেন) {

optionfirsttime = সত্য ;

ExitB = নতুন JButton ( ” প্রস্থান ” ) ;
ExitB . setActionCommand ( ” প্রস্থান ” ) ;
ExitB . addActionListener (এই) ;
. . .
indexView int = 0 ;
ZoomPanel = নতুন JPanel (নতুন FlowLayout ()) ;
viewpanel . (যোগ ZoomPanel , বর্ডার . PAGE_END মোট) ;
ZoomPlusButton = নতুন JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (এই) ;
ZoomPanel . (ZoomPlusButton) যোগ করুন ;
ZoomMinusButton = নতুন JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (এই) ;
ZoomPanel . (ZoomMinusButton) যোগ করুন ;
. . .
}
/ **
* Initiates এবং StatusEhouse লোড কনট্রোলার দ্বারা StatusCommManager ক্লাস
* স্থিতি
* /
পাবলিক অকার্যকর OnCreate () { . . . }
/ **
* @ PARAM ARGS কমান্ড লাইন আর্গুমেন্ট
* /
পাবলিক স্ট্যাটিক ভয়েড মেন (স্ট্রিং ARGS []) {
/ *
* তৈরি ফর্ম প্রদর্শন
* /
জাভা . নিলে সেটিকে AWT . EventQueue . invokeLater (নতুন Runnable () {
পাবলিক অকার্যকর রান () {
Ehouse4java নতুন () . setVisible (সত্য) ;
}
}) ;
}
/ **
* বাটন ক্লিক করে প্রার্থনা ঘটনা সমর্থন করে
*
* @ PARAM ই
* /
@ ওভাররাইড
পাবলিক অকার্যকর actionPerformed (ActionEvent ই) {
সুইচ (ই . getActionCommand ()) {
কেস ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . অফসেটস ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Rescalling পরে দেখুন কেঁদ্রীকরণ
ehousecommunication . OffsetX + = (int-) ((ভিজুয়ালাইজেশান . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . অফসেটস + = (int-) ((ভিজুয়ালাইজেশান . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / জুম গণনা
কল্পনা . (নূতনে রঙ) ;
প্রত্যাবর্তন ;
. . .
}
}
}