የ GUI ልማት መግቢያ። Qt በመጠቀም ግራፊክ በይነገጽ መፍጠር

ማብራሪያ፡- ፍርግሞችን እናጠናለን - የግራፊክ የተጠቃሚ በይነገጽን ፣ አቀማመጣቸውን ፣ የመጠን ፖሊሲ ፣ የምልክት ማስገቢያ ግንኙነቶች ፣ የግራፊክ በይነገጽ አካላት እና አጠቃቀማቸውን የሚያካትቱ ምስላዊ አካላት።

13.1 መግብሮች

መግብሮች ስዕላዊ የተጠቃሚ በይነገጽን የሚፈጥሩ ምስላዊ አካላት ናቸው።

የመግብሮች ምሳሌዎች፡-

  • አዝራር (ክፍል QPushButton);
  • መለያ (ክፍል QLabel);
  • የግቤት መስክ (ክፍል QLineEdit);
  • የቁጥር ቆጣሪ መስክ (QSpinBox ክፍል);
  • የማሸብለል አሞሌ (ክፍል QScrollBar)።

Qt ለአገልግሎት ዝግጁ የሆኑ 50 የሚሆኑ የግራፊክ አካላት ክፍሎች አሉት። የሁሉም መግብሮች የወላጅ ክፍል QWidget ክፍል ነው። ሁሉም የእይታ አካላት ዋና ዋና ባህሪያት ከእሱ የተወረሱ ናቸው, ይህም በጥንቃቄ እንመለከታለን. በግራፊክ በይነገጽ ፕሮግራሞችን ከምሳሌ ጋር የማዳበር መንገዶችን እንጀምር።

ባዶ የፕሮጀክት ፋይል እንፍጠር። የፕሮጀክት አዋቂውን ያስጀምሩ እና በፕሮጀክቶች ክፍል ውስጥ ያለውን ንጥል ይምረጡ ሌላ ፕሮጀክት. በመቀጠል የፕሮጀክቱን አይነት ይምረጡ ባዶ Qt ፕሮጀክት. ይዘቱን ወደ ፕሮጀክቱ ፋይል እንጨምር፡-

TEMPLATE = QT += መግብሮችን የምንጠቀምባቸው አፕ #Qt ሞጁሎች #ከመግብሮች ጋር ለመስራት የመግብሮችን ሞጁሉን ጨምሩ (ለQt5 አስፈላጊ)። TARGET = መግብር#የሚፈፀመው ፋይል ስም SOURCES += \ main.cpp

አሁን ጽሑፉን የምናሳይበት መስኮት ያለው ቀላል ፕሮግራም እንፍጠር። የመስኮቱን መጠን እና የርዕሱን ጽሑፍ እናስቀምጠው, እና ለጽሑፉ ቅርጸ-ቁምፊን እናዘጋጅ. ይህንን ለማድረግ፣ ከሚከተለው ይዘት ጋር ፋይል ይፍጠሩ main.cpp፡

#ያካትቱ #ያካትቱ int ዋና (int lArgc ፣ ቻር * lArgv) (// የመስኮት ፕሮግራሙን የሚያስጀምር እና የሚያዋቅር የQApplication ነገር ይፍጠሩ ፣ // QApplication ክስተት loop lApplication (lArgc ፣ lArgv)ን በመጠቀም አፈፃፀሙን ይቆጣጠራል። መግብር - መለያ lLabel.setText ("እኔ መግብር ነኝ!"); እና ቁመት ጽሑፍ lLabel.setAligment (Qt :: AlignHCenter | Qt :: AlignVCenter); ", 12); setFont (lBlackFont); // ለመለያው ቅርጸ-ቁምፊውን ያዘጋጁ lLabel.show (); // ስክሪኑ ላይ መለያውን ለማሳየት ወደ ትዕይንት () ዘዴ ይደውሉ lApplication.exec (); // አሂድ ፕሮግራሙን ለማስኬድ exec () //ዑደት ሂደትን ይጠብቃል.

እንደምናየው በ Qt ውስጥ መገናኛዎችን የሚያመርቱ ንጥረ ነገሮች የራሳቸው አቀማመጥ እና መጠን አላቸው - "ጂኦሜትሪ" የሚባሉት - እና በስክሪኑ ላይ ተመጣጣኝ አራት ማዕዘን ቦታን ይይዛሉ (ምስል 13.1 ይመልከቱ). እንዲሁም እያንዳንዱ አካል ባህሪውን እና ገጽታውን የሚወስኑ ቅንብሮች አሉት።


ሩዝ. 13.1.

መዋቅር ለመፍጠር, መግብሮች በ "ክፍል - ሙሉ" መርህ መሰረት ወደ ተዋረድ ይደራጃሉ. እያንዳንዱ መግብር ሌሎች መግብሮችን ሊይዝ ይችላል። ይህ ምስላዊ አካል በውስጡ የያዘው ንጥረ ነገር "ወላጅ" (የወላጅ መግብር) ይሆናል። እንደዚህ ያሉ ግንኙነቶች በ C ++ ውስጥ ካለው ውርስ ጋር መምታታት እንደሌለባቸው ልብ ይበሉ - በአንድ ፕሮግራም ውስጥ ባሉ ክፍሎች መካከል ያሉ ግንኙነቶች. በመግብሮች መካከል ያሉ ግንኙነቶች በእቃዎች መካከል ያሉ ግንኙነቶች ናቸው. እንደነዚህ ያሉት ግንኙነቶች ብዙ ውጤቶችን ያስከትላሉ-

  • የወላጅ ኤለመንቱ የልጁን አካል የመሰረዝ ሃላፊነት አለበት፡ የወላጅ መግብር ከተሰረዘ ሁሉንም የሕፃን ንጥረ ነገሮች በራስ-ሰር ይሰርዛል።
  • የወላጅ መግብር በራሱ ውስጥ የልጆች መግብሮችን ያስቀምጣል, ከወላጆች በላይ የሚራዘሙ የልጆች መግብሮች ክፍሎች የማይታዩ ይሆናሉ;
  • የወላጅ መግብር አካል ወደ ልጆቹ ተላልፏል - ይህ ለአንዳንድ ንብረቶች (ታይነት ፣ እንቅስቃሴ) እና በምስላዊ አካል ላይ በሚተገበሩ ቅጦች ላይም ይሠራል።

ወላጅ የሌላቸው መግብሮች (ከፍተኛ ደረጃ መግብሮች) በፕሮግራሙ ውስጥ እንደ የተለየ መስኮቶች ይታያሉ። አንድ ምሳሌ እንመልከት። አዲሱን ፕሮጀክት ParentExample እንሰይመው። የፕሮጀክት ፋይሉ ለ GUI ፕሮጀክት የተለመዱ ቅንብሮችን ይይዛል፡

አብነት = መተግበሪያ ዒላማ = ParentExample QT += ፍርግሞች

እንደ ዋናው መስኮት የምንጠቀመው መግብር አዲስ ክፍል እንፈጥራለን. ለዚህ በምድብ ውስጥ ፋይሎች እና ክፍሎችየ C ++ ክፍልን እንመርጥና C ++ ክፍልን እንመርጥ (ምሥል 13.2 ይመልከቱ).

ቀጣዩ ደረጃ በመስኮቱ ላይ በርካታ ክፍሎችን መፍጠር ነው. ይህንን ለማድረግ, parentwidget.cpp ፋይልን ይክፈቱ እና የክፍል ገንቢውን ኮድ ይለውጡ. ክፍሎችን ለማሳየት በክፍል ገንቢ ውስጥ ይፍጠሩ እና የወላጅ መግብርን እንደ ወላጅ ያቀናብሩ። የ parentwidget.cpp ኮድ ይህን ይመስላል፡-

#ያካተት " parentwidget.h " #ያካተት #ያካትቱ #ያካትቱ ParentWidget::ParentWidget (QWidget * ወላጅ)፡ QWidget (ወላጅ) (//የወላጅ መግብርን የሚያመለክት መለያ ፍጠር - ይህ ማለትም የወላጅ መግብር ክፍል ምሳሌ። QLabel * lLabel=አዲስ QLabel (ይህ)፤ //ቦታ ከወላጅ መግብር በላይኛው ግራ ጥግ ላይ -> setGeometry (50, 0, 100, 30); QPushButton * lPushButton = አዲስ QPushButton (ይህ); QLineEdit * lLineEdit = አዲስ QLineEdit (ይህ) ጂኦሜትሪ (50, 100, 100, 30); ምሳሌ) // በመጨረሻ የወላጅ መግብር setGeometry (x (), y (), 300, 150 መጠን መቀየር እና መስኮት ርዕስ ጽሑፍ setWindowTitle ("የወላጅ መግብር");

የወላጅ አካል የወላጅ መግብር ስለሆነ መለያው (QLabel)፣ ቁልፍ (QPushButton) እና የጽሑፍ መስክ (QLineEdit) በውስጡ አሉ። የልጆች መግብሮች አቀማመጥ ከአባት በላይኛው ግራ ጥግ አንፃራዊ ተቀናብሯል። የፕሮግራማችንን መስኮት መጠን እና አቀማመጥ በመቀየር በቀላሉ ይህንን ማረጋገጥ ይችላሉ. አዲሱን ኦፕሬተር በመጠቀም የዩአይኤ ክፍሎችን እንዴት እንደፈጠርን ልብ ይበሉ። ይህ የPreentWidget ገንቢው ከተጠናቀቀ በኋላ ኤለመንቶችን አለመወገዱን ያረጋግጣል።

