My Mouse Released не работает. В моем коде есть два JPanels (p1 и p2) в другом JPanel (p). и есть две кнопки с именем RED и GREEN. Мой код должен работать, как когда кто-то нажимает кнопки, панели должны быть изменены динамически. Но, к сожалению, когда я запускаю свою программу, кнопки «RED» и «GREEN» не отвечают. Здесь я добавил свои коды. Спасибо.MouseListener не работает
package animat;
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
public class Animat extends JFrame{
Animat(){
JFrame j=new JFrame();
j.setSize(400,400);
j.setVisible(true);
JPanel p=new JPanel();
p.setSize(300,400);
p.setLayout(null);
p.setBackground(Color.BLACK);
p.setVisible(true);
j.add(p);
JPanel p1=new JPanel();
p1.setBounds(0,50,400,350);
p1.setBackground(Color.red);
p1.setVisible(true);
p.add(p1);
JPanel p2=new JPanel();
p2.setBounds(0,50,400,350);
p2.setBackground(Color.GREEN);
p2.setVisible(true);
p.add(p2);
JButton b=new JButton("RED");
b.setBounds(0,0,100,50);
b.setVisible(true);
p.add(b);
JButton b1=new JButton("GREEN");
b1.setBounds(100,0,100,50);
b1.setVisible(true);
p.add(b1);
b.addMouseListener(new MouseAdapter(){
public void MouseReleased(MouseEvent e){
p.removeAll();
p.repaint();
p.revalidate();
p.add(p1);
}
});
b1.addMouseListener(new MouseAdapter(){
public void MouseReleased(MouseEvent e){
p.removeAll();
p.repaint();
p.revalidate();
p.add(p2);
}
});
}
public static void main(String[] args) {
new Animat();
}
}
Инстайн использования мышеловщика к кнопке. Вы можете использовать actionListener. b.addActionListener (новый ActionListener() {}); –
@ Arc676 благодарит за ваше предложение. В случае MouseListener необходимо добавить все прослушиватели действий, такие как нажатие мыши, щелчок мышью, мышь с выпуском и т. Д., В то время как мышь-адаптер помогает мне выбрать только нужные мне действия. – Shishir
Попробуйте 'ActionListener', как это предложил другой комментатор. Это то, что я имел в виду. Извините (я думал об обнаружении кликов на холсте). – Arc676