Я работаю над игрой, и для меню я использую Canvas
es, чтобы нарисовать материал для этого меню.
Для опций и кнопок я использую графику на холсте для рисования.строка.Как обнаружить щелчок мышью по строке?
параметры холста:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class OptionsScreen extends Canvas{
private static final long serialVersionUID = 1L;
private Mouse ms = new Mouse();
private int optionPos = 275;
private int volLev = 100;
private int screenX = 800;
private int screenY = 600;
private JFrame mainWindow;
public OptionsScreen(JFrame f)
{
mainWindow = f;
}
public void paint(Graphics g) {
g.setFont(new Font("JI-Pelter", Font.PLAIN, 24));
g.setColor(Color.lightGray);
//Draw strings
//Music and Sound
g.drawString("Music:", optionPos, 150); g.setColor(Color.yellow); g.drawString("On", optionPos + 100, 150); g.setColor(Color.white); g.drawString("Off", optionPos + 175, 150); g.setColor(Color.lightGray);
g.drawString("Sound:", optionPos, 200); g.setColor(Color.yellow); g.drawString("On", optionPos + 100, 200); g.setColor(Color.white); g.drawString("Off", optionPos + 175, 200); g.setColor(Color.lightGray);
g.drawString("Volume Level:", optionPos, 250); g.setColor(Color.white); g.drawString(volLev + "%", optionPos + 175, 250); g.setColor(Color.lightGray);
//OpenGL Settings
g.drawString("Advanced OpenGL:", optionPos, 300); g.setColor(Color.white); g.drawString("On", optionPos + 225, 300); g.setColor(Color.yellow); g.drawString("Off", optionPos + 300, 300); g.setColor(Color.lightGray);
//Screen Settings
g.drawString("Game Resolution:", optionPos, 350); g.setColor(Color.white); g.drawString(screenX + "x" + screenY, optionPos + 200, 350); g.setColor(Color.lightGray);
this.addMouseListener(ms);
}
}
class Mouse implements MouseListener
{
@Override
public void mouseClicked(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}