Java 我怎么做纽扣?
我不想要一个Java 我怎么做纽扣?,java,swing,button,actionlistener,Java,Swing,Button,Actionlistener,我不想要一个JButton或类似的东西,我很难理解ActionListeners。 如果有人能告诉我应该在他的代码中添加什么,那么当我点击这些坐标时,我会进入下一个状态: class paint extends JPanel implements ActionListener{ public void MouseInput(MouseEvent m){ int y = m.getY(); int x = m.getX(); if(x >= 250 &
JButton
或类似的东西,我很难理解ActionListener
s。
如果有人能告诉我应该在他的代码中添加什么,那么当我点击这些坐标时,我会进入下一个状态:
class paint extends JPanel implements ActionListener{
public void MouseInput(MouseEvent m){
int y = m.getY();
int x = m.getX();
if(x >= 250 && x <= 550 && y >= 300 && y <= 400){
}
}
public void actionPerformed(ActionEvent e) {
}
}
class paint扩展JPanel实现ActionListener{
公共无效鼠标输入(鼠标事件m){
int y=m.getY();
int x=m.getX();
如果(x>=250&&x=300&&y为了让您的Swing组件JPanel
通知一些源事件,在您的情况下,您希望听到鼠标单击;您的组件应该添加一些实现鼠标侦听器的侦听器(此侦听器应实现MouseListener
接口中声明的方法,这些方法将作为自定义逻辑的基础):
然后您的JPanel
组件可以添加此lisneter:
public class MyPanel extends JPanel
{
public static void main(String[] args)
{
MyPanel panel = new MyPanel();
panel.addMouseListener(new MyMouseListener());
}
}
默认方法是将特定于MouseListener
的实现声明为Swing组件的内部类,以便利用这些类的自然绑定,并从一个和另一个实例变量中访问这两个实例变量。
这将允许您为单个事件设置多个侦听器,但如果您不需要,您仍然可以将自己的组件设置为侦听器:
public class MyPanel extends JPanel implements MouseListener
{
public static void main(String[] args)
{
MyPanel panel = new MyPanel();
panel.initialize();
}
private void initialize()
{
this.addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent e)
{
}
@Override
public void mousePressed(MouseEvent e)
{
}
@Override
public void mouseReleased(MouseEvent e)
{
}
@Override
public void mouseEntered(MouseEvent e)
{
}
@Override
public void mouseExited(MouseEvent e)
{
}
}
要使JPanel响应鼠标单击,您需要在panel.Read.Buttons中添加鼠标侦听器,因为它们可以将低级鼠标单击和键盘操作转换为高级操作事件。JPanel不会这样做。
public class MyPanel extends JPanel implements MouseListener
{
public static void main(String[] args)
{
MyPanel panel = new MyPanel();
panel.initialize();
}
private void initialize()
{
this.addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent e)
{
}
@Override
public void mousePressed(MouseEvent e)
{
}
@Override
public void mouseReleased(MouseEvent e)
{
}
@Override
public void mouseEntered(MouseEvent e)
{
}
@Override
public void mouseExited(MouseEvent e)
{
}
}