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

Tạo label động?

Discussion in 'Ngôn ngữ lập trình khác (Pascal, C#, VB, ...)' started by vanchuong, 15/12/13.

  1. vanchuong

    vanchuong Member

    Chào các anh chị!
    Hiện em đang làm bài đồ án có liên quan đến việc hiện csdl lên label.
    TablePhong: MaPhong,TenPhong(p1,p2,p3,p4,p5...),TrangThai('Có','Không').
    Anh chị có cách nào hiển thị tất cả các tên phòng lên label, mà label này là code động. tức là bài em cố định là 50 phòng p1...p50. cứ có bao nhiêu phòng thì nó sẽ tự sinh chừng đó label mang tên phòng. và kèm theo điều kiện nếu phòng nào có trạng thái 'Có' thì label đó màu Đỏ ngược lại 'Không' thì màu xanh!
    Mong anh chị nào hiểu thì chỉ giùm em với, hoặc có cách nào khả thi hơn thì giúp em với. Em cảm ơn!
     
  2. SITUVN

    SITUVN Well-Known Member

    Chà vẫn chưa được à?
     
    vanchuong likes this.
  3. vanchuong

    vanchuong Member

    Chưa được anh à!
     
  4. BINHDQ

    BINHDQ Member

    mình gợi ý nhá . sau khi chạy chương trình đâu tiên thì bạn select dữ liệu trong database ra bạn sẽ được
    Mảng tên phòng vd : Ten[50]
    Mảng trại thái phòng : TrangThai[50]
    - bạn tạo thêm mảng JLabel vd : Lb[50]
    sau khi đã có tất cả rồi bạn chỉ cần khởi tạo các jlable của mảng JLabel và set tên . màu sắc cho nó
    for(int i=0; i<50;i++)
    {
    lb = new JLabel();
    lb.setText(Ten);
    if(TrangThai == PhòngTrống) thì ta set background cho lb tùy màu mà bạn thích :D
    // add lb vào component mà bạn muốn.(JPanel hoặc container) và với component này bạn nên set layout là Gridlayout
    }
     
  5. JackV

    JackV Administrator Staff Member

    label không có set background được nhé
     
  6. BINHDQ

    BINHDQ Member

    mình bổ sung thêm dòng này nữa :D

    JLabel.setOpaque(true);
     
    vanchuong likes this.
  7. SITUVN

    SITUVN Well-Known Member

    Nếu không nhầm thì bạn ấy làm bằng C# =)).
     
    vanchuong likes this.
  8. vanchuong

    vanchuong Member

    code c# nó thế này:
    Label[] bt =new Label[50];
    for(int i =0; i <50; i++)
    {
    lbl[i]=new Label();
    lbl[i].Name="lbl"+ i.ToString();
    lbl[i].Text= i.ToString();
    lbl[i].Location=newSystem.Drawing.Point(10, i *20);// vi tri xuat hien
    lbl[i].Size=newSystem.Drawing.Size(40, 20);// kich thuoc
    this.Controls.Add(lbl[i]);// them controls vaof Form1
    }
    nhưng làm sao gán giá trị i = TenPhong được mấy anh??
    i=50 rồi nhưng làm sao gán lb1 là tên của phòng 1 label2 là tên phòng 2....
     
  9. Joe

    Joe Thành viên VIP

    Can you read? How have you learned Java? Have you even heard of Oracle's online APIs? Do you know this
    http://docs.oracle.com/javase/7/docs/api/javax/swing/JLabel.html
    How many fathers does JLabel have?
    And how many methods let the "fathers" inherit?
    What does the direct father JComponent says?
    Belong the methods setBackground(Color bg) or public void setForeground(Color fg) to whom?
    It's a bad habit to ask instead of to learn and to read...
     
  10. vanchuong

    vanchuong Member

    No! I'm working with C#? Can you help me in c#???
     
  11. Joe

    Joe Thành viên VIP

    Sorry that I overlooked the folder where you posted. I apologize. I may be able to help you but I haven't written a C# app since 1999, so I am not sure if it is a good idea to babble c# with you.
     
  12. BINHDQ

    BINHDQ Member

    vậy mà mình tưởng java chứ :D
     
  13. nong_dan

    nong_dan Active Member

    Nếu làm bằng # sao không lên cộng đồng c việt mà hỏi...^^
    Nhưng theo mình biết thì những câu hỏi kiểu này thường không được support. Luật lệ bên đó "khá chặt" Nhưng "khá tốt" cho những anh chàng nào không chịu tự thân vận động mà chỉ muốn 1 +1 = 2
     
  14. BINHDQ

    BINHDQ Member

    C# hay Java thì ý tưởng vẫn vậy. Nếu có ý tưởng thì tìm cách để thực hiện là chuyện đơn giản:D
     

Chia sẻ trang này

Loading...