نحوه ایجاد GUI Grid در جاوا (همراه با تصاویر)

فهرست مطالب:

نحوه ایجاد GUI Grid در جاوا (همراه با تصاویر)
نحوه ایجاد GUI Grid در جاوا (همراه با تصاویر)

تصویری: نحوه ایجاد GUI Grid در جاوا (همراه با تصاویر)

تصویری: نحوه ایجاد GUI Grid در جاوا (همراه با تصاویر)
تصویری: Inkscape Custom Brushes: آموزش ساخت و استفاده از Brush Sets 2024, ممکن است
Anonim

Grid در این مرحله کار خاصی انجام نمی دهد ، اما با کمی تحقیق ، می توانید شنونده های اکشن و کمی منطق را اضافه کنید تا یک بازی ساده دو بعدی مانند tic-tac-toe یا پیچیده تر مانند Battleship ایجاد کنید.

توجه: این مقاله از Eclipse برای همه مثال ها استفاده می کند ، بنابراین ممکن است بسته به IDE شما موارد متفاوت باشد. این باید بسیار شبیه به آنچه در JCreator نیاز دارید باشد ، اما برای IDE مبتنی بر رابط کاربری گرافیکی مانند NetBeans بی فایده است ، عمدتا به دلیل روش کشیدن و رها کردن NetBeans.

مراحل

ایجاد یک شبکه GUI در جاوا مرحله 1
ایجاد یک شبکه GUI در جاوا مرحله 1

مرحله 1. یک پروژه جاوا ایجاد کنید

این نسبتاً ساده است. IDE خود را روشن کرده و یک پروژه جدید ایجاد کنید. اسمش را هر طور که می خواهید بگذارید مثال خواهد بود buttongrid.

این نام اصلاً اهمیتی ندارد زیرا فقط نام پرونده ای است که باید داده شود

ایجاد یک شبکه GUI در جاوا مرحله 2
ایجاد یک شبکه GUI در جاوا مرحله 2

مرحله 2. یک کلاس جاوا با یک متد اصلی ایجاد کنید

یک کلاس جدید ایجاد کنید و نام دلخواه خود را بر آن بگذارید. مثال آن buttongrid خواهد بود. برای یک کاربر Eclipse شما می خواهید جعبه ای به نام public static void main (string args) را تیک بزنید ، بنابراین نیازی به تایپ آن در هنگام شروع ندارید.

این نام از نام قبلی اهمیت بیشتری دارد زیرا باید به عنوان یک کلمه باشد یا در غیر این صورت قابل استفاده نیست

ایجاد یک شبکه GUI در جاوا مرحله 3
ایجاد یک شبکه GUI در جاوا مرحله 3

مرحله 3. وارد کردن کتابخانه ها

این تمام اطلاعاتی را که برای نوشتن کد خود در این کد نیاز دارید به ارمغان می آورد. باید javax.swing. JFrame ، javax.swing. JButton و java.awt. Gridlayout را وارد کنید. اینها قبل از شروع کلاس قرار می گیرند ، جایی در خطوط بین 1 تا 3 ، ترتیب آنها در آنجا مهم نیست.

ایجاد یک شبکه GUI در جاوا مرحله 4
ایجاد یک شبکه GUI در جاوا مرحله 4

مرحله 4. یک سازنده ایجاد کنید

سازنده نمونه جدیدی از کلاس buttongrid ایجاد می کند که به شبکه های مختلف دکمه اجازه می دهد همه اطلاعات جداگانه داشته باشند. همه سازندگان باید همانند کلاس خود نامگذاری شوند. سازندگان قبل از آن به چیزی احتیاج ندارند ، اما "سهولت عمومی" اغلب برای سهولت در مرجع قرار داده می شود. سازنده ها اغلب به عنوان اولین متد در کلاس قرار می گیرند ، بنابراین بلافاصله پس از نام کلاس قرار می گیرد ، اما باید در کلاس قرار گیرد. سازنده buttongrid به پارامترهایی نیاز دارد که پس از نام سازنده در براکت قرار می گیرند. پارامترهای این مثال ، اعداد صحیح 'x' و 'y' هستند.

ایجاد یک شبکه GUI در جاوا مرحله 5
ایجاد یک شبکه GUI در جاوا مرحله 5

مرحله 5. ایجاد قاب:

  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)؛

    ایجاد یک شبکه GUI در جاوا مرحله 6
    ایجاد یک شبکه GUI در جاوا مرحله 6

    مرحله 6. ایجاد شبکه دکمه:

    1. دکمه هایی که کاربر با آنها ارتباط برقرار می کند باید ساخته شوند ، اما از آنجا که نمی دانیم به چه تعداد از آنها نیاز داریم ، ابتدا باید نام آنها را نامگذاری کنیم. بنابراین درست در زیر خطی که در آن فریم ایجاد می کنید دکمه ها را ایجاد کنید: JButton grid؛ دو مجموعه از براکت های مربعی وجود دارد که می گویند JButton در شبکه در قالب دو بعدی نگهداری می شود ، اگر فقط یک مجموعه از براکت های مربع وجود داشت ، آن را به سادگی یک خط از JButton قرار می داد ، که هنوز کار می کند ، فقط وقتی دکمه دو بعدی ایجاد می شود یا با آن تعامل می کند ، راحت تر می توان به آن اشاره کرد.
    2. JButton's نامگذاری شده است ، اما ما هنوز باید بگوییم چند دکمه وجود دارد. شما باید یک خط کد در سازنده اضافه کنید که مقدار را تعیین می کند: grid = new JButton [width] [length]؛
    3. اکنون که مشخص شده تعداد مشخصی دکمه وجود دارد ، هر کدام باید ایجاد شوند. ساده ترین راه برای انجام این کار دو حلقه است ، یکی برای محور x و دیگری برای محور y. در داخل دو حلقه ما یک دکمه جدید ایجاد می کنیم و برای سهولت در ارجاع مثال متن را درون هر دکمه قرار می دهد تا بدانیم کدام دکمه در آرایه دو بعدی کجاست. برای ایجاد یک دکمه ، در داخل حلقه باید شبکه [x] [y] = new JButton ("(" "+x+" ، "+y+") ") را قرار دهید.

      ایجاد یک شبکه GUI در جاوا مرحله 7
      ایجاد یک شبکه GUI در جاوا مرحله 7

      مرحله 7. دکمه ها را به قاب اضافه کنید

      در داخل حلقه باید دکمه ها را با یک فرمان ساده روی قاب قرار دهیم: frame.add (grid [x] [y])؛

      ایجاد یک شبکه GUI در جاوا مرحله 8
      ایجاد یک شبکه GUI در جاوا مرحله 8

      مرحله 8. ایجاد ButtonGrid Instance

      در کلاس اصلی خود نوع: ButtonGrid جدید (3 ، 3) ؛ این دو سه تایی یک شبکه 3 در 3 است و هر دو عدد مثبت را می توان در آنجا قرار داد.

      ایجاد یک شبکه GUI در جاوا مرحله 9
      ایجاد یک شبکه GUI در جاوا مرحله 9

      مرحله 9. اجرای برنامه

      برای انجام این کار در گرفتگی Ctrl+F11 را فشار دهید

      روش 1 از 1: کد مراحل

      کلاس اصلی:

      کلاس عمومی ButtonGrid {public static void main (String args) {}}

      واردات:

      واردات javax.swing. JFrame؛ واردات javax.swing. JButton؛ واردات java.awt. GridLayout ؛ کلاس عمومی ButtonGrid {…

      کد سازنده:

      کلاس عمومی ButtonGrid {عمومی ButtonGrid (عرض int ، int طول) {}}…

      کد قاب:

      کلاس عمومی ButtonGrid {JFrame frame = new Jframe ()؛ عمومی ButtonGrid (عرض int ، int طول) {frame.setLayout (GridLayout جدید (عرض ، طول)) ؛ frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE) ؛ frame.pack ()؛ frame.setVisible (true) ؛ }}…

      کد شبکه دکمه:

      | قاب JFrame = JFrame جدید ()؛ // ایجاد فرمت JButton grid؛ // نام شبکه دکمه های عمومی ButtonGrid (int عرض ، int طول) {// سازنده با 2 پارامتر frame.setLayout (GridLayout جدید (عرض ، طول)) ؛ // تنظیم طرح شبکه قاب = JButton جدید [عرض] [طول] ؛ // اختصاص اندازه شبکه برای (int y = 0؛ y <طول؛ y ++) {برای (int x = 0؛ x <width؛ x ++) {grid [x] [y] = new JButton ("("+ x+"،"+y+")")) ؛ frame.add (شبکه [x] [y]) ؛ // دکمه را به شبکه اضافه می کند}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE) ؛ frame.pack ()؛ frame.setVisible (true) ؛ }…

      افزودن دکمه به قاب:

      برای (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 جدید ایجاد می کند}…

      کد نهایی:

      واردات javax.swing. JFrame؛ // واردات کتابخانه JFrame javax.swing. JButton؛ // واردات کتابخانه JButton java.awt. GridLayout ؛ // وارد کتابخانه GridLayout کلاس عمومی ButtonGrid {JFrame frame = new JFrame ()؛ // ایجاد فرمت JButton grid؛ // نام شبکه دکمه های عمومی ButtonGrid (عرض int ، int طول) {// constructor frame.setLayout (GridLayout جدید (عرض ، طول)) ؛ // set layout grid = new JButton [width] [length]؛ // تخصیص اندازه شبکه برای (int y = 0؛ y <طول؛ y ++) {برای (int x = 0؛ x <width؛ x ++) {grid [x] [y] = new JButton ("("+ x+"،"+y+")")) ؛ // ایجاد دکمه جدید frame.add (شبکه [x] [y]) ؛ // دکمه را به شبکه اضافه می کند}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE) ؛ frame.pack ()؛ // اندازه مناسب را برای قاب frame.setVisible (true) تعیین می کند ؛ // قاب را قابل مشاهده می کند} public static void main (String args) {new ButtonGrid (3 ، 3) ؛ // باعث ایجاد ButtonGrid جدید با 2 پارامتر}}

      واردات javax.swing. JFrame؛ // واردات کتابخانه JFrame javax.swing. JButton؛ // واردات کتابخانه JButton java.awt. GridLayout ؛ // کتابخانه GridLayout را وارد می کند

      کلاس عمومی ButtonGrid {

      قاب JFrame = JFrame جدید ()؛ // ایجاد فرمت JButton grid؛ // شبکه دکمه ها را نام می برد

      عمومی ButtonGrid (عرض int ، int طول) {// constructor frame.setLayout (GridLayout جدید (عرض ، طول)) ؛ // set layout grid = new JButton [عرض] [طول]؛ // تخصیص اندازه شبکه برای (int y = 0؛ y <طول؛ y ++) {برای (int x = 0؛ x <width؛ x ++) {grid [x] [y] = new JButton ("("+ x+"،"+y+")")) ؛ // ایجاد دکمه جدید frame.add (شبکه [x] [y]) ؛ // دکمه را به شبکه اضافه می کند}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE) ؛ frame.pack ()؛ // اندازه مناسب را برای frame frame.setVisible (true) تعیین می کند ؛ // قاب را قابل مشاهده می کند} public static void main (String args) {new ButtonGrid (3، 3)؛ // باعث ایجاد ButtonGrid جدید با 2 پارامتر}

توصیه شده: