import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.GroupLayout;
import javax.swing.LayoutStyle;
import java.awt.Container;
public static void main(String[] args) {
JFrame frame = new JFrame("Login");
Container container = frame.getContentPane();
GroupLayout groupLayout = new GroupLayout(container);
container.setLayout(groupLayout);
groupLayout.setAutoCreateContainerGaps(true);
groupLayout.preferredLayoutSize(container);
JLabel label_1 = new JLabel("User");
JLabel label_2 = new JLabel("Password");
JTextField textField_1 = new JTextField();
JTextField textField_2 = new JTextField();
JButton button_1 = new JButton("Register");
JButton button_2 = new JButton("Login");
groupLayout.setHorizontalGroup(
groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
// هنا قمنا بإضافة هامش بين 0 و 20 بيكسل على يمين المجموعة الأولى أفقياً
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
// هنا قمنا بجعل عرض مربعات النصوص يزيد أو يقل بشكل تلقائي عند التلاعب بحجم النافذة
.addComponent(textField_1, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(textField_2, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(groupLayout.createSequentialGroup()
// هنا قمنا بجعل عرض الأزرار يزيد أو يقل بشكل تلقائي عند التلاعب بحجم النافذة
// و أضفنا هامش بين 0 و 20 بيكسل بين الأزرار
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addComponent(button_1, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addComponent(button_2, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
groupLayout.setVerticalGroup(
groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(textField_1)
// هنا قمنا بإضافة هامش بين 0 و 20 بيكسل على يمين المجموعة الأولى أفقياً
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(textField_2)
// هنا قمنا بإضافة هامش بين 0 و 20 بيكسل على يمين المجموعة الأولى أفقياً
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.GroupLayout;
import javax.swing.LayoutStyle;
import java.awt.Container;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("Login");
Container container = frame.getContentPane();
GroupLayout groupLayout = new GroupLayout(container);
container.setLayout(groupLayout);
groupLayout.setAutoCreateContainerGaps(true);
groupLayout.preferredLayoutSize(container);
JLabel label_1 = new JLabel("User");
JLabel label_2 = new JLabel("Password");
JTextField textField_1 = new JTextField();
JTextField textField_2 = new JTextField();
JButton button_1 = new JButton("Register");
JButton button_2 = new JButton("Login");
groupLayout.setHorizontalGroup(
groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(label_1)
.addComponent(label_2)
)
// هنا قمنا بإضافة هامش بين 0 و 20 بيكسل على يمين المجموعة الأولى أفقياً
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
// هنا قمنا بجعل عرض مربعات النصوص يزيد أو يقل بشكل تلقائي عند التلاعب بحجم النافذة
.addComponent(textField_1, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(textField_2, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(groupLayout.createSequentialGroup()
// هنا قمنا بجعل عرض الأزرار يزيد أو يقل بشكل تلقائي عند التلاعب بحجم النافذة
// و أضفنا هامش بين 0 و 20 بيكسل بين الأزرار
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addComponent(button_1, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addComponent(button_2, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
)
)
);
groupLayout.setVerticalGroup(
groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(label_1)
.addComponent(textField_1)
)
// هنا قمنا بإضافة هامش بين 0 و 20 بيكسل على يمين المجموعة الأولى أفقياً
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(label_2)
.addComponent(textField_2)
)
// هنا قمنا بإضافة هامش بين 0 و 20 بيكسل على يمين المجموعة الأولى أفقياً
// يتم تحديده بشكل تلقائي عند التلاعب بحجم النافذة
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, 20)
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(button_1)
.addComponent(button_2)
)
);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}