Skip to content

Instantly share code, notes, and snippets.

@qnighy
Created July 10, 2009 13:03
Show Gist options
  • Save qnighy/144495 to your computer and use it in GitHub Desktop.
Save qnighy/144495 to your computer and use it in GitHub Desktop.
/*
* 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