Ev Fərdi Görselleştirme və eHouse sistemi Automation dən qrafik nəzarət – Java

Qrafik vizual eHouse Home Automation sistem üçün inkişaf mühit uzanır və son istifadəçilər ofeHouse sistemi üçün müstəqil proqram inkişaf imkan yaradır , fərdi yardım etmək istəyən bağlı şirkətlər və biznes JSE (Java) mühitində proqramlaşdırma . Java üçün eHouse (eHouse4Java) Android və Windows Mobile kitabxanalarına uyğun , siz nəzarət panelləri və tablet üçün öz proqram yaratmaq üçün imkan .
Kitabxana proqram şablon və imkan verir:

  • konfiqurasiya yük , nəzarətçiləri adları , Çıxış , Girişlər , sensorlar , s .
  • rabitə sistemi nəzarətçi təmin
  • məlumat nəzarətçi statusu alan və decoding
  • (sahəsində seçilən ilə) qrafik (obyektlərin vizual) və ya mətn şəklində nəzarət əmrləri göndərmək
  • WiFi vasitəsilə nəzarət sistemi , İnternet , SMS , eMail
  • Qrafik vizual və nəzarət – icra olunacaq tədbirlər (eHouse sistemi) və avadanlıq halları ilə bağlı qrafik obyektlərin mətn faylı yükləmək
  • Nəzarətçi avtomatik vizual (otağı)

Görselleştirme java kitabxana istifadə yaradılır ” yelləncək ” bir elementləri ilə ” JPanel ” , ” JButton ” s .
Bu obyektlərin avtomatik olaraq ” ikiqat – buffered ” , flicker təsiri aradan ki, , olan istifadəçi üçün çox annoying .
İstifadəçi həmçinin image nəzarət edə bilərsiniz:

  • və həyata zoom
  • yanaşdırmaq , yan aşağı və yan
  • bu seçerek cari görünüşünü dəyişdirmək ” Seçimlər ”
  • bu seçerek sisteminin qrafik vizual qayıtmaq ” Bax ”

Vizual eHouse sistem nümunəsi:
 Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
 Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
Yakınlaştırma və ölçeklenebilir vektor qrafik istifadə (SVG) ilə həyata keçirilmişdir , ki, image miqyaslı dəyişiklik sonra onun keyfiyyəti itirmək deyil:
 Düzenlemeleri geri al

Yeni! ;
kontrollerlər statusu avtomatik olaraq göstərilir:
Bu kompüter şəbəkə və ya İnternet vasitəsilə yenilənir (TCP və ya UDP) – online (real zamanda)
 Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
 Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
 Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
 Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
Bu seçməklə ” Seçimlər ” və oda dövlətlərin kontrollerlər görüldü və proqramları seçin bilər .
Daxil olan UDP statusu dəyişdirilməsi avtomatik rewizualizacjÄ ™:  Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
 Ağıllı ev eHouse nəzarət online qrafika və vizual - java açıq mənbə
Fərdi memarlıq dizayn və Ağıllı ev quraşdırılması əsasında hazırlanmış vizual əlavə avtomatik olaraq sistem hər nəzarətçi üçün müstəqil vizual (xüsusilə RoomManagers və EthernetRoomManager üçün yaradılmışdır – fərdi otaqlar üçün) .
Bu hər bir otaq üçün müstəqil nəzarət panelləri və vizual imkan verir , layihə yaratmaq üçün yorucu olmadan – əsaslı vizual sistemi .
CommManager (alarm sensorlar dövlətlər üçün , Ouputs)
 Ağıllı ev eHouse nəzarət qrafik və vizual avtomatik online - java açıq mənbə
RoomManager və EthernetRoomManager üçün:
 Ağıllı ev eHouse nəzarət qrafik və vizual avtomatik online - java açıq mənbə
 Ağıllı ev eHouse nəzarət qrafik və vizual avtomatik online - java açıq mənbə
 Ağıllı ev eHouse nəzarət qrafik və vizual avtomatik online - java açıq mənbə
Bu qazan nəzarətçi , CO bərpası (HeatManagera)
 Ağıllı ev eHouse nəzarət qrafik və vizual avtomatik online - java açıq mənbə
 Ağıllı ev eHouse nəzarət qrafik və vizual avtomatik online - java açıq mənbə
Daha çox məlumat (Android üçün eHouse proqramlaşdırma kitabxana eHouse4Android həsr olunmuş məqalə bilər – Android Java) , müxtəlif əməliyyat sisteminin uyğunluğu və proqram inkişaf rahatlığı üçün Java SE tərcümə edilmişdir .
Mənbə kodu
/ *
Qrafik vizual sistem üçün * Şablon ərizə , Ağıllı ev eHouse
* Yalnız sistem eHouse Qeydiyyatdan keçmiş istifadəçilər üçün , Bütün hüquqları qorunur əməkdaşlıq şirkətləri
*
* Tələb Dərslər:
* Ehousecommunication . sinif – sistem hadisələr göndərmək
* EhouseTCP . sinif – TCP Başlatma və rabitə təmin / IP nəzarətçi , Sistemin giriş və çıxış əldə Yenilənib data
* StatusEhouse . sinif – məlumat saxlama və nəzarətçi parametrləri , TCP / IP kontrollerlər ehouse1 (485) üzərində mütəmadi olaraq yenilənir
* StatusCommManager . sinif – cari və parametrləri kontrollerlər saxlamaq , TCP / IP kontrollerlər ehouse2 (Ethernet) üzərində mütəmadi olaraq yenilənir
* GraphicObject . sinif – qrafik obyektlərin saxlanması
* Görselleştirme . sinif – qrafik obyektlərin (xətləri çəkmək , ellipses , düzbucaqlı) və xidmət bağlı hadisələr
*
EHouse sistemi qrafik vizual dizayn * Application şablon
* Yalnız qeydiyyatdan keçmiş istifadəçilər üçün , Bayiler , KOOPERATİFLERİNİN Copyright ISYS . Bütün hüquqları qorunur En
*
* Lazım dərsləri:
* Ehousecommunication . sinif – sistem hadisələr göndərilməsi
* EhouseTCP . sinif – nəzarətçiləri ilə başlatma və xidmət TCP / IP rabitə , kontrollerlər cari vəziyyəti yenilənməsi
* StatusEhouse . sinif – kontrollerlər parametrləri və məlumat saxlama , ehouse1 kontrollerlər üçün yenilənməsi data (TCP / IP) (485)
* StatusCommManager . sinif – kontrollerlər parametrləri və məlumat saxlama , ehouse2 kontrollerlər üçün məlumat (TCP / IP) (Ethernet) yenilənməsi
* GraphicObject . sinif – qrafik data storage obyektləri
* Görselleştirme . sinif – rəsm qrafik obyektlərin (xətləri , Ellipses , onlara aid düzbucaqlı) və rəftar hadisələr
* /
ehouse4java paketi ;
idxal java . AWT . * ;
idxal java . AWT . hadisə . * ;
idxal javax . yelləncək . * ;
idxal javax . yelləncək . hadisə . Changeevent ;
idxal javax . yelləncək . hadisə . ChangeListener ;
Ehouse4java ictimai sinif JFrame həyata ActionListener genişləndirir , ChangeListener {
/ **
Sistemin vəziyyəti başlatılıyor üçün məsuliyyət * Class , və yaratmaq
* Əsas proqram penceresinin . Tədbirdə dəstək interfeys həyata keçirir
* Düymələri ilə əlaqədar .
*
Dərsləri statusu başlatılıyor və yaratmaq üçün məsul * Class
* Əsas proqram penceresinin . Bu interfeys dəstəyi tədbirlər həyata keçirir
* Düymələri ilə əlaqədar .
* /
/ **
Hal-hazırda gösterilen görünüşü olan * Görselleştirme obyekt
* /
ictimai vizual Görselleştirme ;
/ / İctimai vizual Seçimlər ;
/ / İctimai vizual TextEvents ;
/ **
Zoom dəstək * Pallete düymələri , dəyişkən və dəyişən
* Gösterilen görünüşü
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Seçimlər ;
JButton View ;
JButton Geri ;
JButton [] = Yeni JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
Bütün düymələri ilə * Panel
* /
JPanel ZoomPanel ;
/ **
* Panel hazırda vizual tərkibli nümayiş
* /
JPanel viewpanel ;
/ **
Kontrollerlər dövlətlər daxil olmaq üçün istifadə düymələri bir qrup olan * panel ,
* Sistem proqramları və s . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
ictimai statik int buttonscounter ;
ictimai int centerX ;
ictimai int CenterY ;
ictimai int prevCenterX ;
ictimai int prevCenterY ;
ictimai int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
ikiqat prevScaleX ;
ikiqat prevScaleY ;
ictimai final ikiqat zoomfactor = 0 . 3 ;
ictimai statik String previousoptionsview = ” ” ;
/ **
* Yeni forma Ehouse4java yaradır . Siniflər və qrafik statusu başlayır
Əsas pəncərə ilə * Components .
* /
ictimai Ehouse4java () {
super ( ” EHouse ” ) ;
() OnCreate ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Bütün qrafik komponentləri başlayır
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
(yeni Ölçü (200 setMinimumSize , 200)) ;
setVisible (əsl) ;
prevCenterX = (int) Görselleştirme . getBounds () . getCenterX () ;
prevCenterY = (int) Görselleştirme . getBounds () . getCenterY () ;
}
/ **
* Qrafik panel kimi quru bütün komponentləri başlayır , düymələri , scrollbars , s . .
*
* @ Param bölmede
* /
ictimai etibarsız addComponentToPane (Konteyner bölmede) {

optionfirsttime = true ;

ExitB = Yeni JButton ( ” Çıxış ” ) ;
ExitB . setActionCommand ( ” Çıxış ” ) ;
ExitB . addActionListener (bu) ;
. . .
indexView int = 0 ;
ZoomPanel = Yeni JPanel (yeni FlowLayout ()) ;
viewpanel . əlavə (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = Yeni JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (bu) ;
ZoomPanel . əlavə (ZoomPlusButton) ;
ZoomMinusButton = Yeni JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (bu) ;
ZoomPanel . əlavə (ZoomMinusButton) ;
. . .
}
/ **
* Təşəbbüsü və loading nəzarətçiləri tərəfindən StatusEhouse StatusCommManager dərsləri
* Status
* /
ictimai etibarsız OnCreate () { . . . }
/ **
* @ Param args command line arguments
* /
ictimai statik etibarsız əsas (String args []) {
/ *
* Yaradın və formada göstərmək
* /
java . AWT . EventQueue . invokeLater (yeni Runnable () {
ictimai etibarsız run () {
Ehouse4java yeni () . setVisible (əsl) ;
}
}) ;
}
/ **
* 'Düyməsinə tıklayarak istinad hadisələr dəstəkləyir
*
* @ Param e
* /
@ Rusiyada yüklenme
actionPerformed ictimai etibarsız (ActionEvent e) {
switch (e . getActionCommand ()) {
hal ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Offsets ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Rescalling sonra görünüşü mərkəzə
ehousecommunication . OffsetX + = (int) ((Görselleştirme . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Offsets + = (int) ((Görselleştirme . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Zoom hesablayın
Görselleştirme . () repaint ;
qayıtmaq ;
. . .
}
}
}