GUI ልማት

ከፕሮግራሙ ጋር የተጠቃሚ መስተጋብር ቁልፍ መንገዶች የግራፊክ የተጠቃሚ በይነገጽ (GUI) ነው። የማንኛውም የሶፍትዌር ምርት GUI በታዋቂነቱ ውስጥ ካሉት ቁልፍ ነገሮች አንዱ ነው።

ብቃት ያለው የተጠቃሚ በይነገጽ መፍጠር ጉልበት የሚጠይቅ ሂደት ነው እና ለዝርዝር ከፍተኛ ትኩረት ያስፈልገዋል። የሚፈጠረው በይነገጽ የፕሮግራሙን አቅም ከፍ ማድረግ አለበት ፣ ግን በተመሳሳይ ጊዜ ተጠቃሚውን በብዙ ምናሌዎች ፣ አዝራሮች ፣ ምስሎች እና ጽሑፎች አይጫኑ ።

በተግባር የዊንዶውስ አፕሊኬሽኖችን ፕሮግራሚንግ ማድረግ የተለያዩ መሳሪያዎችን እና ጠንቋዮችን በስፋት መጠቀምን ያካትታል። ስለዚህ, የተመረጠውን ስርዓተ ክወና ደረጃዎች ግምት ውስጥ በማስገባት ሶፍትዌሩ የዊንዶው በይነገጽ ይኖረዋል. ይህ በመጀመሪያ ደረጃ, በዊንዶውስ ኦፐሬቲንግ ሲስተም (OS) የዊንዶውስ ቤተሰብ ውስጥ የግራፊክ በይነገጽ ዋና ዋና ነገሮች በመሆናቸው ነው. የራሳቸው መቼቶች፣ ንብረቶች እና ዓይነቶች ያላቸው አራት ማዕዘን ቅርጽ ያላቸው ቦታዎች ናቸው።

የስልጠናው ስዕላዊ ክፍል አራት ዓይነት መስኮቶችን ያካትታል.

ዋናው መስኮት በፕሮግራሙ ውስጥ ያሉትን ሁሉንም የአሰሳ ክፍሎች እና እንዲሁም ከሶፍትዌር ጋር አብሮ ለመስራት አስፈላጊ የሆኑ ተጨማሪ መረጃዎችን ይዟል;

የመረጃ መሠረት አስተዳደር መስኮቶች የሶፍትዌር መሳሪያው የመረጃ ክፍል ሁሉንም የቁጥጥር አካላት ያካትታሉ። የፈተናዎችን ፣ የመረጃዎችን ፣ የአዳዲስ ተጠቃሚዎችን እና የአስተዳዳሪዎችን መጨመር ይሰጣሉ ፣ እና አዲስ የተፈጠሩ ወይም ነባር መረጃዎችን ለመጠቀም ይፈቅዳሉ ፤

ከሶፍትዌር ችሎታዎች ጋር ለመስራት ዊንዶውስ - እንደ ፈተና ማለፍ እና ንግግሮችን በማጥናት ከስልጠናው ዋና ዋና ተግባራት ጋር ሥራን መስጠት ።

መረጃን እና ስታቲስቲክስን ለማሳየት ዊንዶውስ - የተለያዩ የመረጃ ዓይነቶችን ፣ እንዲሁም ስታቲስቲክስ እና ግራፎችን ለማሳየት ያገለግላል።

ዋናው የፕሮግራም መስኮት የሚከተሉትን መቆጣጠሪያዎች እና የመረጃ ውፅዓት ይይዛል።

የፕሮግራሙን ስም እና የመስኮቱን ዓላማ የያዘ የመስኮት ርዕስ;

የፕሮግራሙን መጠን ለመቀየር ፣ ለመቀነስ እና ለመዝጋት ኃላፊነት ያላቸው የስርዓት ምናሌ ቁልፎች;

የዊንዶው ርእስ አካባቢ, ሙሉ ለሙሉ የጌጣጌጥ ተግባር ያለው እና አጠቃላይ የንድፍ መፍትሄን ለማሟላት አስፈላጊ ነው;

የእንኳን ደህና መጣችሁ አካባቢ;

የሳምንቱን ቀን ፣ የአሁኑን ቀን እና ሰዓት ለማሳየት አካባቢ;

የፕሮግራሙን ዋና ተግባራት ለመድረስ አዝራሮችን የያዘ ብጁ የመሳሪያ አሞሌ;

የአስተዳደር ፓነል የ PS አስተዳደራዊ ቁጥጥሮችን ለመድረስ አዝራርን ያካትታል;

የሁኔታ አሞሌ ስለ ሁሉም የፕሮግራሙ የአሠራር ዘዴዎች መረጃን ያሳያል።

የግራፊክ በይነገጽ ዋና መስኮት ንድፍ (የመስኮት እይታ ለአስተዳደር መለያ) በስእል 3.2 ይታያል

ምስል 3.2 - የግራፊክ በይነገጽ ዋናው መስኮት ንድፍ: 1 - የመስኮት ርዕስ; 2 - የስርዓት ምናሌ አዝራሮች; 3 -- የመስኮት ርዕስ አካባቢ; 4 - የሁኔታ አሞሌ; 5 - የእንኳን ደህና መጣችሁ ቦታ; 6 - የሳምንቱን ቀን ፣ ቀን እና ሰዓት ለማሳየት ቦታ; 7 - የአስተዳደር ፓነል; 8 - የተጠቃሚ ፓነል; 9 - የመማር ደረጃን ለመድረስ ቁልፍ; 10 - ወደ የሙከራ ደረጃ ለመድረስ አዝራር; 11 - ስታቲስቲክስ እና ግራፎችን ለማሳየት አዝራር; 12 -- መውጣት; 13 - የመተግበሪያውን የአስተዳደር ክፍል ለመድረስ ቁልፍ

እየተሰራ ያለውን የሶፍትዌር ትኩረት ግምት ውስጥ በማስገባት ትኩረትን ለመሳብ እና ለመተግበሪያው የበለጠ ፍላጎት ለመሳብ በርካታ መደበኛ ያልሆኑ ግራፊክ መፍትሄዎች ተዘጋጅተዋል። በተጨማሪም ፣ ይህ ከተቀሩት ተመሳሳይ ርዕሰ ጉዳዮች እና ትኩረት ፕሮግራሞች መካከል አንድ ዓይነት ግለሰባዊነትን እንዲያገኙ ያስችልዎታል።

ከእነዚህ መፍትሄዎች ውስጥ አንዱ ልዩ ንድፍ የሚፈጥሩ በቀለማት ያሸበረቁ የበይነገጽ ክፍሎች ሊባሉ ይችላሉ, በዚህ አካባቢ ምንም አናሎግ የሌላቸው. በፍላሽ አኒሜሽን ላይ ተመስርተን ስለ አኒሜሽን ማስገቢያዎች እየተነጋገርን ነው። የሁሉንም ዋና የስራ መስኮቶች ስም, የአሰሳ ክፍሎችን እና የምዝገባ እና የፍቃድ ቅጹን በይነገጽ ለመንደፍ ያገለግላሉ. የዚህ ልማት ዋና ጥቅሞች: ደስ የሚል እና ለተጠቃሚ ምቹ የሆነ በይነገጽ መተግበር; በተጠቃሚም ሆነ በአስተዳደር ደረጃዎች ፕሮግራሙን የመጠቀም ጉልህ ቀላልነት።

በሶፍትዌር እና በግራፊክ አተገባበር ውስጥ በአናሎግ ፕሮግራሞች መካከል ካሉት ዋና ጥቅሞች አንዱ በጥያቄ ጊዜ ፈተናዎችን ማለፍ ነው። ይህን አይነት ፈተና ለማለፍ ተጠቃሚው የSQL መጠይቆችን ከተለየ ገለልተኛ አካላት መሰብሰብ አለበት። በታቀደው ተግባር ሁኔታ ላይ ተመስርቶ መቅረብ በሚያስፈልገው የጥያቄ አይነት ላይ በመመስረት, ለመገጣጠም የተወሰነ ፖሊጎን ይመሰረታል. ፖሊጎን ከተለየ ብሎክ በመዳፊት ወደ እነርሱ የሚጎተቱ ኦፕሬተሮችን ለመተካት እና የጠረጴዛዎችን ፣ መስኮችን እና ሁኔታዎችን ስም የሚያስገቡበት መስኮችን ይዟል።

የተጠቃሚ ስታቲስቲክስ በእሱ በተገኘው ውጤት መሰረት የተገነቡ በግራፎች መልክ ይተገበራሉ. እያንዳንዱ ፈተና የራሱ ተለዋዋጭነት አለው. ቻርቶች ሁሉንም አስፈላጊ ፊርማዎች ይይዛሉ, የ TCart ክፍልን በመጠቀም ይተገበራሉ, እና ስለዚህ በነባሪ አካል ውስጥ የተገነቡ እና በውጤቱም, በመተግበሪያው ውስጥ የተተገበሩ ብዙ መቆጣጠሪያዎች አሏቸው.

እንዲሁም ለበለጠ ለተጠቃሚ ምቹ እይታ የሠንጠረዡ ራስጌ ቅጦች በነባሪ የልማት አካባቢ በተተገበሩ ተተክተዋል።

