2016-05-01 27 views
2

我有點點滴滴的鼠標偵聽器,但我不知道如何將它們連接在一起。當用戶點擊「玩遊戲」按鈕時,我試圖讓一個tic tac toe遊戲激活。援助將不勝感激。如何使用鼠標偵聽器來調用另一個類?

import java.awt.*; 
    import java.awt.BorderLayout; 
    import java.awt.FlowLayout; 
    import java.awt.EventQueue; 
    import javax.swing.UIManager; 
    import javax.swing.UnsupportedLookAndFeelException; 
    import java.awt.GridBagLayout; 
    import java.awt.event.*; 
    import java.awt.event.ActionListener.*; 
    import javax.swing.*; 
    import javax.swing.JFrame; 
    import javax.swing.JPanel; 
    import javax.swing.JLabel; 
    import javax.swing.JButton; 
    import javax.swing.ImageIcon; 
    import javax.swing.border.EmptyBorder; 
    import javax.swing.JOptionPane; 
    import java.awt.Color; 

    public class Use_PF_Interface extends JFrame implements Pet_Fish_Interface, MouseListener 
    { 
     // instance variables - replace the example below with your own 
     private JFrame window; 
     private JPanel backgroundPanel; 
     private JLabel lblBackgroundImage = new JLabel(); 
     private JButton feedButton = new JButton("Feed Fish"); 
     private JButton playGamesButton = new JButton("Play Game"); 
     volatile private boolean mouseDown = false; 

     //creates frame window 
     public Use_PF_Interface() 
     { 
      setTitle("Virtual Pet Fish"); 
      setSize(400, 400); 

      //initializes panels and panel layout 
      backgroundPanel = new JPanel(); 
      backgroundPanel.setOpaque(false); 
      backgroundPanel.setLayout(new FlowLayout()); 

      lblBackgroundImage.setLayout(new FlowLayout()); 

      //sets background image of panel 
      lblBackgroundImage.setIcon(new ImageIcon("OCEAN2.jpg")); 
      lblBackgroundImage.setLayout(new BorderLayout()); 
      lblBackgroundImage.setBounds(0, 0, 400, 400); 


      //adds button to panels 
      backgroundPanel.add(feedButton); 
      backgroundPanel.add(playGamesButton); 
      lblBackgroundImage.add(backgroundPanel); 


      add(lblBackgroundImage); 


      feedButton.addMouseListener(this); 
      playGamesButton.addMouseListener(listener); 

      addMouseListener(this); 


      }//creates frame window 

     /** 
     * This method will create an action for the button. 
     * @pre none 
     * @return tic tac toe game 
     * @param none 
     * @post none 
     */ 

     public void mousePressed(MouseEvent e) 
     { 

      if (e.getButton() == MouseEvent.playGamesButton) 
      { 
       mouseDown = true; 
       Tic_Tac_Toe(); 
       } 
     } 

     public void mouseReleased(MouseEvent e) 
     { 
      if(e.getButton() == MouseEvent.feedButton) 
      { 
       mouseDown = false; 

      } 
     } 

      public void mouseExited(MouseEvent e) 
      { 
      } 

我目前recieving此錯誤:在java.awt.event.MouseListener

Use_PF_interface不是抽象的,不重寫抽象方法的mouseEntered(java.awt.event.MouseEvent中)

回答

0

沒有把握這是問題,但是應該在那個類中有一個mouseEntered方法來覆蓋所提到的?

1

解決方案非常簡單。 MouseListener是一個接口。接口是一個包含實現此接口的類必須包含的方法的類。即使這些方法不包含任何內容,您也必須將它們包含在代碼中。所以,如果你想實現MouseListener你必須重寫這些5種方法:

import java.awt.event.MouseEvent; 
import java.awt.event.MouseListener; 


public class Example implements MouseListener { 

@Override 
public void mouseClicked(MouseEvent e) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mousePressed(MouseEvent e) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mouseReleased(MouseEvent e) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mouseEntered(MouseEvent e) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void mouseExited(MouseEvent e) { 
    // TODO Auto-generated method stub 

} 


} 

順便說一下,你就不能使用一個ActionListener對於這一點,你要怎麼辦?

相關問題