شما می توانید با ارسال ایمیل خود ، بصورت رایگان مشترک شده و از بروزسانی مطلع شوید.

ایمیل خود را وارد کنید:

اوراکل (ADF(Application Development Framework یک چارچوب(Framework)  کلی می باشد که برروی استانداردهای Java EE و تکنولوژی های Open Source جهت سادگی و پیاده سازی سریع تر برنامه های Java EE ایجاد شده است که کاملا توسعه پذیر و قابل تنظیم بوسیله افزودن یا اصلاح کتابخانه ها می باشد. ADF وظایف را از طریق ایجاد سرویس […]

CardLayout پنجره ای را در نظر بگیرید که شامل چندین پنل می باشد که در یک زمان فقط یکی از این پنل ها قابل مشاهده می باشد،با استفاده از کلاس java.awt.CardLayout شما می توانید کامپوننتی را ایجاد کنید که فقط یکی از این پنل ها را در یک زمان نمایش دهد، مانند شکل زیر: زمانی […]

اطلاعات سخت افزاری CPU اطلاعات CPU شامل جزئیاتی  مثل معماری ، نام سازنده ، مدل ، تعداد هسته ها ، سرعت هرکدام از هسته ها و غیره است. برای دسترسی به چنین جزئیاتی درباره سخت افزار CPU در لینوکس، تعداد بسیار اندکی کامند برای این منظور وجود دارد که ما در اینجا بطور مختصر تعدادی […]

مقدمه مختصری بر Layout Manager_بخش اول

Swing موارد زیر را پیشنهاد می کند:

➤ FlowLayout

➤ GridLayout

➤ BoxLayout

➤ BorderLayout

➤ CardLayout

➤ GridBagLayout

FlowLayout

این Layout کامپوننت ها را در یک پنجره بصورت ردیف به ردیف آرایش می کند. برای مثال labelها، فیلدهای text، buttonها تا وقتی که در یک ردیف فضا وجود داشته باشد اضافه خواهند شد. زمانی که سطر پر شد، بقیه اجزا یا کامپوننت ها در ردیف بعدی قرار می گیرند و بهمین ترتیب. FlowLayout برای ماشین حسابی که در بخش های قبل طراحی کردیم بهترین انتخاب نیست. بیایید بقیه موارد را امتحان کنیم.

GridLayout

کلاس java.awt.GridLayout  اجازه آرایش کامپوننت ها را در سطرها و ستون ها در یک Grid می دهد. شما کامپوننت ها را به سلول های Grid اضافه می کنید و هنگامی که اندازه container را تغییر می دهید سلول ها ممکنه بزرگتر یا کوچکتر شوند. اما موقعیت نسبی اجزا داخل container همانطور باقی خواهد ماند.

ماشین حسابمان دارای هفت کامپوننت بود: ۳تا label، ۳تا فیلد text و یک Button . شما ممکنه آنها را در یک Grid بصورت ۴سطر و ۲ ستون آرایش کنید(یک سلول خالی می ماند) بوسیله ساخت یک نمونه از کلاس GridLayout بدین صورت:


GridLayout gr = new GridLayout(4,2);

شما نیز می توانید فاصله افقی و عمودی بین سلول ها ایجاد کنید، مثلا ۵ پیکسل:


GridLayout gr = new GridLayout(4,2,5,5);

GridLayout را با FlowLayout جایگزین کنید، مشاهده خواهید کرد که بهتر بنظر می رسد.

یک کلاس جدید بنام SimpleCalculatorGrid ایجاد کنید:

import javax.swing.*;
import java.awt.GridLayout;
public class SimpleCalculatorGrid {
public static void main(String[] args) {
JPanel windowContent= new JPanel();
// Set the layout manager for the panel
GridLayout gl = new GridLayout(4,2);
windowContent.setLayout(gl);
JLabel label1 = new JLabel("Number 1:");
JTextField field1 = new JTextField(10);
JLabel label2 = new JLabel("Number 2:");
JTextField field2 = new JTextField(10);
JLabel label3 = new JLabel("Sum:");
JTextField result = new JTextField(10);
JButton go = new JButton("Add");
// Add controls to the panel
windowContent.add(label1);
windowContent.add(field1);
windowContent.add(label2);
windowContent.add(field2);
windowContent.add(label3);
windowContent.add(result);
windowContent.add(go);
// Create the frame and add the panel to it
JFrame frame = new JFrame("My First Calculator");
frame.setContentPane(windowContent);
// set the size and display the window
frame.setSize(400,100);
frame.setVisible(true);
}
}

بعداز اجرای برنامه SimpleCalculatorGrid مشاهده خواهید کرد که ماشین حساب مناسبتر نسبت به قبلی بنظر می رسد:

سعی به تغییر اندازه پنجره کنید، مشاهده خواهید کرد که اندازه اجزا یا همان کامپوننت ها تغییر می کند اما در موقعیت آنها تغییری حاصل نخواهد شد. توجه کنید که تمام سلول های GridLayout دارای طول و عرض یکسانی می باشند.

دیدگاه خود را به ما بگویید.