Javaда GUI сеткасын кантип түзүү керек (сүрөттөр менен)

Мазмуну:

Javaда GUI сеткасын кантип түзүү керек (сүрөттөр менен)
Javaда GUI сеткасын кантип түзүү керек (сүрөттөр менен)

Video: Javaда GUI сеткасын кантип түзүү керек (сүрөттөр менен)

Video: Javaда GUI сеткасын кантип түзүү керек (сүрөттөр менен)
Video: 반보영 1인칭 치과 상황극 ASMR(안무서운 치석제거,후시녹음) | First Person Dentist Role Play ASMR(Removing plaques) Eng sub 2024, Май
Anonim

Grid бул этапта өзгөчө эч нерсе кылбайт, бирок бир аз изилдөөнүн жардамы менен, угуучуларды жана логиканы кошуп, tic-tac-toe же Battleship сыяктуу татаалыраак 2D оюнун жасоого болот.

Эскертүү: Бул макала бардык мисалдар үчүн Eclipse колдонот, андыктан нерселер сиздин IDEге жараша ар кандай болушу мүмкүн. Бул сизге JCreatorдо керектүү нерсеге абдан окшош болушу керек, бирок NetBeans сыяктуу GUIге негизделген IDE үчүн негизинен пайдасыз, бирок негизинен NetBeans сүйрөө жана таштоо ыкмасынан улам.

Кадамдар

Java 1 -кадамда GUI сеткасын түзүңүз
Java 1 -кадамда GUI сеткасын түзүңүз

Кадам 1. Java долбоорун түзүү

Бул абдан жөнөкөй. IDE күйгүзүп, жаңы долбоор түзүңүз. Каалаган нерсеңизди чакырыңыз. Мисал buttongrid болот.

Бул ысым эч кандай мааниге ээ эмес, анткени ал бериле турган файлдын аты

Java 2де GUI сеткасын түзүңүз
Java 2де GUI сеткасын түзүңүз

Кадам 2. Негизги ыкма менен Java классын түзүңүз

Жаңы класс түзүп, ага каалаган нерсеңизди коюңуз. Мисал buttongrid болот. Eclipse колдонуучусу үчүн ачык static void main (string args) деп аталган кутучаны белгилегиңиз келет, андыктан аны баштаганда терүүнүн кажети жок болот.

Бул ысым мурункусуна караганда маанилүүрөөк, анткени ал бир эле сөз болушу керек же болбосо колдонууга жараксыз болуп калат

Java 3 -кадамда GUI сеткасын түзүңүз
Java 3 -кадамда GUI сеткасын түзүңүз

3 -кадам. Китепканаларды импорттоо

Бул кодду жазуу үчүн керек болгон бардык маалыматты алып келет. Сиз javax.swing. JFrame, javax.swing. JButton жана java.awt. Gridlayout импорттооңуз керек болот. Булар сабактын башталышына чейин коюлат, 1ден 3кө чейинки сызыктарда, алар турган тартиптин мааниси жок.

Java 4 -кадамда GUI сеткасын түзүңүз
Java 4 -кадамда GUI сеткасын түзүңүз

Кадам 4. Конструктор түзүү

Конструктор ар кандай баскыч торчолоруна ар башка маалыматка ээ болууга мүмкүндүк берген buttongrid классынын жаңы нускасын түзөт. Бардык конструкторлор классына окшош аталышы керек. Конструкторлор ага чейин эч нерсеге муктаж эмес, бирок "коомдук" көбүнчө маалымат үчүн жеңил болот. Конструкторлор көбүнчө класстагы биринчи ыкма катары жайгаштырылат, андыктан ал класстын аталышынан кийин кетет, бирок аны класстын ичинде жайгаштыруу керек. Бутонгрид конструкторуна параметрлер керек, алар конструктордун атынан кийин кашаага алынат. Бул мисалдагы параметрлер бүтүн сандар 'x' жана 'y'.

Java 5 -кадамда GUI сеткасын түзүңүз
Java 5 -кадамда GUI сеткасын түзүңүз

Step 5. Frame түзүү:

  1. Кадр аталышы керек. Бул ButtonGrid конструктордук методунан тышкары шилтеме кылынышы үчүн, сиз аны ошол методдун жанына, бирок класстын ичинде жайгаштырасыз. Көпчүлүк өзгөрмөлөр класстын жогору жагында конструктордун алдында аталат. Жаңы кадр түзүү үчүн сиз териңиз: JFrame frame = new JFrame ();
  2. Конструктор ыкмасынын ичинде биз бардык баскычтар тордун макетине коюлганына ынануубуз керек. Бул үчүн кадрдын макетин терүү аркылуу орнотобуз: frame.setLayout (жаңы GridLayout (x, y));
  3. Сөзсүз түрдө милдеттүү эмес, бирок оң жактагы жогорку бурчтагы 'x' баскычын басканыңызда кадрды жабуу үчүн, биз сапты кошушубуз керек: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Баары туура келгендей кылып кадрды туура өлчөмгө келтирүү үчүн, pack командасын иштетишибиз керек: frame.pack ();
  5. Акыры кадр үчүн биз аны көрүнүктүү кылып жасашыбыз керек: frame.setVisible (true);

    Java 6 -кадамда GUI сеткасын түзүңүз
    Java 6 -кадамда GUI сеткасын түзүңүз

    Кадам 6. Баскыч торун түзүү:

    1. Колдонуучу өз ара аракеттешкен баскычтарды жасоо керек, бирок бизге канчасы керек экенин билбегендиктен, алар биринчи аталышы керек. Ошентип, сиз түзгөн сызыктын астында, баскычтарды түзүңүз: JButton торчосу; Квадрат кашаанын эки топтому JButton торчосу эки өлчөмдүү форматта сакталат деп айтууга болот, эгерде бир эле чарчы кашаа болсо, анда ал JButtonдун линиясы болмок, ал дагы эле иштейт, бул жөн гана эки баскычтуу болгондо кайсы баскыч түзүлүп же өз ара аракеттенип жатканына шилтеме кылуу оңой.
    2. JButton'дордун аттары аталды, бирок дагы эле канча баскыч бар экенин айтыш керек. Конструкторго сумманы белгилеген код линиясын кошуу керек: grid = new JButton [туурасы] [узундугу];
    3. Эми белгилүү бир сандагы баскычтар болоору аныкталды, алардын ар бири түзүлүшү керек. Мунун эң оңой жолу-илмек үчүн экөө, бири-х огу үчүн, бири-огу үчүн. Эки циклдин ичинде биз жаңы баскыч жасайбыз жана мисал жеңилдик үчүн текстти ар бир баскычтын ичине коет, ошондуктан биз эки өлчөмдүү массивдеги кайсы баскыч кайда экенин билебиз. Баскычты түзүү үчүн, циклдин ичине grid [x] [y] = new JButton ("("+x+","+y+")") коюу керек;

      Java 7де GUI сеткасын түзүңүз
      Java 7де GUI сеткасын түзүңүз

      Кадам 7. Кадрга баскычтарды кошуу

      Укуруктун ичинде биз баскычтарды рамкага жөнөкөй буйрук менен коюшубуз керек: frame.add (grid [x] [y]);

      Java 8 -кадамда GUI сеткасын түзүңүз
      Java 8 -кадамда GUI сеткасын түзүңүз

      Step 8. ButtonGrid Instance жасаңыз

      Сиздин негизги класстын түрүндө: жаңы ButtonGrid (3, 3); Эки үчөө тең 3төн 3кө чейин тор болуп саналат жана каалаган оң санды ошол жерге киргизсе болот.

      Java 9да GUI сеткасын түзүңүз
      Java 9да GUI сеткасын түзүңүз

      Step 9. Run программасы

      Муну кармоо үчүн Ctrl+F11 басыңыз

      Метод 1дин 1: Кадамдар коду

      Негизги класс:

      коомдук класс ButtonGrid {public static void main (String args) {}}

      Импорт:

      javax.swing. JFrame импорттоо; javax.swing. JButton импорттоо; java.awt. GridLayout импорттоо; коомдук класс ButtonGrid {…

      Конструктор коду:

      коомдук класс ButtonGrid {public ButtonGrid (int width, int length) {}}…

      Frame Code:

      коомдук класс ButtonGrid {JFrame frame = new Jframe (); public ButtonGrid (int width, int length) {frame.setLayout (жаңы GridLayout (туурасы, узундугу))); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (чыныгы); }}…

      Түймө сетка коду:

      | JFrame кадры = жаңы JFrame (); // кадр JButton торун түзөт; // коомдук ButtonGrid (int width, int length) баскычтарынын торун атоодо {// constructor 2 параметрлери менен frame.setLayout (жаңы GridLayout (туурасы, узундугу))); // кадр торунун макетин коюу = жаңы JButton [туурасы] [узундугу]; // (int y = 0; y <узундугу; y ++) {үчүн (int x = 0; x <туурасы; x ++) {grid [x] [y] = жаңы JButton ("("+ x+","+y+")"); frame.add (тор [x] [y]); // баскычты торго кошот}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (чыныгы); }…

      Баскычтарды алкакка кошуу:

      for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+x+","+y+")) "); frame.add (тор [x] [y]); }}…

      Түймө торчонун мисалын жасоо:

      public static void main (String args) {new ButtonGrid (3, 3); // 2 ButtonGridди 2 параметр менен кылат}…

      Акыркы код:

      javax.swing. JFrame импорттоо; // JFrame китепканасын импорттойт javax.swing. JButton; // JButton китепканасын импорттойт java.awt. GridLayout; // GridLayout китепканасынын коомдук классын ButtonGrid импорттойт {JFrame frame = new JFrame (); // кадр JButton торун түзөт; // баскычтардын торун ачык ButtonGrid (int width, int length) {// конструктор frame.setLayout (жаңы GridLayout (туурасы, узундугу))); // макет торун коюу = жаңы JButton [туурасы] [узундугу]; // (int y = 0; y <узундугу; y ++) {үчүн (int x = 0; x <туурасы; x ++) {grid [x] [y] = жаңы JButton ("("+ x+","+y+")"); // жаңы баскычтын кадрын түзөт.add (grid [x] [y]); // баскычты торго кошот}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // кадр үчүн ылайыктуу өлчөмдү белгилейт frame.setVisible (чыныгы); // кадрды көрүнүктүү кылат} public static void main (String args) {new ButtonGrid (3, 3); // 2 ButtonGridди 2 параметр менен кылат}}

      javax.swing. JFrame импорттоо; // JFrame китепканасын импорттойт javax.swing. JButton; // JButton китепканасын импорттойт java.awt. GridLayout; // GridLayout китепканасын импорттойт

      коомдук класс ButtonGrid {

      JFrame кадры = жаңы JFrame (); // кадр JButton торун түзөт; // баскычтардын торун атоо

      public ButtonGrid (int width, int length) {// конструктор frame.setLayout (жаңы GridLayout (туурасы, узундугу))); // макет торун коюу = жаңы JButton [туурасы] [узундугу]; // (int y = 0; y <узундугу; y ++) {үчүн (int x = 0; x <туурасы; x ++) {grid [x] [y] = жаңы JButton ("("+ x+","+y+")"); // жаңы баскычтын кадрын түзөт.add (grid [x] [y]); // баскычты торго кошот}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // кадр үчүн ылайыктуу өлчөмдү белгилейт frame.setVisible (чыныгы); // кадрды көрүнүктүү кылат} public static void main (String args) {new ButtonGrid (3, 3); // 2 ButtonGridди 2 параметр менен кылат}

Сунушталууда: