0 Mã của tôi cần dừng xuất hiện JFrame

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Trong mã của tôi, Jframe bật lên liên tục bật lên khi quả bóng nảy lên tường. Tôi muốn nó dừng lại bật lên khi bóng chạm vào tường. Bóng sẽ chỉ tiếp tục nếu câu trả lời trong câu hỏi do jframe cung cấp được trả lời đúng.

Tôi đã thử sử dụng tính năng lặp trong QandA.hor để nó sẽ chỉ gọi tiếp tục lặp cho đến khi câu trả lời được nhập.

Đây là một số mã:

public Random r = new Random();
public menu m;

public String[] questions= {"what is 1+1?","What is the product of 3 and 6?","what is the difference between 300 and 150?",
"how many 5 apples in a cartel of 50 apples?"};
public String[] answers = {"2","18","150","10"};


public Ball b;
public JTextField qna;
public int num = r.nextInt(3);
public void hor () { 
    JFrame f = new JFrame();
    f.setSize(600, 400);
    f.setVisible(true);
    f.setLocationRelativeTo(null);

    JLabel qn = new JLabel(questions[num]);
    qn.setBounds(100,50,400,100);
    f.add(qn);

    JTextField qna = new JTextField("");
    qna.setBounds(100,150, 200, 50);
    f.add(qna);
    qna.addKeyListener(this);
    }

    public void ver () {

        JFrame f = new JFrame();
        f.setSize(600,400);
        f.setVisible(true);
        f.setLocationRelativeTo(null);
        int num = r.nextInt(3);

        JLabel q1 = new JLabel(questions[num]);
        q1.setBounds(100,50,400,100);
        f.add(q1);

        JTextField qna = new JTextField("");
        qna.setBounds(100,150, 200, 50);
        f.add(qna);
        qna.addKeyListener(this);

}

Có khóa void công khai Được nén

// TODO Auto-generated method stub

int key = e.getKeyCode();
String ans1 = qna.getText();

if(key == KeyEvent.VK_ENTER) {

    if (ans1.equalsIgnoreCase(answers[num])) {
        Ball.setValue = true;

        }

    }
}

Nơi Ball.java

    public int x,y; 
    public double velX=2, velY=2;
    public boolean bw = true;
    public bounce anim;
    public Ball ball;
    QandA qna = new QandA();

    Random r = new Random();

    Timer t = new Timer(10, this);

    public Ball(bounce anim) {
        x = anim.r.nextInt(940); 
        y = anim.r.nextInt(420);
        this.anim = anim;
    }
    public void move() {
        if (x<0 || x>940) {
            velX = -velX;
            stopper(x, 0);
        }
        if (y<0||y>420) {
            velY = -velY;
            stopper(0, y);
        }
        x += velX;
        y += velY;

    }
    public void stopper(int x, int y) {
        if (x<0 || x>940) {
            t.stop();
            qna.hor();
        }
        if (y<0||y>420) {
            t.stop();
            qna.ver();
        }
    }


    public void paint (Graphics g) {
        g.fillOval(x, y, 40, 40);
    }

    @Override
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub

    }
    public void stopper(boolean b) {
        // TODO Auto-generated method stub

    }

}

Muốn dừng khung hình từ lúc nào cũng bật lên. Tôi cũng muốn các câu hỏi hiển thị từ JFrame hiện lên.

    
0
0 Câu trả lời                              0                         
nguồn đặt đây