TITLE →(Enterクリック)→ GAME というふうにしたいのですが…できません><どこがダメなんでしょうか。 import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JPanel; public class JavaGame3 { public static void main(String age[]) { JFrame frame = new JFrame(); frame.setTitle("ゲームフレーム"); frame.setSize(500, 550); frame.setLocation(1000, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); Testpanel panel = new Testpanel(); frame.add(panel); } } class Testpanel extends JPanel implements KeyListener { static final int TITLE = 0; // タイトルモード static final int GAME = 1; // ゲームモード int mode; public Testpanel() { setBackground(Color.black); addKeyListener(this); mode = TITLE; // 最初はタイトル画面 } private void drawTitle(Graphics g) { g.setColor(Color.blue); g.drawString("test1", 165, 150); g.setColor(Color.white); g.drawString("Hit Enter Key!", 150, 350); } private void drawGameOver(Graphics g) { g.setColor(Color.white); g.fillRect(5,120,240,30); g.setColor(Color.red); g.drawString("test2", 85, 140); } public void paintComponent(Graphics g) { super.paintComponent(g); if(mode == TITLE) { drawTitle(g); } else if(mode == GAME) { drawGameOver(g); } } public void keyPressed(KeyEvent e){ int key = e.getKeyCode(); if(mode == TITLE) { switch(key) { case KeyEvent.VK_ENTER: mode = GAME; break; } }repaint(); } public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} }
↧