VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test
Java Cơ Bản Các Khái Niệm Java OOPs Java String Xử Lý Ngoại Lệ Các Lớp Lồng Nhau Java AWT

Bài tập Java Swing

Giải phương trình bậc 2 Đồng hồ trong Java Swing Đếm số từ của một chuỗi Truyền file bằng giao thức TCP/IP Java Swing - Bài tập quản lý sinh viên

Java Swing

Swing trong java Lớp JLabel trong Java Swing Lớp JButton trong Java Swing Lớp JTable trong Java Swing Lớp Graphics trong Java Swing Lớp JColorchooser trong Java Swing Lớp JCheckbox trong Java Swing Lớp JRadiobutton trong Java Swing Lớp JList trong Java Swing Lớp JCombobox trong Java Swing Lớp JTextfield trong Java Swing Lớp JTextarea trong Java Swing Lớp Imageicon trong Java Swing Lớp JScrollbar trong Java Swing Lớp JOptionPane trong Java Swing Lớp JFileChooser trong Java Swing Lớp JProgressbar trong Java Swing Lớp JSlider trong Java Swing Lớp JSpinner trong Java Swing Lớp JPanel trong Java Swing Lớp JFrame trong Java Swing Lớp JWindow trong Java Swing Lớp JMenubar trong Java Swing Lớp JMenuItem trong Java Swing Lớp JMenu trong Java Swing Lớp JCheckboxMenuItem trong Java Swing Lớp JRadioButtonMenuItem trong Java Swing Lớp JPopupMenu trong Java Swing

Java Swing - Layout

Layout trong Java Swing BoxLayout trong Java Swing BorderLayout trong Java Swing CardLayout trong Java Swing FlowLayout trong Java Swing GridLayout trong Java Swing GridbagLayout trong Java Swing GroupLayout trong Java Swing SpringLayout trong Java Swing

Java Swing - Event Listener

Xử lý sự kiện trong Java Swing Event Listener trong Java Swing Event Adapter trong Java Swing Action Listener trong Java Swing Component Listener trong Java Swing ItemListener trong Java Swing KeyListener trong Java Swing MouseListener trong Java Swing WindowListener trong Java Swing AdjustmentListener trong Java Swing ContainerListener trong Java Swing MouseMotionListener trong Java Swing FocusListener trong Java Swing Lớp FocusAdapter trong Java Swing Lớp KeyAdapter trong Java Swing Lớp MouseAdapter trong Java Swing Lớp MouseMotionAdapter trong Java Swing Lớp WindowAdapter trong Java Swing
Java I/O Ví Dụ Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Bài Tập Java Có Lời Giải Câu Hỏi Phỏng Vấn Java
1 / 3
❮ ❯

BorderLayout trong Java Swing


BoxLayout trong Java Swing
CardLayout trong Java Swing

Lớp BorderLayout trong Java Swing sắp xếp các thành phần để phù hợp với 5 miền: EAST, WEST, SOUTH, NORTH và CENTER. Nó là layout mặc định của Frame hoặc Window. Mỗi khu vực (miền) chỉ có thể chứa một thành phần và mỗi thành phần trong mỗi khu vực được nhận diện bởi các hằng tương ứng là:

public static final int NORTH

public static final int SOUTH

public static final int EAST

public static final int WEST

public static final int CENTER

Cú pháp để khai báo lớp Java.awt.BorderLayout là:


public class BorderLayout
   extends Object
      implements LayoutManager2, Serializable

Nội dung chính

  • Lớp này kế thừa các phương thức từ các lớp sau:
  • Lớp BorderLayout bao gồm các constructor sau:
  • Các phương thức của lớp BorderLayout
  • Chương trình ví dụ đơn giản về lớp BorderLayout
  • Chương trình ví dụ khác về lớp BorderLayout

Lớp này kế thừa các phương thức từ các lớp sau:

  • java.lang.Object

Lớp BorderLayout bao gồm các trường sau:

  • static String AFTER_LAST_LINE: Giống PAGE_END.

  • static String AFTER_LINE_ENDS: Giống LINE_END.

  • static String BEFORE_FIRST_LINE: Giống PAGE_START.

  • static String BEFORE_LINE_BEGINS: Giống LINE_START.

  • static String CENTER: Đây là ràng buộc bố trí trung tâm (ở giữa container).

  • static String EAST: Ràng buộc bố trí theo hướng đông (cạnh phải của container).

  • static String LINE_END: Thành phần tới phần cuối của line direction cho layout

  • static String LINE_START: Thành phần tới phần bắt đầu của line direction cho layout

  • static String NORTH: Đây là ràng buộc bố trí theo hướng bắc (phần trên của container).

  • static String PAGE_END: Thành phần đến sau dòng cuối cùng (last line) của nội dung layout

  • static String PAGE_START: Thành phần tới trước dòng đầu tiên (first line) của nội dung layout.

  • static String SOUTH: Ràng buộc bố trí hướng nam (phần dưới của container)

  • static String WEST: Ràng buộc bố trí hướng tây (cạnh trái của container)


Lớp BorderLayout bao gồm các constructor sau:

BorderLayout(): Xây dựng một Border Layout mới, ở đó giữa các thành phần là không có khoảng cách.

BorderLayout(int hgap, int vgap): Xây dụng một Border Layout với các khoảng cách gap theo chiều dọc và ngang đã xác định giữa các thành phần.


Các phương thức của lớp BorderLayout

STT Phương thức & Mô tả
1 void addLayoutComponent(Component comp, Object constraints)

