Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

TẠO BUTTON TRÊN GIAO DIỆN JAVA SWING

Discussion in 'Xây dựng ứng dụng server-client desktop' started by nhphuocit, 28/12/13.

  1. nhphuocit

    nhphuocit New Member

    Em đang muốn tạo button trên JFrame bằng lệnh.
    Em đang làm đề tài quản lý khách sạn, em muốn mỗi một phòng hiển thị bằng 1 button và button đó tự động sinh ra khi thêm 1 phòng mới. nhưng em viết lệnh tạo ra button nhưng ko thấy nó hiển thị ra
    PHP:
    public void run() {
                    
    Phong_Quanly qlp = new Phong_Quanly();
                    
    JButton bt = new JButton("Phòng 1");
                    
    qlp.add(bt);                
                }
    Giúp e với :(
     
  2. quangbeo216

    quangbeo216 Member

    mình không hiểu được code bạn là như thế nào, nếu bạn muốn tạo button thì mình có mấy dòng code bạn có thể tham khảo
    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */
    package javaapplication5;

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

    /**
    *
    * @author _Daigunder_
    */
    public class Button extends JFrame{
    JButton btnPhong;
    public Button(){
    setLayout(null);
    btnPhong = new JButton("Phong 1");
    btnPhong.setSize(80,30);// kichs thuoc
    btnPhong.setLocation(50, 50);// vi tri trong frame
    add(btnPhong);
    }
    public static void main(String[] ardf){
    Button b = new Button();
    b.setLocation(500, 150);
    b.setSize(300, 300);
    b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    b.setVisible(true);
    }
    }
     
  3. BINHDQ

    BINHDQ Member

    Để làm được điều đó bạn cần chuẩn bị :
    - Mảng button gồm n phòng (số phòng là có thể thêm nên số phần tử mảng bạn có thể khai báo lớn 1 chút hoặc dùng arraylist)
    - JPanel để chứa các phòng. (setlayout cho nó với Gridlayout để dễ dàng thêm vào mà không cần phải set vị trí)
    - Khi nhấn nút thêm phòng :
    button[n+1] = new JButton("phòng n+1");
    JPanel.add(button[n+1]);
     
  4. nhphuocit

    nhphuocit New Member

    Tình hình là em làm trên JFrame Form, thông thường các button được kéo thả vào JFrame Form
    Nhưng khi ưm thực hiện lệnh add Button thì nó ko có tác dụng gì hết ak
    [​IMG]
     
  5. BINHDQ

    BINHDQ Member

    trong trường hợp này bạn không nên dùng kéo thả . Mình nghĩ bạn nên tập code bằng tay khi đó bạn sẽ nhận thấy được vấn đề và hướng giải quyết ak. bạn có thể tìm hiểu nó tại đây nhé http://docs.oracle.com/javase/tutorial/uiswing/TOC.html
     
  6. JackV

    JackV Administrator Staff Member

    Sau khi add button thì jpanel phải gọi phương thức updateUI() thì mới hiện thị thay đổi, một vấn đề khác là việc button được add vào phải có kích thước phù hợp với layout mà jpanel đang set.

    Bạn muốn mọi người giúp đỡ nhanh và chính xác thì đưa nhiều code lên chứ không chỉ cần ý tưởng.
     
    tuyentruong likes this.
  7. nhphuocit

    nhphuocit New Member

    Thì mình hỏi cách code nó ntn đó mak, chứ kéo thả thì đc rồi
     
  8. BINHDQ

    BINHDQ Member

    thi cũng như bác
    đã chỉ bạn rồi. hoặc bạn có thể vào link mà gửi ở trên để xem cũng đc,
     
  9. tuyentruong

    tuyentruong New Member


    JackV emmuốn hỏi. khi em làm ra 1 jfarm 500x500 mỗi thứ em vẽ đều ở trên đó r. nhưng bây h em lại bị dính 1 thứ là làm sao để tạo button trên cái jframe đó
    vì khi em add() btn có 2 trường hợp , trước hợp add() btn trước thì nó hiển thị btn nguyên size 500x500 còn add sau thì không thấy button. vậy h em phải làm sao để btn kích thước nhỏ mà nó lại nằm trên cái jFrame e tạo trước đó . Mà cái này em code tay nha.
     

Chia sẻ trang này

Loading...