Đổi màu giao diện trong Java Swing



Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Java xây dựng giao diện chứa danh sách 5 màu, mỗi khi người dùng chọn một màu từ danh sách thì giao diện chương trình sẽ đổi màu theo màu đã chọn.
Yêu cầu kiến thức:

  • Kế thừa và triển khai các phương thức đã được đề ra ở các lớp cha
  • Phân tích và thiết kế các đối tượng trên giao diện là các components
  • Hiểu rõ bản chất cách hoạt động các đối tượng

Cấu trúc thư mục:
src
|——buildUI
   |——Colors.java
|——usingUI
   |——MainClass.java
Code tham khảo dưới đây được viết trên JDK ver 8.x:
File Colors.java:


package buildUI;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class Colors extends JFrame implements ItemListener {
    // Tao danh sach mau
    JComboBox colorList = new JComboBox();

    // Tao noi luu truu cac component
    Container con;

    // Ham khoi tao
    public Colors(String title) {
        super(title);

        con = this.getContentPane();
        con.setLayout(new FlowLayout());

        // Thiet lap mau
        colorList.addItem("White");
        colorList.addItem("Black");
        colorList.addItem("Red");
        colorList.addItem("Yellow");
        colorList.addItem("Pink");
        con.add(colorList);
        colorList.addItemListener(this);

        // Thiet lap mau mac dinh
        con.setBackground(Color.white);
    }

    @Override
    public void itemStateChanged(ItemEvent e) {
        // Lay vi tri mau duoc chon
        int index = colorList.getSelectedIndex();

        // Thiet lap mau cho giao dien
        if (index == 0) {
            con.setBackground(Color.white);
        } else if (index == 1) {
            con.setBackground(Color.black);
        } else if (index == 2) {
            con.setBackground(Color.red);
        } else if (index == 3) {
            con.setBackground(Color.yellow);
        } else {
            con.setBackground(Color.pink);
        }
    }
}

File MainClass.java:


package usingUI;

import buildUI.Colors;

public class MainClass {
    public static void main(String[] args) {
        // Tao giao dien va hien thi
        Colors colors = new Colors("Choose Color");
        colors.setVisible(true);
        colors.setSize(400, 400);
    }
}

Kết quả chương trình:
Bai 27-color

Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình Java từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Ôn tập OOP cơ bản trong Java. Xem tại đây

Có thể bạn sẽ thích…

Trả lời

EnglishVietnamese