ስለዚህ ፣ የተተገበሩት ግራፊክ መፍትሄዎች በ GUI ንድፍ ሀሳብ የታሰበውን ውጤት ለማሳካት አስችለዋል ። የተፈጠረው በይነገጽ የፕሮግራሙን አቅም ከፍ ያደርገዋል ፣ ግን በተመሳሳይ ጊዜ ተጠቃሚውን በብዙ ምናሌዎች ፣ አዝራሮች ፣ ምስሎች እና ጽሑፎች አይጭነውም።

በሳሌም ጉል እና በቶማስ ፓቬክ የተበረከተ

ይህ አጋዥ ስልጠና ቀላል ስዕላዊ የተጠቃሚ በይነገጽ መፍጠር እና ቀላል የአገልጋይ ጎን ተግባራዊነትን ይጨምራል። በተለይም በስዊንግ ቅጽ ላይ የአዝራሮችን እና የመስኮችን ባህሪ የሚገልጽ ኮድ እንመለከታለን።

የ GUI አቀማመጦችን እና አወቃቀሮችን እንመለከታለን, ከዚያም አንዳንድ አዝራሮችን እና የጽሑፍ መስኮችን እንጨምራለን. የጽሑፍ መስኮች በተጠቃሚው የገቡትን መረጃዎች ለመቀበል እና የፕሮግራሙን ውጤት ለማሳየት የተነደፉ ናቸው. አዝራሩ በፕሮግራሙ የደንበኛ ክፍል ውስጥ የተገነቡ ተግባራትን አሠራር ይጀምራል. የፈጠሩት መተግበሪያ ቀላል ግን ሙሉ በሙሉ የሚሰራ ካልኩሌተር ነው።

ለጂአይአይ ዲዛይነር ልማት ባህሪያት ለበለጠ ዝርዝር መመሪያ፣ የተለያዩ የልማት ባህሪያትን የቪዲዮ ማሳያዎችን ጨምሮ፣ ይመልከቱ።

የሚገመተው ጊዜ: 20 ደቂቃዎች

መልመጃ 1፡ ፕሮጀክት መፍጠር

የመጀመሪያው እርምጃ እየገነቡት ላለው መተግበሪያ የ IDE ፕሮጀክት መፍጠር ነው። የፕሮጀክቱን ቁጥር እንሰይመው።

  1. ፋይል > አዲስ ፕሮጀክት ይምረጡ። እንዲሁም በ IDE የመሳሪያ አሞሌ ላይ የአዲሱን ፕሮጀክት አዶን ጠቅ ማድረግ ይችላሉ.
  2. በምድቦች አካባቢ የጃቫ መስቀለኛ መንገድን ይምረጡ። በ "ፕሮጀክቶች" አካባቢ "Java Application" የሚለውን ይምረጡ. "ቀጣይ" ቁልፍን ጠቅ ያድርጉ።
  3. በፕሮጀክት ስም መስክ ውስጥ NumberAddition ያስገቡ እና እንደ የቤትዎ ማውጫ ያለ ዱካን እንደ የፕሮጀክት ቦታ ይጥቀሱ።
  4. "ቤተ-መጽሐፍቶችን ለማከማቸት የተለየ አቃፊ ተጠቀም" የሚለውን አመልካች ሳጥን ምረጥ እና የቤተ-መጻህፍት አቃፊውን ቦታ ይግለጹ (አማራጭ)። ለበለጠ መረጃ በሰነድ ውስጥ ቤተ-መጽሐፍትን ለሌሎች ያጋሩ ይመልከቱ በNetBeans IDE መተግበሪያዎችን ማዳበር.
  5. ምልክት ከተደረገበት "ዋና ክፍል ፍጠር" የሚለውን ሳጥን ያስወግዱ.
  6. "ተከናውኗል" የሚለውን ቁልፍ ጠቅ ያድርጉ.

መልመጃ 2፡ የፊት መጨረሻን መፍጠር

የበይነገጽ መፍጠሪያ ሂደቱን ለመቀጠል ሌሎች የሚፈለጉ የ GUI ክፍሎች የሚቀመጡበት የጃቫ መያዣ መፍጠር ያስፈልግዎታል። በዚህ እንቅስቃሴ ውስጥ የJFrame ኤለመንትን በመጠቀም መያዣ ይፈጠራል። መያዣው ወደ አዲስ ጥቅል ውስጥ እንዲገባ ይደረጋል, ይህም በ "ምንጭ ጥቅሎች" መስቀለኛ መንገድ ላይ ይታያል.

የJFrame ኮንቴይነር መፍጠር

  1. በፕሮጀክቶች መስኮት ውስጥ የቁጥር አዲሽን መስቀለኛ መንገድን በቀኝ ጠቅ ያድርጉ እና አዲስ > ሌላ ይምረጡ።
  2. በፋይል ፍጠር የንግግር ሳጥን ውስጥ የስዊንግ GUI ቅጾች ምድብ እና የJFrame ቅጽ ፋይል አይነትን ይምረጡ። "ቀጣይ" ቁልፍን ጠቅ ያድርጉ።
  3. እንደ ክፍል ስም NumberAditionUI አስገባ።
  4. የmy.numberaddition ጥቅልን ይምረጡ።
  5. "ተከናውኗል" የሚለውን ቁልፍ ጠቅ ያድርጉ.

አይዲኢው የNumberAditionUI ቅጽን እና የNumberAdditionUI ክፍልን በNumberAddition መተግበሪያ ውስጥ ይፈጥራል እና የNumberAdditionUI ቅጽን በGUI Builder ውስጥ ይከፍታል። የMy.NumberAddition ጥቅል ነባሪውን ጥቅል ይተካል።

ንጥረ ነገሮችን ማከል፡ የፊት መጨረሻ መፍጠር

በመቀጠል የ "ፓልቴል" መስኮትን በመጠቀም የመተግበሪያው ውጫዊ በይነገጽ በጄፓኔል ተሞልቷል. ከዚህ በኋላ, ሶስት JLabel ኤለመንቶች (የጽሑፍ መለያዎች), ሶስት JTextField ኤለመንቶች (የጽሑፍ መስኮች) እና ሶስት JButton አካላት (አዝራሮች) ተጨምረዋል. ከዚህ ቀደም ከጂአይአይ ዲዛይነር ጋር ሰርተህ የማታውቅ ከሆነ፣ ስለ አካል አቀማመጥ መረጃ በNetBeans IDE ውስጥ የስዊንግ GUI ዲዛይን ተመልከት።

ከላይ ያሉትን ንጥረ ነገሮች ጎትተው ካስቀመጡ በኋላ፣ የJFrame ኤለመንት ከታች ያለውን ምስል መምሰል አለበት።

በ IDE በላይኛው ቀኝ ጥግ ላይ የፓልቴል መስኮት ከሌለ መስኮት > ቤተ-ስዕል የሚለውን ይምረጡ።

  1. ለመጀመር በፓልቴል ውስጥ ካለው የስዊንግ ኮንቴይነሮች ምድብ ውስጥ አንድ ፓነል ይምረጡ እና ወደ JFrame ይጎትቱት።
  2. JPanel ይደምቃል። የድንበር ዘይቤን ለመምረጥ ወደ ባሕሪያት መስኮቱ ይሂዱ እና ከጠረፍ መስኩ ቀጥሎ ያለውን የኤሊፕስ ቁልፍ (...) ጠቅ ያድርጉ።
  3. በድንበር የንግግር ሳጥን ውስጥ ከዝርዝሩ ውስጥ TitledBorder የሚለውን ይምረጡ እና በርዕስ መስኩ ውስጥ የቁጥር መደመርን ያስገቡ። ለውጦችዎን ለማስቀመጥ "እሺ" ን ጠቅ ያድርጉ እና የንግግር ሳጥኑን ይዝጉ።
  4. ስክሪኑ አሁን በምስሉ ላይ እንደሚታየው ባዶ "JFrame" ኤለመንት ማሳየት አለበት "ቁጥር መደመር" የሚል ርዕስ ያለው። በሥዕሉ ላይ እንደሚታየው፣ ሦስት JLabels፣ ሦስት JTextFields እና ሦስት JButtonን በእሱ ላይ ይጨምሩ።

አባሎችን እንደገና በመሰየም ላይ

ይህ እርምጃ ወደ JFrame ኤለመንቱ የተጨመሩትን ንጥረ ነገሮች እንደገና ይሰየማል።

  1. jLabel1 ን ሁለቴ ጠቅ ያድርጉ እና ntrcn ("ጽሑፍ" ንብረት) ወደ መጀመሪያ ቁጥር ይለውጡ።
  2. jLabel2 ን ሁለቴ ጠቅ ያድርጉ እና ጽሑፉን ወደ ሁለተኛ ቁጥር ይለውጡ።
  3. jLabel3 ን ሁለቴ ጠቅ ያድርጉ እና ጽሑፉን ወደ ውጤት ይለውጡ።
  4. ነባሪውን ጽሑፍ ከ jTextField1 ያስወግዱ። የሚታየው ጽሑፍ ወደ አርትዖት ጽሑፍ ሊቀየር ይችላል። ይህንን ለማድረግ የጽሑፍ መስኩን በቀኝ ጠቅ ያድርጉ እና በብቅ ባዩ ምናሌ ውስጥ "ጽሑፍን ያርትዑ" ን ይምረጡ። ይህ jTextField1ን ወደ መጀመሪያው መጠን እንዲመልሱ ሊፈልግ ይችላል። ይህንን እርምጃ ለ jTextField2 እና jTextField3 መስኮች ይድገሙት።
  5. የ jButton1ን የማሳያ ጽሑፍ ወደ አጽዳ ይለውጡ። (የአዝራሩን ጽሑፍ ለመቀየር በቀኝ መዳፊት አዘራር ጠቅ ያድርጉ እና ጽሑፍን አርትዕ የሚለውን ይምረጡ። በአማራጭ፣ አዝራሩን ጠቅ ያድርጉ፣ ለአፍታ ያቁሙ እና እንደገና ጠቅ ያድርጉ።)
  6. የ jButton2ን የማሳያ ጽሑፍ ወደ ማከል ይለውጡ።
  7. የ jButton3 የማሳያ ጽሑፍን ወደ ውጣ ቀይር።