Thêm thành phần comp đã cho tới layout, bởi sử dụng đối tượng Constraint đã xác định.

2 void addLayoutComponent(String name, Component comp)

Nếu Layout Manager sử dụng một chuỗi mỗi thành phần, thêm thành phần comp tới layout, liên kết nó với chuỗi đã được xác định bởi tên

3 int getHgap()

Trả về khoảng cách theo chiều ngang giữa các thành phần

4 float getLayoutAlignmentX(Container parent)

Trả về căn chỉnh theo trục x

5 float getLayoutAlignmentY(Container parent)

Trả về căn chỉnh theo trục y

6 int getVgap()

Trả về khoảng cách theo chiều dọc giữa các thành phần

7 void invalidateLayout(Container target)

Vô hiệu hóa layout, chỉ rằng nếu Layout Manager đã lưu thông tin thì nó nên loại bỏ

8 void layoutContainer(Container target)

Bố trí tham số container bởi sử dụng Border Layout này

9 Dimension maximumLayoutSize(Container target)

Trả về kích cỡ các chiều tối đa cho layout này, đã cung cấp các thành phần trong target đã cho.

10 Dimension minimumLayoutSize(Container target)

Xác định kích cỡ tối thiểu cho target bởi sử dụng layout manager

11 Dimension preferredLayoutSize(Container target)

Xác định kích cỡ được ưu tiên cho target bởi sử dụng layout manager, dựa trên các thành phần của container.

12 void removeLayoutComponent(Component comp)

Xóa thành phần comp đã cho từ Border Layout này

13 void setHgap(int hgap)

Thiết lập khoảng cách theo chiều ngang giữa các thành phần

14 void setVgap(int vgap)

Thiết lập khoảng cách theo chiều dọc giữa các thành phần

15 String toString()

Trả về một biểu diễn chuỗi của trạng thái Border Layout này


Chương trình ví dụ đơn giản về lớp BorderLayout


package vn.viettuts.swing;

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class BorderLayoutExam1 {
    JFrame frame;

    BorderLayoutExam1() {
        frame = new JFrame();

        JButton b1 = new JButton("NORTH");
        JButton b2 = new JButton("SOUTH");
        JButton b3 = new JButton("EAST");
        JButton b4 = new JButton("WEST");
        JButton b5 = new JButton("CENTER");

        frame.add(b1, BorderLayout.NORTH);
        frame.add(b2, BorderLayout.SOUTH);
        frame.add(b3, BorderLayout.EAST);
        frame.add(b4, BorderLayout.WEST);
        frame.add(b5, BorderLayout.CENTER);

        frame.setSize(400, 300);
        frame.setVisible(true);
        frame.setTitle("Ví dụ BorderLayout trong Java Swing");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new BorderLayoutExam1();
    }
}

Chạy chương trình trên cho kết quả như sau:

BorderLayout trong Java Swing

Chương trình ví dụ khác về lớp BorderLayout


package vn.viettuts.swing;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

public class BorderLayoutExam2 {
    private JFrame frame;
    private JLabel headerLabel;
    private JLabel statusLabel;
    private JPanel controlPanel;

    public BorderLayoutExam2(){
       prepareGUI();
    }

    public static void main(String[] args) {
        BorderLayoutExam2 demo = new BorderLayoutExam2();
        demo.showBorderLayoutDemo();
    }

    private void prepareGUI() {
        frame = new JFrame();
        frame.setSize(400, 400);
        frame.setLayout(new GridLayout(3, 1));
        headerLabel = new JLabel("", JLabel.CENTER);
        statusLabel = new JLabel("", JLabel.CENTER);
        statusLabel.setSize(350, 100);
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent windowEvent) {
                System.exit(0);
            }
        });
        controlPanel = new JPanel();
        controlPanel.setLayout(new FlowLayout());
        frame.add(headerLabel);
        frame.add(controlPanel);
        frame.add(statusLabel);
        frame.setVisible(true);
        frame.setTitle("Ví dụ BorderLayout trong Java Swing");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    private void showBorderLayoutDemo() {
        headerLabel.setText("Layout in action: BorderLayout");
        JPanel panel = new JPanel();
        panel.setBackground(Color.darkGray);
        panel.setSize(300, 300);
        BorderLayout layout = new BorderLayout();
        layout.setHgap(10);
        layout.setVgap(10);
        panel.setLayout(layout);

        panel.add(new JButton("Center"), BorderLayout.CENTER);
        panel.add(new JButton("Line Start"), BorderLayout.LINE_START);
        panel.add(new JButton("Line End"), BorderLayout.LINE_END);
        panel.add(new JButton("East"), BorderLayout.EAST);
        panel.add(new JButton("West"), BorderLayout.WEST);
        panel.add(new JButton("North"), BorderLayout.NORTH);
        panel.add(new JButton("South"), BorderLayout.SOUTH);
        controlPanel.add(panel);
        frame.setVisible(true);
    }
}

Chạy chương trình trên cho kết quả như sau:

BorderLayout trong Java Swing
BoxLayout trong Java Swing
CardLayout trong Java Swing

Recent Updates

Xuất dữ liệu ra màn hình console trong JavaCài đặt môi trường JavaJava Swing - Bài tập quản lý sinh viên trong javaLinkedList trong javaArrayList trong javaBài tập java có lời giảiSử dụng Javascript trong HTMLToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - Sắp xếp nổi bọt (Bubble Sort) trong JavaSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml