Hỗ trợ lập trình Java
Hãy đăng nhập để tham gia thảo luận và chia sẻ!
Hỗ trợ lập trình Java
Hãy đăng nhập để tham gia thảo luận và chia sẻ!
Hỗ trợ lập trình Java

Diễn đàn hỏi đáp Java, hướng dẫn bài tập Java, Giúp đỡ về Java


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1101817


Vịt mới lớn
Vịt mới lớn
y tuong cua minh nhu code sau nhu khi chay khong chay duoc minh biet no khong biet cai Graphics nao de no setcolor nhung khong biet chinh sau mong BQT giup minh nhe
thanks BQT nhiu

Code:
import java.awt.*;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Bai2 extends JFrame{ 
    private Checkbox b1,b2,b3;
    private JFrame frame;
    public myPanel jp1;
    private JPanel jp2;
    public Bai2(){
       
    frame = new JFrame();
    frame.setSize(400,200);
    frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
    JCheckBox box = new JCheckBox();
    frame.setLayout(new BorderLayout());
    JPanel jp1 = new JPanel();
    jp1 = new myPanel();
    frame.add(jp1,BorderLayout.CENTER);
   
   
    JPanel jp2 = new JPanel();
   
    CheckboxGroup cb = new CheckboxGroup();
    Checkbox b1 = new Checkbox("Red",cb,true);
    Checkbox b2 = new Checkbox("Green",cb,false);
    Checkbox b3 = new Checkbox("Yellow",cb,false);
    Graphics g = null;
    if(b1.getState()==true)
    {
        g.setColor(Color.RED);
        g.fillOval(60,20, 50, 50);
    }
    if(b2.getState()==true)
    {
      g.setColor(Color.GREEN);
      g.fillOval(140,20,50,50);
    }
    if(b3.getState()==true)
    {
        g.setColor(Color.YELLOW);
        g.fillOval(140,20,50,50);
    }
    jp2.setLayout(new GridLayout(1,3));
    jp2.add(b1);
    jp2.add(b2);
    jp2.add(b3);
    frame.add(jp2,BorderLayout.SOUTH);
   
    frame.setVisible(true);
    }
    public static void main(String[] args) {
        Bai2 bi2 = new Bai2();
     
    }
   
}
class myPanel extends JPanel{
    @Override
    public void paintComponent(Graphics g) {
      super.paintComponent(g);
      g.setColor(Color.BLACK);
      g.drawRect(0,15,300,50);
      g.setColor(Color.RED);
      g.drawOval(60,20, 50, 50);
      g.setColor(Color.GREEN);
      g.drawOval(140,20,50,50);
      g.setColor(Color.YELLOW);
      g.drawOval(220,20, 50,50);
      }
}

Admin


Admin
Admin
Chào bạn,

Vấn đề là bạn chưa hiểu về bản chẩt vấn đề.
Ý của bạn là muốn thay đổi cái hình, cụ thể là thay đổi g trong class graphics, nhưng theo chương trình của bạn ở trên thì 2 cái g hoàn toàn khác nhau. Với loại bài này, bạn phải xây dựng 1 hàm xây dựng trong class myPane, để truyền tham số vào để đổi thông số.
Ví dụ như xây dựng hàm setcolor(String color)
Thì như vậy khi nhận được sự kiện nào, bạn truyền vào màu muốn đổi rồi thay đổi trong class myPane.

(Bạn có thể tham khảo bài: Bài 2-Buổi 3 trên 4r)
Chúc bạn thành công.

https://javasupport.forumvi.com

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết