Created
July 10, 2009 13:03
-
-
Save qnighy/144495 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* This source code is a template code to make a simple GUI program like a game with JFC/Swing. | |
*/ | |
import java.awt.*; | |
import java.awt.geom.*; | |
import java.awt.event.*; | |
import javax.swing.*; | |
import javax.swing.event.*; | |
public class Application extends JFrame { | |
private AppliPanel main_panel; | |
public Application() { | |
super("Application Frame"); | |
setSize(800, 600); | |
setDefaultCloseOperation(EXIT_ON_CLOSE); | |
getContentPane().add(main_panel = new AppliPanel()); | |
setVisible(true); | |
} | |
private class AppliPanel extends JPanel implements KeyListener, MouseListener, MouseMotionListener, MouseWheelListener { | |
private String test_message = "Click or Type!"; | |
public AppliPanel() { | |
super(true); | |
addMouseListener(this); | |
addMouseMotionListener(this); | |
addMouseWheelListener(this); | |
addKeyListener(this); | |
setFocusable(true); | |
} | |
@Override public void paint(Graphics g) { | |
g.setColor(Color.WHITE); | |
g.fillRect(0, 0, getWidth(), getHeight()); | |
g.setColor(Color.BLACK); | |
g.setFont(g.getFont().deriveFont(50.0f)); | |
g.drawString("Hello, world!", 100, 150); | |
if(test_message != null) { | |
g.drawString(test_message, 100, 200); | |
} | |
} | |
@Override public void keyPressed(KeyEvent evt) {}//use evt.getKeyChar() or evt.getKeyCode() | |
@Override public void keyReleased(KeyEvent evt) {} | |
@Override public void keyTyped(KeyEvent evt) { | |
//use evt.getKeyChar(), can't use evt.getKeyCode() | |
test_message = "Key "+evt.getKeyChar()+" typed"; | |
repaint(); | |
} | |
@Override public void mouseClicked(MouseEvent evt) { | |
if(evt.getButton() == MouseEvent.BUTTON2) { | |
test_message = "Right Click at ("+evt.getX()+","+evt.getY()+")"; | |
} else if(evt.getClickCount() == 1) { | |
test_message = "Click at ("+evt.getX()+","+evt.getY()+")"; | |
} else if(evt.getClickCount() == 2) { | |
test_message = "Double Click at ("+evt.getX()+","+evt.getY()+")"; | |
} | |
repaint(); | |
} | |
@Override public void mouseDragged(MouseEvent evt) {} | |
@Override public void mouseEntered(MouseEvent evt) {} | |
@Override public void mouseExited(MouseEvent evt) {} | |
@Override public void mouseMoved(MouseEvent evt) {} | |
@Override public void mousePressed(MouseEvent evt) {} | |
@Override public void mouseReleased(MouseEvent evt) {} | |
@Override public void mouseWheelMoved(MouseWheelEvent evt) {} | |
} | |
public static void main(String[] args) { | |
new Application(); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment