Yuav Ua Li Cas GUI Daim Duab hauv Java (nrog Duab)

Cov txheej txheem:

Yuav Ua Li Cas GUI Daim Duab hauv Java (nrog Duab)
Yuav Ua Li Cas GUI Daim Duab hauv Java (nrog Duab)

Video: Yuav Ua Li Cas GUI Daim Duab hauv Java (nrog Duab)

Video: Yuav Ua Li Cas GUI Daim Duab hauv Java (nrog Duab)
Video: Qhia daws kev npam kev txhaum 2024, Tej zaum
Anonim

Daim phiaj tsis muaj dab tsi tshwj xeeb nyob rau theem no, tab sis nrog kev tshawb fawb me ntsis, koj tuaj yeem ntxiv cov neeg mloog thiab ua kom nkag siab me ntsis los ua qhov kev ua si 2D yooj yim xws li tic-tac-toe, lossis nyuaj dua li Battleship.

Nco tseg: Kab lus no siv Dab noj hnub rau txhua qhov piv txwv yog li tej yam yuav txawv nyob ntawm koj li IDE. Qhov no yuav tsum zoo ib yam li qhov koj yuav xav tau hauv JCreator, tab sis nws tsis muaj txiaj ntsig zoo rau GUI raws li IDE zoo li NetBeans tab sis, feem ntau yog vim txoj kev rub thiab poob ntawm NetBeans.

Cov kauj ruam

Ua GUI Daim phiaj hauv Java Kauj Ruam 1
Ua GUI Daim phiaj hauv Java Kauj Ruam 1

Kauj Ruam 1. Tsim Java project

Qhov no yog qhov yooj yim dua. Qhib koj li IDE thiab tsim txoj haujlwm tshiab. Hu nws qhov koj xav tau. Qhov piv txwv yuav yog buttongrid.

Lub npe no tsis muaj teeb meem hlo li vim nws tsuas yog lub npe cov ntaub ntawv uas nws yuav muab rau

Ua GUI Daim phiaj hauv Java Kauj Ruam 2
Ua GUI Daim phiaj hauv Java Kauj Ruam 2

Kauj Ruam 2. Tsim chav kawm Java nrog txoj hauv kev tseem ceeb

Tsim chav kawm tshiab thiab npe nws qhov koj xav tau. Qhov piv txwv yuav yog buttongrid. Rau tus neeg siv dab noj hnub koj yuav xav tic lub thawv hu ua pej xeem zoo li qub tsis muaj dab tsi tseem ceeb (hlua args), yog li koj yuav tsis tau ntaus nws thaum koj pib.

Lub npe no tseem ceeb dua li yav dhau los vim tias nws yuav tsum yog ib lo lus lossis lwm yam nws yuav tsis siv tau

Ua GUI Daim phiaj hauv Java Kauj Ruam 3
Ua GUI Daim phiaj hauv Java Kauj Ruam 3

Kauj Ruam 3. Ntshuam tsev qiv ntawv

Qhov no nqa tag nrho cov ntaub ntawv koj yuav xav tau sau koj cov lej rau tus lej no. Koj yuav tsum tau import javax.swing. JFrame, javax.swing. JButton, thiab java.awt. Gridlayout. Cov no tau muab tso ua ntej pib chav kawm, ib qho ntawm kab ntawm 1 txog 3, qhov kev txiav txim uas lawv nyob ntawd tsis muaj teeb meem.

Ua GUI Daim phiaj hauv Java Kauj Ruam 4
Ua GUI Daim phiaj hauv Java Kauj Ruam 4

Kauj Ruam 4. Tsim tus tsim

Tus neeg tsim khoom ua piv txwv tshiab ntawm chav kawm buttongrid tso cai rau ntau lub khawm sib txawv sib txawv rau txhua tus muaj cov ntaub ntawv sib cais. Txhua tus neeg tsim khoom yuav tsum muaj npe tib yam li lawv chav kawm. Cov neeg tsim khoom tsis xav tau dab tsi ua ntej nws, tab sis 'pej xeem' feem ntau muab tso rau kom yooj yim ntawm kev siv. Cov neeg tsim khoom feem ntau muab tso ua thawj txoj hauv kev hauv chav kawm, yog li nws mus tom qab lub npe chav kawm, nws yuav tsum, txawm li cas los yuav tsum tau muab tso rau hauv chav kawm. Tus neeg tsim vaj tsev buttongrid xav tau cov ntsuas, uas tau muab tso rau hauv kab tom qab lub npe ntawm tus tsim. Qhov tsis nyob hauv qhov piv txwv no yog cov lej 'x' thiab 'y'.

Ua GUI Daim phiaj hauv Java Kauj Ruam 5
Ua GUI Daim phiaj hauv Java Kauj Ruam 5

Kauj Ruam 5. Tsim Ncej:

  1. Tus ncej yuav tsum muaj npe. Kom paub tseeb tias nws tuaj yeem hais txog sab nraum ntawm ButtonGrid tus tsim txoj hauv kev koj tso nws tawm ntawm txoj kev ntawd, tab sis hauv chav kawm. Feem ntau cov hloov pauv muaj npe nyob rau sab saum toj ntawm chav kawm ua ntej tus tsim. Txhawm rau tsim tus ncej tshiab koj ntaus: JFrame thav duab = tshiab JFrame ();
  2. Sab hauv tus qauv tsim peb yuav tsum ua kom ntseeg tau tias txhua lub khawm tau muab tso rau hauv kab sib chaws. Txhawm rau ua qhov no peb teeb tsa tus txheej txheem ntawm kab ntawv los ntawm kev ntaus: frame.setLayout (GridLayout tshiab (x, y));
  3. Tsis tas yuav tsum tau ua, tab sis kom ua kom lub thav duab kaw thaum koj tsoo lub 'x' khawm nyob rau sab saum toj sab tes xis peb yuav tsum ntxiv kab: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Txhawm rau ua tus thav duab kom haum me me yog li txhua yam haum peb yuav tsum tau khiav lub pob hais kom ua: frame.pack ();
  5. Thaum kawg rau tus ncej peb yuav tsum ua kom nws thiaj li pom: frame.setVisible (tseeb);

    Ua GUI Daim phiaj hauv Java Kauj Ruam 6
    Ua GUI Daim phiaj hauv Java Kauj Ruam 6

    Kauj Ruam 6. Tsim khawm kab sib chaws:

    1. Cov nyees khawm uas tus neeg siv cuam tshuam nrog yuav tsum tau ua, tab sis txij li peb tsis paub pes tsawg peb xav tau, lawv yuav tsum muaj npe ua ntej. Yog li txoj cai hauv qab kab uas koj tsim thav duab tsim cov nyees khawm: JButton daim phiaj; Ob pawg ntawm cov khoom sib dhos nyob ntawd kom hais tias JButton's hauv kab sib chaws tau khaws cia ua ob hom duab, yog tias tsuas muaj ib txheej ntawm cov khoom sib dhos xwb nws yuav yooj yim yog kab ntawm JButton's, uas tseem ua haujlwm, nws tsuas yog yooj yim dua los siv lub khawm twg uas tau tsim lossis cuam tshuam nrog thaum nws yog ob-seem.
    2. JButton's tau raug lub npe, tab sis peb tseem yuav hais tias muaj pes tsawg lub pob. Koj yuav tsum tau ntxiv kab ntawm cov cai hauv tus tsim uas teev cov nyiaj: daim phiaj = tshiab JButton [dav] [ntev];
    3. Tam sim no nws tau txiav txim siab tias yuav muaj qee tus lej ntawm cov khawm, txhua tus yuav tsum tau tsim. Txoj kev yooj yim tshaj plaws los ua qhov no yog nrog ob qho rau loops, ib qho rau x-axis, ib qho rau y-axis. Sab hauv ob lub loops peb ua lub pob tshiab, thiab kom yooj yim ntawm kev siv piv txwv tso cov ntawv hauv txhua lub pob kom peb paub tias lub pob twg nyob hauv ob-seem kab nyob qhov twg. Txhawm rau tsim lub pob, sab hauv lub voj koj yuav tsum tso daim phiaj [x] [y] = tshiab JButton ("("+x+","+y+")");

      Ua GUI Daim phiaj hauv Java Kauj Ruam 7
      Ua GUI Daim phiaj hauv Java Kauj Ruam 7

      Kauj Ruam 7. Ntxiv cov nyees khawm rau thav duab

      Sab hauv lub voj peb yuav tsum muab cov nyees khawm tso rau ntawm tus ncej nrog cov lus txib yooj yim: frame.add (daim phiaj [x] [y]);

      Ua GUI Daim phiaj hauv Java Kauj Ruam 8
      Ua GUI Daim phiaj hauv Java Kauj Ruam 8

      Kauj Ruam 8. Ua ButtonGrid Instance

      Hauv koj hom chav kawm tseem ceeb: ButtonGrid tshiab (3, 3); Ob qhov peb ua yog 3 ntawm 3 daim phiaj, thiab txhua tus lej zoo tuaj yeem tso rau hauv ntawd.

      Ua GUI Daim phiaj hauv Java Kauj Ruam 9
      Ua GUI Daim phiaj hauv Java Kauj Ruam 9

      Kauj Ruam 9. Khiav Qhov Kev Pab Cuam

      Txhawm rau ua qhov no hauv dab noj hnub nyem Ctrl+F11

      Txoj Kev 1 ntawm 1: Cov Cai Kauj Ruam

      Cov chav kawm tseem ceeb:

      pej xeem chav ButtonGrid {pej xeem zoo li qub void lub ntsiab (Txoj hlua args) {}}

      Ntshuam:

      ntshuam javax.swing. JFrame; ntshuam javax.swing. JButton; ntshuam java.awt. GridLayout; pej xeem chav ButtonGrid {…

      Tus Tsim Tus Qauv:

      pej xeem chav ButtonGrid {pej xeem ButtonGrid (int dav, int ntev) {}}…

      Ncej Code:

      pej xeem chav ButtonGrid {JFrame thav duab = tshiab Jframe (); pej xeem ButtonGrid (int dav, int ntev) {frame.setLayout (GridLayout tshiab (dav, ntev))); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); thav duab.pack (); frame.setVisible (muaj tseeb); }}…

      Khawm Daim phiaj Code:

      | JFrame thav duab = tshiab JFrame (); // tsim thav duab JButton daim phiaj; // npe cov kab sib chaws ntawm cov nyees khawm pej xeem ButtonGrid (int dav, int ntev) {// constructor nrog 2 tsis thav duab.setLayout (tshiab GridLayout (dav, ntev)); // teeb tsa kab ntawm kab sib chaws = tshiab JButton [dav] [ntev]; // faib qhov loj ntawm daim phiaj rau (int y = 0; y <length; y ++) {rau (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); frame.add (daim phiaj [x] [y]); // ntxiv khawm rau kab sib chaws}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); thav duab.pack (); frame.setVisible (muaj tseeb); }…

      Ntxiv Khawm rau Ncej:

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

      Ua ib daim phiaj piv txwv:

      pej xeem zoo li qub tsis muaj dab tsi tseem ceeb (Txoj hlua args) {tshiab ButtonGrid (3, 3); // ua rau ButtonGrid tshiab nrog 2 tsis}} …

      Txoj Cai Kawg:

      ntshuam javax.swing. JFrame; // ntshuam JFrame tsev qiv ntawv ntshuam javax.swing. JButton; // ntshuam JButton tsev qiv ntawv ntshuam java.awt. GridLayout; // ntshuam GridLayout tsev qiv ntawv rau pej xeem chav kawm ButtonGrid {JFrame thav duab = tshiab JFrame (); // tsim thav duab JButton daim phiaj; // npe cov kab sib chaws ntawm cov pej xeem ButtonGrid (int dav, int ntev) {// constructor frame.setLayout (tshiab GridLayout (dav, ntev)); // teeb tsa kab sib chaws = tshiab JButton [dav] [ntev]; // faib qhov loj ntawm daim phiaj rau (int y = 0; y <length; y ++) {rau (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); // tsim khawm tshiab frame.add (daim phiaj [x] [y]); // ntxiv khawm rau kab sib chaws}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); thav duab.pack (); // teeb tsa qhov loj me uas tsim nyog rau thav duab thav duab.setVisible (tseeb); // ua kom pom pom} pej xeem zoo li qub tsis muaj dab tsi tseem ceeb (Txoj hlua args) {tshiab ButtonGrid (3, 3); // ua rau ButtonGrid tshiab nrog 2 tsis}}

      ntshuam javax.swing. JFrame; // ntshuam JFrame tsev qiv ntawv ntshuam javax.swing. JButton; // ntshuam JButton lub tsev qiv ntawv ntshuam java.awt. GridLayout; // ntshuam GridLayout lub tsev qiv ntawv

      pej xeem chav kawm ButtonGrid {

      JFrame thav duab = tshiab JFrame (); // tsim thav duab JButton daim phiaj; // npe cov kab sib chaws ntawm cov nyees khawm

      pej xeem ButtonGrid (int dav, int ntev) {// constructor frame.setLayout (GridLayout tshiab (dav, ntev)); // teeb tsa kab sib chaws = tshiab JButton [dav] [ntev]; // faib qhov loj ntawm daim phiaj rau (int y = 0; y <length; y ++) {rau (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); // tsim khawm tshiab frame.add (daim phiaj [x] [y]); // ntxiv khawm rau kab sib chaws}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); thav duab.pack (); // teeb tsa qhov loj me uas tsim nyog rau thav duab thav duab.setVisible (tseeb); // ua kom pom pom} pej xeem zoo li qub tsis muaj dab tsi tseem ceeb (Txoj hlua args) {tshiab ButtonGrid (3, 3); // ua rau ButtonGrid tshiab nrog 2 tsis}

Pom zoo: