https://pastein.ru/t/c0
скопируйте уникальную ссылку для отправки
package kosynka;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.Timer;
import java.awt.*;
import java.awt.event.*;
import javax.imageio.*;
import java.io.*;
public class Panel extends JPanel {
public Image bgImage;
private Timer timerDraw; // tmDraw;
private JButton btnExit, btnNewGame;
private Logic gameLogic;
public class MyMouse1 implements MouseListener {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
if (gameLogic.gameEnd == false) {
//Получем координаты курсора
int mX = e.getX();
int mY = e.getY();
//Если нажата левая клавиша мыши один раз
if ( (e.getButton() == 1) && (e.getClickCount() == 1) ) {
//Вызываем метод из класса Logic
gameLogic.mousePressed(mX, mY);
}
else if ( (e.getButton() == 1) && (e.getClickCount() == 2) ) {
//Вызываем метод из класса Logic
gameLogic.mousePressed(mX, mY);
}
}
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
//Если еще не конец игры
if(gameLogic.gameEnd == false) {
//Получаем коодинаты
int mX = e.getX();
int mY = e.getY();
//Если нажата левая клавиша мыши
if(e.getButton() == 1) {
//Вызываем метод из класса Logic
gameLogic.mouseReleased(mX, mY);
}
}
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
}
public class MyMouse2 implements MouseMotionListener {
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
if(gameLogic.gameEnd == false) {
//получаем коодинаты
int mX = e.getX();
int mY = e.getY();
//вызываем метод из класса Logic
gameLogic.mouseDragged(mX, mY);
}
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
}
public Panel() {
addMouseListener(new MyMouse1());
addMouseMotionListener(new MyMouse2());
//ЧСоздаем объект класса Logic
gameLogic = new Logic();
try {
bgImage = ImageIO.read(new File("C:\\cards\\table-background.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
}
setLayout(null);
btnNewGame = new JButton();
btnNewGame.setText("Новая игра");
btnNewGame.setForeground(Color.BLUE);
btnNewGame.setFont(new Font("serif",0,30));
btnNewGame.setBounds(130,450,200,80);
btnNewGame.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
gameLogic.start();
}
});
add(btnNewGame);
btnExit = new JButton();
btnExit.setText("Выход");
btnExit.setForeground(Color.RED);
btnExit.setFont(new Font("serif",0,30));
btnExit.setBounds(530,450,200,80);
btnExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
add(btnExit);
timerDraw = new Timer(20, new ActionListener() {
public void actionPerformed(ActionEvent e) {
repaint();
}
});
timerDraw.start();
}
public void paintComponent(Graphics gr) {
gr.drawImage(bgImage, 0,0,1000,700, null);
}
}