私は2つJPanel
の割り当てに取り組んでいます。一方のパネルにはデフォルトで移動する移動ボールが含まれ、もう一方のパネルにはJRadioButton
とのラベルが付いた2つのsがOn
ありOff
ます。私が立ち往生している部分は、ユーザーがパネルをクリックしてボールを再配置できるようにするMouseListener
( )を無効にして有効にすることです。( )を使用してトリガーP2.java
される関数を作成turnOn
しました。これにより、ボールが開始および停止します。使用しようとしましたが、コンパイラがメソッドを使用できないというエラーをスローします。turnOff
ActionListener
P1.java
removeActionListener
さらに、この例ItemListener
ではlikeを使用する方が簡単で、すでに選択されている場合は無視されますか?JRadioButton
P1.java
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class P1 extends JPanel
{
private JRadioButton on = new JRadioButton("On", true);
private JRadioButton off = new JRadioButton("Off");
public P1()
{
ButtonGroup group = new ButtonGroup();
group.add(on);
group.add(off);
add(on);
add(off);
ButtonHandler bh = new ButtonHandler();
on.addActionListener(bh);
off.addActionListener(bh);
}
private class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource() == on) turnOn();
if(ae.getSource() == off) turnOff();
}
}
public static void turnOn () {
Ball.dx = 1;
Ball.dy = 1;
}
public static void turnOff () {
Ball.dx = 0;
Ball.dy = 0;
}
}
P2.java
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class P2 extends JPanel implements MouseListener
{
public P2()
{
super();
addMouseListener(this);
}
public void mousePressed(MouseEvent e)
{
ball.x = e.getX();
ball.y = e.getY();
repaint();
}
...
}
プロジェクトの残りの部分