አሁን የተጠናቀቀው GUI ከታች ያለውን ምስል መምሰል አለበት፡-

መልመጃ 3፡ ተግባራዊነትን መጨመር

ይህ መልመጃ የሚፈለገውን ተግባር ወደ አክል፣ አጽዳ እና መውጫ አዝራሮች ይጨምራል። መስኮች jTextField1 እና jTextField2 ለተጠቃሚ ግብአት ጥቅም ላይ ይውላሉ፣ እና jTextField3 የፕሮግራሙን ውጤት ለማሳየት ይጠቅማሉ። የተፈጠረው ፕሮግራም ቀላል ካልኩሌተር ነው። ስለዚህ እንጀምር!

ወደ ውጣ አዝራር ተግባራዊነትን በማከል ላይ

አዝራሮቹ ተግባራዊ እንዲሆኑ እያንዳንዳቸው የክስተቱን ተቆጣጣሪ መመደብ አለባቸው, ይህም ለክስተቶች ምላሽ የመስጠት ሃላፊነት አለበት. በእኛ ሁኔታ, የመዳፊትን ጠቅ በማድረግ ወይም የቁልፍ ሰሌዳውን በመጠቀም - የአዝራሩን ክሊክ ክስተት መለየት አለብን. ስለዚህ የ"ActionListener" በይነገጽ "ActionEvent" ክስተቶችን ለማስተናገድ ጥቅም ላይ ይውላል።

  1. "ውጣ" የሚለውን ቁልፍ በቀኝ ጠቅ ያድርጉ። በብቅ ባዩ ምናሌ ውስጥ ክስተቶች > ድርጊት > ድርጊት ተፈጽሟል የሚለውን ይምረጡ። እባክዎን ምናሌው ፕሮግራሙ ምላሽ ሊሰጣቸው የሚችሉ ሌሎች ብዙ ዝግጅቶችን እንደያዘ ልብ ይበሉ! አክሽን የተከናወነውን ክስተት ሲመርጡ IDE በራስ ሰር አክሽን አድማጭን ወደ መውጫው ቁልፍ ያክላል እና የተግባር ሰሚውን ዘዴ ለመቆጣጠር ተቆጣጣሪ ዘዴ ይፈጥራል።
  2. አይዲኢው በራስ ሰር የምንጭ ኮድ መስኮቱን ይከፍታል፣ አዝራሩን ሲጫኑ (በአይጥ ወይም በቁልፍ ሰሌዳ) እንዲሰራ የሚፈልጉትን ተግባር የት እንደሚያስገቡ ያሳየዎታል። የ"ምንጭ ኮድ" መስኮት የሚከተሉትን መስመሮች መያዝ አለበት፡ የግል ባዶ jButton3ActionPerformed(java.awt.event.ActionEvent evt) (//TODO የእርስዎን አያያዝ ኮድ እዚህ ያክሉ፡)
  3. አሁን የ"ውጣ" ቁልፍ ማከናወን ያለበትን ተግባር ኮድ እንጨምር። የ TODO መስመርን በ System.exit (0) ይተኩ; . ለ"ውጣ" ቁልፍ የተጠናቀቀው ኮድ ይህን መምሰል አለበት፡ የግል ባዶ jButton3ActionPerformed(java.awt.event.ActionEvent evt) (System.exit(0))

ተግባራዊነትን ወደ "አጽዳ" ቁልፍ ማከል

  1. የ"ክሊር" ቁልፍን (jButton1) በቀኝ ጠቅ ያድርጉ። ከሚታየው ምናሌ ውስጥ "ክስተቶች> ድርጊት> ድርጊት ተፈጽሟል" የሚለውን ይምረጡ.
  2. የ"ክሊር" ቁልፍን ጠቅ ማድረግ ሁሉም ጽሑፎች ከሁሉም "jTextField" የጽሑፍ መስኮች እንዲወገዱ ማድረግ አለበት. ይህንን ለማድረግ, ከላይ ካለው ጋር ተመሳሳይ የሆነ ኮድ ያክሉ. የተጠናቀቀው ምንጭ ኮድ ይህን መምሰል አለበት፡ የግል ባዶ jButton1ActionPerformed(java.awt.event.ActionEvent evt)(jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText("");)

ይህ ኮድ ከሦስቱም JTextFields ጽሑፍ ያስወግዳል፣ ባዶ ይተዋቸዋል።

ተግባራዊነትን ወደ "አክል" ቁልፍ በማከል ላይ

የ "አክል" ቁልፍ ሶስት ነገሮችን ማድረግ አለበት.

  1. በመጀመሪያ የተጠቃሚውን ግብአት በ jTextField1 እና jTextField2 መስኮች ወስዶ ከ"ሕብረቁምፊ" አይነት ወደ "Float" አይነት ይቀይራቸዋል።
  2. ከዚያም የሁለቱን ቁጥሮች መጨመር ያከናውናል.
  3. በመጨረሻም, ድምርን ወደ String ይለውጠዋል እና በ jTextField3 ውስጥ ያስቀምጠዋል.
እንጀምር!
  1. ወደ የቅጽ ዲዛይን ማያ ገጽ ለመመለስ በስራ ቦታው አናት ላይ ያለውን የንድፍ ትርን ጠቅ ያድርጉ።
  2. "አክል" ቁልፍን (jButton2) በቀኝ ጠቅ ያድርጉ። በብቅ ባዩ ምናሌ ውስጥ ክስተቶች > ድርጊት > ድርጊት ተፈጽሟል የሚለውን ይምረጡ።
  3. የ"አክል" ቁልፍ ሊያከናውናቸው የሚገቡትን ድርጊቶች ኮድ ያክሉ። የተጠናቀቀው ምንጭ ኮድ ይህን መምሰል አለበት፡ የግል ባዶ jButton2ActionPerformed(java.awt.event.ActionEvent evt)(// በመጀመሪያ የምንለዋወጥ ተለዋዋጮችን እንገልፃለን። num1 = Float.parseFloat (jTextField1.getText ()) num2 = Float.parseFloat (jTextField2.getText ()) ; የውጤቱን ዋጋ ከተንሳፋፊ ወደ ሕብረቁምፊ እንቀይራለን jTextField3.set ጽሑፍ

አሁን ፕሮግራሙ ሙሉ በሙሉ ዝግጁ ነው, እና እሱን መሰብሰብ እና ማከናወን መጀመር ይችላሉ.

መልመጃ 4፡ ፕሮግራሙን ማስፈጸም

ፕሮግራሙን በ IDE ውስጥ ለማስኬድ የሚከተሉትን ደረጃዎች ይከተሉ።

  1. Run> Run Main Project የሚለውን ይምረጡ (በአማራጭ F6 ን ይጫኑ)።

    ማስታወሻ.የፕሮጀክት ቁጥር አድዲሽን ዋና ክፍል እንደሌለው የሚያመለክት መስኮት ከከፈቱ፣ በተመሳሳይ መስኮት ውስጥ my.NumberAdition.NumberAditionUI እንደ ዋናው ክፍል ምረጥ እና እሺን ጠቅ አድርግ።

ፕሮግራሙን ከ IDE ውጭ ለማሄድ የሚከተሉትን ደረጃዎች ይከተሉ።

ከጥቂት ሰከንዶች በኋላ አፕሊኬሽኑ ይጀምራል.

ማስታወሻ.የJAR ፋይልን ሁለቴ ጠቅ ማድረግ አፕሊኬሽኑን ካላስጀመረው ለበለጠ መረጃ የJAR ፋይል ማህበሮችን በስርዓተ ክወናዎ ላይ ይመልከቱ።

እንዲሁም አፕሊኬሽኑን ከትእዛዝ መስመር ማሄድ ይችላሉ።

መተግበሪያውን ከትዕዛዝ መስመሩ ለማሄድ የሚከተሉትን ደረጃዎች ይከተሉ።

  1. የትእዛዝ ጥያቄን ወይም ተርሚናል መስኮትን ይክፈቱ።
  2. በትዕዛዝ መጠየቂያው ላይ የአሁኑን ማውጫ ወደ NumberAddition/dist directory ቀይር።
  3. በትዕዛዝ መጠየቂያው ላይ የሚከተለውን መግለጫ ያስገቡ: java -jar NumberAdition.jar

    ማስታወሻ.አፕሊኬሽኑን ከማስኬድዎ በፊት my.NumberAdition.NumberAdditionUI እንደ ዋና ክፍል መዘጋጀቱን ያረጋግጡ። ይህንን ለመፈተሽ በፕሮጀክቶች ፓነል ውስጥ ያለውን የቁጥር አዲሽን ፕሮጄክት መስቀለኛ መንገድን በቀኝ ጠቅ ያድርጉ ፣ በብቅ ባዩ ሜኑ ውስጥ Properties የሚለውን ይምረጡ እና በፕሮጄክት ባህሪዎች የንግግር ሳጥን ውስጥ ያለውን የሩጫ ምድብ ይምረጡ ። የዋናው ክፍል መስክ my.numberaddition.NumberAditionUI ን ማሳየት አለበት።

የክስተት ማቀነባበሪያ ሞተር

ይህ አጋዥ ስልጠና ለቀላል የአዝራር ጠቅታ ክስተት ምላሽ ሰጥቷል። አፕሊኬሽኑ ምላሽ ሊሰጣቸው የሚችላቸው ብዙ ክስተቶች አሉ። በ IDE ውስጥ፣ በGUI አካላት ሊከናወኑ የሚችሉ ያሉትን ክስተቶች ዝርዝር እንደሚከተለው ማየት ይችላሉ።

  1. በአርታዒው ውስጥ ወዳለው የ NumberAditionUI.java ፋይል ​​ይመለሱ። በ GUI Builder ውስጥ ያለውን የ GUI መዋቅር ለማየት የ"ንድፍ" ትሩን ጠቅ ያድርጉ።
  2. ማንኛውንም የ GUI አባል በቀኝ ጠቅ ያድርጉ እና ከሚታየው ምናሌ ውስጥ "ክስተቶች" ን ይምረጡ። አሁን ምንም ንጥሎችን ሳይመርጡ የሜኑ ይዘቶችን በቀላሉ ማሰስ ይችላሉ።
  3. በአማራጭ, በ "መስኮት" ምናሌ ውስጥ "Properties" የሚለውን መምረጥ ይችላሉ. በንብረቶች መስኮቱ ውስጥ የክስተት ትርን ጠቅ ያድርጉ። የ"ክስተቶች" ትሩ አሁን ካለው GUI አባል ጋር የተጎዳኙ የክስተት ተቆጣጣሪዎችን እንዲመለከቱ እና እንዲቀይሩ ያስችልዎታል።
  4. አፕሊኬሽኑ ለቁልፍ ማተሚያዎች፣ ነጠላ፣ ድርብ ወይም ሶስት ጠቅታዎች፣ የመዳፊት ጠቋሚ እንቅስቃሴዎች፣ የመስኮት መጠን መቀየር እና የግቤት የትኩረት እንቅስቃሴዎች ምላሽ መስጠት ይችላል። የ"ክስተቶች" ሜኑ ለእነዚህ ሁሉ ክስተቶች የክስተት ተቆጣጣሪዎችን በራስ ሰር እንዲፈጥሩ ይፈቅድልዎታል። ከእነዚህ ውስጥ በጣም የተለመደው "ድርጊት" ክስተት ነው. (ለበለጠ መረጃ፣በፀሐይ ጃቫ ዝግጅቶች ማጠናከሪያ ትምህርት ውስጥ ክስተቶችን እንዴት እንደሚይዙ ይመልከቱ።)

ክንውኖች እንዴት ይስተናገዳሉ? አንድን ክስተት ከክስተቱ ሜኑ በመረጡ ቁጥር አይዲኢው በራስ ሰር የክስተት አዳማጭ የሚባለውን ይፈጥራል እና ከገንቢው አካል ጋር ያገናኘዋል። ስለክስተት ሂደት የበለጠ ለማወቅ እነዚህን ደረጃዎች ይከተሉ፡-

  1. በአርታዒው ውስጥ ወዳለው የ NumberAditionUI.java ፋይል ​​ይመለሱ። የ GUI ምንጭ ኮድ ለማየት "ምንጭ" የሚለውን ትር ጠቅ ያድርጉ።
  2. የተተገበሩትን jButton1ActionPerformed()፣ jButton2ActionPerformed() እና jButton3ActionPerformed() ዘዴዎችን ለማየት ወደ ታች ይሸብልሉ። እነዚህ ዘዴዎች የክስተት ተቆጣጣሪዎች ይባላሉ.
  3. አሁን ወደ initComponents() ዘዴ ይሂዱ። ይህ ዘዴ ከጠፋ የመነጨ ኮድ መስመርን ይፈልጉ እና የተደበቀውን initComponents() ዘዴን ለማሳየት ከዚያ መስመር ቀጥሎ ያለውን + ምልክት ጠቅ ያድርጉ።
  4. በ initComponents() ዘዴ ዙሪያ ያለውን ሰማያዊ ብሎክ አስተውል። ይህ ኮድ በራስ-ሰር በIDE የመነጨ ነው እና በተጠቃሚው ሊስተካከል አይችልም።
  5. አሁን የ initComponents() ዘዴን ራሱ ይመልከቱ። ከሌሎች ነገሮች በተጨማሪ የ GUI አካላትን የሚያስጀምር እና በቅጹ ላይ የሚያስቀምጥ ኮድ ይዟል። ይህ ኮድ በንድፍ ሁነታ ላይ ክፍሎችን ሲያስቀምጡ እና ሲቀይሩ በራስ-ሰር ይዘጋጃል።
  6. በ initComponents () ዘዴ ውስጥ የሚከተለውን ቅንጭብ ያግኙ jButton3.setText("ውጣ"); jButton3.addActionListener(አዲስ java.awt.event.ActionListener() (የወል ባዶ ተግባር አፈጻጸም)(java.awt.event.ActionEvent evt)

    በዚህ ጊዜ የ"ActionListener" የክስተት ሰሚ ነገር ወደ GUI ኤለመንት ይታከላል፣ በዚህ አጋጣሚ jButton3 . የ"ActionListener" በይነገጽ በ"ActionEvent" ነገር ላይ "Action Performed" ዘዴ አለው፣ ይህም በቀላሉ jButton3ActionPerformed ክስተት ተቆጣጣሪውን በመደወል ተግባራዊ ይሆናል። ይህ አዝራር አሁን ለድርጊት ክስተቶች ምላሽ ይሰጣል። ቁልፉ በተነካ ቁጥር "ActionEvent" ይመነጫል እና ወደ "Action Performed" የክስተት አድማጭ በይነገጽ ዘዴ ይተላለፋል፣ ይህም ገንቢው ለዝግጅቱ ተቆጣጣሪ ያቀረበውን ኮድ ያስፈጽማል።

  7. Java GUI መተግበሪያዎች የመማሪያ ካርድ

የ GUI ደረጃ

በኮምፒተር ኢንዱስትሪ ውስጥ በጣም አስፈላጊ ከሆኑት ለውጦች አንዱ የግራፊክ በይነገጽ መምጣት ነው። ስለዚህ የዊንዶውስ አፕሊኬሽኖች ምን መምሰል እንዳለባቸው የሚገልጹ የ GUI ደረጃዎችን መቀበል ያስፈልጋል? ማኪንቶሽ ወዘተ. የዊንዶውስ ባጅ ለማግኘት አቅራቢዎች አፕሊኬሽናቸውን የሚያበጁ የእውቅና ማረጋገጫ ፕሮግራሞችም አሉ። ይህ የሚደረገው በብዙ ምክንያቶች ነው።

የዊንዶው ወይም ማክ ጥቅሞች አንዱ መደበኛ ገጽታቸው ነው. ከመካከላቸው በአንዱ ውስጥ መሥራትን ከተማሩ በኋላ የቀረውን እንደ ተቆጣጠሩ ያስቡ. አብዛኛዎቹ የዊንዶውስ አፕሊኬሽኖች አንድ አይነት የውል ስምምነቶችን ይጠቀማሉ፣ ስለዚህ በማንኛቸውም ውስጥ ፋይልን እንዴት መክፈት፣ ማስቀመጥ፣ ማተም፣ መዝጋት እና መቅዳት እንደሚችሉ ያውቃሉ። መደበኛ በይነገጽ በጣም ለተጠቃሚ ምቹ ነው። አፕሊኬሽኖችዎን ከሌሎች የዊንዶውስ አፕሊኬሽኖች ጋር እንዲመሳሰሉ ለማድረግ መሞከር አለቦት። ለ GUI ንድፍ ሰባት አጠቃላይ መርሆዎች አሉ። ከተማሯቸው እና ከተከተሏቸው፣ የመተግበሪያዎ ዲዛይን ጥሩ ይሆናል።

ሰባት የ GUI ንድፍ መርሆዎች.

ሰባቱ የ GUI ንድፍ አጠቃላይ መርሆዎች የተወሰዱት ከማይክሮሶፍት ዊንዶውስ በይነገጽ መመሪያ ነው። የእራስዎን መመዘኛዎች መፍጠር የሚችሉበት ንድፍ ይመሰርታሉ. ይህ ንድፍ ገንቢዎችን እና ተጠቃሚዎችን ሁለት ጉልህ ጥቅሞችን ይሰጣል። በመጀመሪያ ደረጃ, መተግበሪያዎቹ ሙያዊ ይመስላሉ. ሁለተኛ፣ እነሱ የሚሰሩ፣ ከሌሎች መተግበሪያዎች ጋር የሚጣጣሙ እና ለተጠቃሚዎች ለመማር ቀላል ናቸው።

እርግጥ ነው, አንድ መተግበሪያ ስኬታማ እንዲሆን በደንብ የተጻፈ እና ጠቃሚ መሆን አለበት - እነዚህ ዋና ዋና መስፈርቶች ናቸው. የምንነጋገራቸው መርሆዎች በቀላሉ ለገንቢው ምግብ ይሰጣሉ.

1. ተጠቃሚው መተግበሪያውን እንዲቆጣጠር ፍቀድለት።

2. የነገሩን/የድርጊት ዘይቤን ተከተል።

3. ወጥነት ያለው ይሁኑ።

4. አፕሊኬሽኖችን በመጠቀም ቀላል እና ግልጽ ያድርጉ።

5. ለመስማማት ጥረት አድርግ።

6. የተጠቃሚ አስተያየት ይስጡ.

7. ገር ሁን

መርህ አንድ፡ በመተግበሪያው ላይ ለተጠቃሚው ቁጥጥር ይስጡት።

ተጠቃሚው አፕሊኬሽኑን መቆጣጠር አለበት፣ ማለትም፣ ከሌላ ማንኛውም ሞጁል ወደ እያንዳንዱ መተግበሪያ ሞጁል መድረስ አለበት። ከዚህ ቀደም ለእንደዚህ አይነት መዳረሻ ተዋረዳዊ ሜኑ ጥቅም ላይ ውሏል።


ተጠቃሚው አዲስ ደንበኛ ማከል ይፈልጋል እንበል በምሳሌው ተጠቃሚው ወደ ACCOUNTS RECCIEVable ሞጁል መሄድ እና ከዚያ አዲስ ደንበኛ ማከል አለበት። ምን ማድረግ እንዳለበት እንዴት ያውቃል? ምናልባት በዚህ መተግበሪያ ካለኝ ልምድ። እና በ GUI አለም ተጠቃሚው በቀላሉ ከምናሌው አዲሱን ትዕዛዝ ይመርጣል ከዚያም ደንበኛን ይመርጣል በስእል. በዚህ ዘመናዊ ስርዓት አዲስ ደንበኛ፣ ሻጭ ወይም የእቃ ዝርዝር በፋይል ሜኑ በኩል ማከል ይችላሉ። ይህ በነጋዴው ማያ ገጽ ላይ እና በተቃራኒው የደንበኛ መዝገብ እንዲቀይሩ ያስችልዎታል. ተጠቃሚው ከአሁን በኋላ ውስብስብ እና ግራ የሚያጋቡ የተዋረድ ምናሌዎችን ማሰስ አያስፈልገውም።

መርህ ሁለት፡ የነገሩን/የድርጊት ዘይቤን ተከተል።

የነገሩ/የድርጊት ፓራዳይም አንዳንድ ክዋኔዎች በስርዓቱ ውስጥ ባሉ ሁሉም ነገሮች ላይ ሊከናወኑ እንደሚችሉ ይገልጻል። በጣም ቀላሉ እና በጣም ግልፅ ምሳሌ የደንበኛ የውሂብ ጎታ ድጋፍ ማያ ገጽ (ምስል) ነው። ማያ ገጹ የአዝራሮች ስብስብ ይዟል እና እያንዳንዱ የታችኛው ክፍል ስለተመረጠው ደንበኛ መረጃ ላይ አንዳንድ እርምጃዎችን እንዲፈጽሙ ያስችልዎታል. ሊሰርዙት፣ ሊያርትሙት፣ ሊያትሙት፣ ወዘተ ይችላሉ። በአንድ የተወሰነ ደንበኛ ላይ ሊደረጉ የሚችሉ ድርጊቶች በተገቢው ጊዜ ሊገኙ ወይም ሊገኙ የማይችሉ መሆን አለባቸው. ለምሳሌ፣ የደንበኛ መዝገብ በአርትዖት ሁነታ ላይ ሲሆን ሰርዝ እና አዲስ አዝራሮች መሰናከል አለባቸው።

መርህ ሶስት፡ ወጥነት ያለው መሆን።

ወጥነት የ GUI ንድፍ በጣም አስፈላጊ ከሆኑ መርሆዎች አንዱ ነው. GUIs - ተጠቃሚዎች ከቆዩ ፕሮግራሞች የበለጠ ብዙ መተግበሪያዎችን እንዲያስሱ ያስችላቸዋል። እና ይህ ሁሉ ለተረጋጋ መርህ ምስጋና ይግባው. አንድ ተጠቃሚ አዲስ አፕሊኬሽን ሲያጋጥመው ከመሰረታዊ ትእዛዞች ጋር ያውቃል፡ ፋይሎችን መክፈት፣ ማተም እና ማስቀመጥ። በእነዚህ መድረኮች ላይ የተገነቡ መተግበሪያዎች አብዛኛውን ጊዜ እርስ በርስ የሚጣጣሙ ናቸው.

ስለዚህ አዳዲስ መተግበሪያዎችን ሲፈጥሩ ወጥነት ያለው ይሁኑ። አዲስ ግቤት ለመጨመር አዲሱን ትዕዛዝ ከተጠቀሙ በሁሉም ቦታ ይጠቀሙበት። ይህ ቃል በሌሎች መተካት የለበትም - ለምሳሌ 9 አክል በሚለው ቃል)። ለእርስዎ ወጥነት ምስጋና ይግባውና ተጠቃሚዎች አዲሱን ትዕዛዝ በሚያገኙበት በማንኛውም ቦታ አዲስ ግቤት ለመጨመር ጥቅም ላይ ሊውል እንደሚችል ያውቃሉ።

መርህ አራት፡ አፕሊኬሽኑን መጠቀም ቀላል እና ግልጽ ማድረግ።

ይህንን ሃሳብ የሚገልጽበት ሌላው መንገድ: ጃርጎን አይጠቀሙ. ሁለት አዝራሮች ያሉት ማያ ገጽ አለ. ከመካከላቸው አንዱ "መረጃ ቋቱን ያሽጉ" ይላል, ሌላኛው ደግሞ "ለመሰረዝ ምልክት የተደረገባቸውን መዝገቦች አስወግድ" ይላል. ሁለተኛው ግቤት ለተጠቃሚው የበለጠ ሊረዳው ይችላል።

አፕሊኬሽኖችን በሚገነቡበት ጊዜ በበይነገጽ ውስጥ የፕሮግራም ሰሪ ቃላትን ለመጠቀም ብዙ ጊዜ ፈተና አለ። ከተቻለ ይህንን ለማስወገድ ይሞክሩ.

መርህ አምስት፡ ለመስማማት መጣር

በጥቁር እና በነጭም ቢሆን, ይህ ማያ ገጽ ጉልህ የሆነ የውበት ጉድለት አለው: ነጭ ዳራ በላዩ ላይ ተቃራኒ እቃዎች. በስእል. ተመሳሳዩ ማያ ገጽ በጥሩ ሁኔታ የተመጣጠነ ቀለም-ጥበብ ይመስላል.

ወደ ዊንዶውስ ማስተላለፍ የሚችሏቸው በሚሊዮኖች የሚቆጠሩ የቀለም ቅንጅቶች አሉ። ይህ ማለት ሁሉም ጥቅም ላይ መዋል አለባቸው ማለት ነው? በእርግጥ አይደለም. ቀላል ፣ የተረጋጋ ቀለሞችን መምረጥ እና የተዘበራረቀ ውህደትን ማስወገድ አለብዎት ፣ ይህም በሆነ ምክንያት አንዳንድ ፕሮግራመሮች ይወዳሉ።

መርህ ስድስት. ለተጠቃሚው ግብረ መልስ ይስጡ።

ማመልከቻዎ ለመፈፀም ረጅም ጊዜ የሚወስድ ሂደት እንዳለው አስቡት። በዚህ ጊዜ “ፕሮግራሙ እየሄደ ነው፣ እባክዎን ይጠብቁ” የሚል መልእክት በስክሪኑ ላይ በሚከተለው ይዘት ማሳየት ይችላሉ። ምቹ መፍትሄ; ግን ተጠቃሚው እንዳልቀዘቀዘ እንዴት ያውቃል? ስለዚህ, እሱ ማመልከቻውን "የሶስት ጣት ሰላምታ" (Ctrl + Alt + Del) ሊሰጥ ይችላል, ምንም እንኳን ሁሉም ነገር በፕሮግራሙ ጥሩ ይሆናል.

የትኛው የሂደቱ ክፍል እንደተጠናቀቀ ለተጠቃሚው ማሳየቱ የተሻለ ነው። ከዚያም ሳያስፈልግ ፕሮግራሙን አያቋርጥም, ስራው ምን ያህል እንደቀጠለ ለመገምገም እና ሂደቱ እስኪጠናቀቅ ድረስ ሌሎች ነገሮችን ያደርጋል. ስለዚህ የተጠቃሚው ምርታማነት በግምት በ25 በመቶ ይጨምራል። ይህ ውጤት በቀላሉ በስክሪኑ ላይ ያለውን መለኪያ በማሳየት ሊገኝ ይችላል. በተለምዶ እንደ "10 ከ 100 መዛግብት ተከናውነዋል" ወይም "40% ተጠናቅቋል" ያሉ መልዕክቶች ይታያሉ. በጣም የተሻለው ሁለቱንም የተቀነባበሩትን መዝገቦች ብዛት እና በመቶኛ ማሳየት ነው።

መርህ ሰባት፡ ይቅር ባይ ሁን

እያንዳንዳችን አንዳንድ ጊዜ የተሳሳተውን ቁልፍ በመጫን ፖስት ሰርዘነዋል። ስለዚህ ተጠቃሚው ሃሳቡን እንዲቀይር ወይም አሁን የተወሰዱትን እርምጃዎች እንዲሰርዝ እድል ይስጡት። አንድ ሂደት ረጅም ጊዜ የሚወስድ ከሆነ ፣ ብዙ ውሂብን ከቀየረ ፣ ወይም ተጠቃሚው አንድን ተግባር ከመፈጸሙ በፊት የውሂብ ምትኬ እንዲያስቀምጥ የሚፈልግ ከሆነ ፣ ሁለት ጊዜ ማረጋገጫ የሚሹ መተግበሪያዎችን አይቻለሁ እና የይለፍ ቃል ይጠይቁ። ፕሮግራሞችዎ ይህንን የጥበቃ ደረጃ ይፈልጋሉ? ምናልባት። የገንቢው ተግባር በማንኛውም የስራ ደረጃ ላይ ስህተት ከሰራ ተጠቃሚውን መርዳት ነው።

የ GUI መደበኛ ስምምነቶች አስፈላጊነት።

እንደሚመለከቱት, የ GUI ንድፍ መርሆዎች በጣም ቀላል ናቸው እና ማያ ገጾችን ሲፈጥሩ ጥቅም ላይ መዋል አለባቸው. ነገር ግን, ማያ ገጹን ከመንደፍዎ በፊት, ምን እንደሚመስል መመስረት ያስፈልግዎታል. መጠኖቹን ፣ ቅርጸ-ቁምፊዎቹን ፣ ቀለሞችን ፣ የመልእክት ዘይቤዎቹን ፣ ወዘተ ይምረጡ። እነዚህን ጉዳዮች አስቀድመው በመፍታት ስራዎን በከፍተኛ ሁኔታ ያፋጥኑታል. በኋላ ላይ ወደ ቅርጸ-ቁምፊ ወይም የመልእክት ዘይቤ ሲመጣ፣ ደረጃውን ብቻ ነው የሚመለከቱት።

ደንብ 2፡ የተጠቃሚን ሸክም ይቀንሱ

ደንብ 3: በይነገጹ ተስማሚ እንዲሆን ያድርጉ

መመሪያዎች

ሥርዓታማ ጅምር ሜኑ ፕሮግራም

ማጠቃለያ

ስነ-ጽሁፍ

መግቢያ

"ወርቃማው የንድፍ ህግ:" በሌሎች ላይ ያደረጉትን በፍፁም አታድርጉ። ”

ትሬሲ ሊዮናርድ

ለምን የተጠቃሚ በይነገጽ ንድፍ መርሆዎችን መከተል አለብዎት?

ሶፍትዌሩ የተጠቃሚውን መስፈርቶች እና ፍላጎቶች ከግምት ውስጥ በማስገባት መፈጠር አለበት - ስርዓቱ ከተጠቃሚው ጋር መላመድ አለበት። ለዚህም ነው የንድፍ መርሆዎች በጣም አስፈላጊ የሆኑት.

የኮምፒዩተር ተጠቃሚዎች በችሎታቸው ላይ እምነት የሚፈጥሩ እና ከኮምፒዩተር ጋር በሚሰሩበት ጊዜ ለራሳቸው ከፍ ያለ ግምት እንዲሰጡ የሚያደርጉ ስኬታማ ተሞክሮዎች ሊኖራቸው ይችላል። ከኮምፒዩተር ጋር የሚያደርጉት ድርጊት "ስኬት ስኬትን ይወልዳል" ተብሎ ሊገለጽ ይችላል. በፕሮግራሙ ላይ ያለው እያንዳንዱ አዎንታዊ ተሞክሮ ተጠቃሚው ከሶፍትዌሩ ጋር ያለውን ግንዛቤ እንዲያሰፋ እና የችሎታ ደረጃውን እንዲያሳድግ ያስችለዋል። በጥሩ ሁኔታ የተነደፈ በይነገጽ፣ ልክ እንደ ጥሩ አስተማሪ እና የመማሪያ መጽሐፍት፣ በተጠቃሚ እና በኮምፒዩተር መካከል ፍሬያማ የሆነ መስተጋብርን ያረጋግጣል። የተሳካላቸው በይነገጽ አንድ ሰው ከሚጠቀምባቸው የተለመዱ ፕሮግራሞች ወጥቶ አዳዲሶችን እንዲያገኝ፣ በይነገጽ እና ኮምፒውተሮች እንዴት እንደሚሰሩ ያለውን ግንዛቤ እንዲጨምር ሊረዱት ይችላሉ።

የበይነገጽ ንድፍ መርሆዎች በሶፍትዌር ዲዛይን ውስጥ ጥቅም ላይ ሊውሉ የሚችሉ ከፍተኛ ደረጃ ፅንሰ ሀሳቦች እና እይታዎች ናቸው። የትኛው መርህ ለእርስዎ ስርዓት በጣም አስፈላጊ እና ተቀባይነት ያለው እንደሆነ መወሰን ያስፈልግዎታል.

ንድፍ ሲጀምሩ, ስምምነቶችን በሚፈልጉበት ጊዜ ወሳኝ የሚሆነውን በጣም አስፈላጊ የሆነውን መርህ ማጉላት አስፈላጊ ነው. ሁሉንም የንድፍ መርሆችን ለመከተል መሞከር በአንዳንድ ሁኔታዎች ዋጋ የማይሰጥ እና በመጨረሻው ውጤት ላይ አሉታዊ ተጽእኖ ሊያስከትል ይችላል. መርሆዎች ለድርጊት መመሪያ ናቸው.

ሦስቱ የተጠቃሚ በይነገጽ ንድፍ መርሆዎች እንደሚከተለው ተዘጋጅተዋል-

1) የበይነገጽ የተጠቃሚ ቁጥጥር;

2) የተጠቃሚ ማህደረ ትውስታ ጭነት መቀነስ;

3) የተጠቃሚ በይነገጽ ወጥነት።

የተጠቃሚ በይነገጽ ንድፍ መርሆዎች የት እንደሚገኙ

ሃንሰን የመጀመሪያውን የንድፍ መርሆዎች ዝርዝር አቅርቧል. መርሆቹ፡-

1) ተጠቃሚውን ማወቅ;

2) የማስታወስ ችሎታን ይቀንሱ;

3) ስራዎችን ማመቻቸት;

4) ስህተቶችን ያስወግዱ.

ብዙ ዋና ኦፕሬቲንግ ሲስተም አምራቾች አዲሶቹን ምርቶቻቸውን ለገበያ ሲለቁ ተዛማጅ መመሪያዎችን እና መመሪያዎችን ያትማሉ። እነዚህ ህትመቶች የበይነገጽ ንድፍ አቀራረብን መርሆዎች ያሳያሉ. መመሪያዎቹ የተዘጋጁት በ Apple Computer, Inc. (1992)፣ IBM ኮርፖሬሽን (1992)፣ ማይክሮሶፍት ኮርፖሬሽን (1995) እና UNIX OSF/Motif (1993)።

አንባቢዎች እነዚህን ጽሑፎች እንደ የማስተማሪያ እርዳታ ሊጠቀሙባቸው ይችላሉ። የበይነገጽ ቃላቶች በመመሪያዎች መካከል ሊለያዩ ይችላሉ፣ ነገር ግን የቁሱ ትኩረት፣ ውስብስብነት ደረጃ እና የተገለጹት የተጠቃሚ በይነገጽ መርሆዎች ለሁሉም መጽሃፎች ተመሳሳይ ናቸው።

የመከተል መርሆዎች አስፈላጊነት

"በይነገጽ ተኳሃኝ አለመሆን አንድ ትልቅ ኩባንያ በሚሊዮን የሚቆጠር ዶላር ለጠፋ ምርታማነት እና ለድጋፍ ወጪዎች መጨመር ይችላል." - ጄሲ ብሪስት።

እነዚህ መርሆች በሁሉም የሶፍትዌር እና ሃርድዌር፣ በሁሉም የበይነገሮች አይነቶች እና ቅጦች ላይ ተፈጻሚ ይሆናሉ። እነሱ ለረጅም ጊዜ የተገነቡ ናቸው-በሶፍትዌር በይነገጽ መስክ ላይ ምርምር ተካሂዶ ነበር ፣ ልማት ተካሂዷል እና ማኪንቶሽ እና ፒሲ ጨምሮ የብዙ የኮምፒተር መድረኮች ተጠቃሚዎች ዳሰሳ ተደርጓል።

እነዚህ መርሆዎች በጊዜ እና በአዳዲስ የኮምፒዩተር ቴክኖሎጂዎች መፈጠር ላይ ፈተና ቆይተዋል. ጃኮብ ኒልሰን እንዲህ ብለዋል፡- “ፕሮግራሙ ለግቤት፣ ለእንቅስቃሴ ማወቂያ እና ለቀጥታ የቪዲዮ ምስሎች የወደፊት 3D ንድፍ ቢኖረውም መርሆቹ መሠረታዊ ሆነው ይቀጥላሉ ምክንያቱም ከ ጋር የመነጋገር መሰረታዊ ሃሳብ ይገልጻሉ። ትዕዛዞችን በመጠቀም ማሽን።

የእነዚህ መርሆዎች ትርጓሜ በሃርድዌር, በስርዓተ ክወናው, በተጠቃሚው በይነገጽ አካላት እና በተግባሮቹ ላይ ይወሰናል. ብዙውን ጊዜ የንግድ ሥራ ውሳኔዎች ንድፍ አውጪዎችን የመሠረታዊ መርሆዎችን አጠቃቀም ይሽራል። የተጠቃሚ እና ዲዛይነር ሞዴሎችም የተለያዩ ናቸው እና መርሆቹ እንዴት እንደሚተገበሩ ላይ ተጽእኖ ያሳድራሉ. በፕሮጀክት ልማት ውስጥ አንዳንድ አስፈላጊ ደረጃዎች ላይ ጥያቄው ሊነሳ ይችላል-“ከዚህ በኋላ ምን ይሆናል?” መልሱ መሆን አለበት: "ተጠቃሚው የሚፈልገውን ሁሉ!"

በጣም ጥሩውን የበይነገጽ ንድፍ መርሆዎችን የመምረጥ ውሳኔ በሁሉም የንድፍ ቡድን አባላት በጋራ መዘጋጀት አለበት. እነዚህ መፍትሄዎች የሶፍትዌር ምርቶችን መግዛትን እና እድገትን ለማሻሻል የሚረዱ መሆን አለባቸው.

የተጠቃሚ በይነገጽ ንድፍ ደንቦች

"ቀላል ያድርጉት፣ ግን የበለጠ ጥንታዊ አይደለም።"

አልበርት አንስታይን

ደንብ 1: ለተጠቃሚው ቁጥጥር ይስጡ

ልምድ ያላቸው ዲዛይነሮች ተጠቃሚዎች አንዳንድ ችግሮችን በራሳቸው ፍቃድ እንዲፈቱ ያስችላቸዋል. አርክቴክቶች፣ ውስብስብ የሕንፃዎችን ግንባታ ሲያጠናቅቁ፣ በእግረኞች መካከል ለእግረኞች መንገድ መዘርጋት አለባቸው። ሰዎች ጣቢያዎቹን የት እንደሚያቋርጡ ገና አያውቁም። ስለዚህ, መንገዶች ከህንፃዎች ግንባታ ጋር በአንድ ጊዜ አይቀመጡም. በቤቱ መካከል ባሉት ቦታዎች ላይ “እባክዎ በሳሩ ላይ መራመዱ” የሚል ጽሑፍ ተለጥፏል። ከተወሰነ ጊዜ በኋላ ግንበኞች ይመለሳሉ እና አሁን ብቻ በህዝቡ "ፈቃድ" መሰረት የተራገጡ መንገዶችን በአስፓልት ይሞሉ.

ለተጠቃሚው በስርዓቱ ላይ ቁጥጥር የሚሰጡ መርሆዎች፡-

1) ሁነታዎችን በጥበብ ይጠቀሙ;

2) ለተጠቃሚው የመምረጥ እድል መስጠት-በአይጥ ፣ ወይም በቁልፍ ሰሌዳ ፣ ወይም በሁለቱም ጥምር መሥራት ፣

3) ተጠቃሚው ትኩረት እንዲያደርግ ፍቀድ;

4) በስራው ውስጥ እሱን የሚረዱ መልዕክቶችን ማሳየት;

5) ለፈጣን እና ሊለወጡ የሚችሉ ድርጊቶች ሁኔታዎችን መፍጠር, እንዲሁም ግብረመልስ;

6) ተስማሚ መንገዶችን እና መውጫዎችን ያቅርቡ;

7) ስርዓቱን በተለያዩ የስልጠና ደረጃዎች ለተጠቃሚዎች ማስማማት;

8) የተጠቃሚውን በይነገጽ የበለጠ ለመረዳት ያስችላል;

9) ለተጠቃሚው በይነገጹን በፍላጎታቸው እንዲያስተካክል እድል ይስጡት ፣

10) ተጠቃሚው የበይነገጽ ዕቃዎችን በቀጥታ እንዲቆጣጠር መፍቀድ;

ሁነታዎችን በጥበብ ይጠቀሙ

ሁነታዎች ሁልጊዜ መጥፎ አይደሉም. አንድ ሰው የሚፈልገውን ሁነታዎች እንዲመርጥ መፍቀድ አስፈላጊ ነው. በይነገጹ በጣም ተፈጥሯዊ መሆን አለበት ተጠቃሚው ከእነሱ ጋር አብሮ ለመስራት ምቾት ይሰማዋል። በቃላት ማቀናበሪያ ውስጥ ሲሰራ ተጠቃሚው ወደ ለማስገባት ወይም ለመፃፍ ሁነታ ለመቀየር አያስብም - ይህ በጣም ምክንያታዊ እና ተፈጥሯዊ ነው።

አንድ ሰው አይጥ እና የቁልፍ ሰሌዳ እንዲጠቀም ይፍቀዱለት

ከመዳፊት ይልቅ የቁልፍ ሰሌዳን በመጠቀም ከቁልፍ ሰሌዳ ጋር የመሥራት ችሎታ. ይህ ማለት ለተጠቃሚው መስራት ቀላል ይሆናል, እሱ ብቻ ወይ መጠቀም አይችልም ወይም የለውም. የመሳሪያ አሞሌዎች መዳፊትን ሲጠቀሙ ስራዎን ለማፋጠን የተነደፉ ናቸው። ነገር ግን ከቁልፍ ሰሌዳው ጋር ሲሰሩ ሊገኙ አይችሉም - ለእንደዚህ አይነት ጉዳዮች "ተቆልቋይ" ምናሌዎች ቀርበዋል.

ተጠቃሚው ትኩረቱን እንዲቀይር ይፍቀዱለት

ተጠቃሚዎች የተጀመሩ የእርምጃዎችን ቅደም ተከተል እንዲጨርሱ አታስገድዱ። ምርጫ ስጧቸው - ውሂቡን ይሰርዙ ወይም ያስቀምጡ እና ወደቆሙበት ይመለሱ። ተጠቃሚዎች በፕሮግራሙ ውስጥ የመሥራት ሂደቱን የመቆጣጠር እድል ይኑሩ.

ገላጭ መልዕክቶችን እና ጽሑፎችን አሳይ

በይነገጹ በሙሉ ለተጠቃሚ ምቹ የሆኑ ቃላትን ተጠቀም። ስለ ቢት እና ባይት ማወቅ የለባቸውም!

በመልእክቶች እና ግብዣዎች ውስጥ ትክክለኛውን ድምጽ መምረጥ አለብዎት። ከችግሮች እና ስህተቶች እራስዎን ማረጋገጥም አስፈላጊ ነው. ደካማ የቃላት አነጋገር እና የተሳሳተ ቃና ተጠቃሚዎች ለሚከሰቱ ስህተቶች እራሳቸውን እንዲወቅሱ ያደርጋቸዋል።

ፈጣን እና ሊቀለበስ የሚችል እርምጃ እና አስተያየት ይስጡ

እያንዳንዱ የሶፍትዌር ምርት የ UNDO እና REDO ተግባራትን ማካተት አለበት። ተጠቃሚው ድርጊቱ ሊቀለበስ እንደማይችል እና ከተቻለ አማራጭ እርምጃ እንደሚፈቅድ ማሳወቅ አለበት። በዚህ ጊዜ ምን እየተከሰተ እንዳለ ያለማቋረጥ ለአንድ ሰው ያሳውቁ።

ግልጽ መንገዶችን እና መውጫዎችን ያቅርቡ

ተጠቃሚዎች ከማንኛውም የሶፍትዌር ምርት በይነገጽ ጋር መስራት መደሰት አለባቸው። በኢንዱስትሪው ውስጥ ጥቅም ላይ የሚውሉ መገናኛዎች እንኳን ተጠቃሚውን ማስፈራራት የለባቸውም, አዝራሮችን ለመጫን ወይም ወደ ሌላ ማያ ገጽ ይሂዱ. የበይነመረብ ወረራ እንደሚያሳየው አሰሳ በበይነመረቡ ላይ ዋናው መስተጋብራዊ ዘዴ ነው። ተጠቃሚው በ WWW ላይ የተፈለገውን ገጽ እንዴት ማግኘት እንደሚቻል ከተረዳ, በይነገጹን የመረዳት እድሉ 80 በመቶ ነው. ሰዎች የአሳሽ ቴክኒኮችን በፍጥነት ይማራሉ.

የተለያየ የክህሎት ደረጃ ያላቸው ተጠቃሚዎችን ማስተናገድ

ልምድ ያላቸውን ተጠቃሚዎች ለተራ ተጠቃሚዎች ጥቅም “አትስዋ”። ለፕሮግራሙ ተግባራት ፈጣን መዳረሻ ለእነሱ መስጠት አስፈላጊ ነው. አንድ የማክሮ ትእዛዝ ለመጠቀም ከለመዱ አንድን ድርጊት ለማከናወን በበርካታ እርከኖች አታድክማቸው።

የተጠቃሚ በይነገጽ "ግልጽ" ያድርጉት

የተጠቃሚ በይነገጽ የሶፍትዌር ምርት "አፈ ታሪክ" አካል ነው. በጥሩ ፕሮጀክት ተጠቃሚዎች የእሱ "መገኘት" እንኳን አይሰማቸውም. በደንብ ያልተነደፈ ከሆነ ተጠቃሚዎች የሶፍትዌር ምርቱን በብቃት ለመጠቀም ብዙ ጥረት ማድረግ አለባቸው። የበይነገጹ አላማ ሰዎች በኮምፒውተሩ ውስጥ "ውስጥ እንዳሉ" እንዲሰማቸው እና በነጻነት ከነገሮች ጋር እንዲሰሩ መርዳት ነው። ይህ "ግልጽ" በይነገጽ ይባላል!