https://pastein.ru/t/kM

  скопируйте уникальную ссылку для отправки


import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.Timer;

import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JPanel;

public class Panel extends JPanel{
	private Timer tmDraw;
	private Image fon,paluba,ubit,ranen,end1,end2,bomb;
	private JButton btn1,btn_exit;
	private Logic gameLogic;
	
	public Panel() {
		//Создаем объект
		gameLogic = new Logic();
		gameLogic.start();
		
		try {
			fon = ImageIO.read(new File("C:\\bg.jpg"));
			paluba = ImageIO.read(new File("C:\\ship.png"));
			ubit = ImageIO.read(new File("C:\\bg.jpg"));
			ranen = ImageIO.read(new File("C:\\bg.jpg"));
			end1 = ImageIO.read(new File("C:\\bg.jpg"));
			end2 = ImageIO.read(new File("C:\\bg.jpg"));
			bomb = ImageIO.read(new File("C:\\bomb.png"));
		}
		catch(IOException ex) {
			
		}
		
		setLayout(null);
		btn1 = new JButton();
		btn1.setText("New game");
		btn1.setForeground(Color.PINK);
		btn1.setBounds(430,450,130,50);
		btn1.setFont(new Font("serif",0,20));
		btn1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				gameLogic.start();
			}
			
		});
		add(btn1);	
		
		btn_exit = new JButton();
		btn_exit.setText("EXIT");
		btn_exit.setForeground(Color.PINK);
		btn_exit.setBounds(430,5555, 200,130);
		btn_exit.setFont(new Font("serif",0,20));
		btn_exit.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.exit(0);
			}
		});
		add(btn_exit);
	}
	
	public void paintComponent (Graphics gr) {
		super.paintComponent(gr);
		
		gr.drawImage(fon, 0,0,900,600,null);
		gr.setFont(new Font("serif",3,40));
		gr.setColor(Color.PINK);
		gr.drawString("Компьютер", 150, 50);
		gr.drawString("Игрок", 590, 50);
		
		for(int i = 0; i <10; i++) {
			for(int j =0; j<10; j++) {
				//Если это палуба корабля
				if((gameLogic.masPlay[i][j] >= 1) && (gameLogic.masPlay[i][j] <= 4)) {
					gr.drawImage(paluba, 500 + j*30, 100 + i*30, 30, 30, null);
				}
			}
		}
		
		gr.setColor(Color.CYAN);
		for(int i=0; i<=10; i++) {
			//ПОЛЕ ДЛЯ КОМПЬЮТЕРА
			gr.drawLine(100+i*30,100,100+i*30, 400);
			gr.drawLine(100, 100+i*30, 400, 100+i*30);
			
			//пОЛЕ ДЛЯ ИГРОКА
			gr.drawLine(500+i*30,100,500+i*30, 400);
			gr.drawLine(500, 100+i*30, 800, 100+i*30);
		}
		
		gr.setFont(new Font("serif", 0,20));
		for (int i = 1; i<=10; i++) {
			//вывод цифр
			gr.drawString(""+i, 73, 93+i*30);
			gr.drawString(""+i, 473, 93+i*30);
			
			//вывод
			gr.drawString("" +(char)('A'+i-1), 80+i*30, 93);
			gr.drawString("" +(char)('A'+i-1), 480+i*30, 93);
		}
	}
	
}