welcom

Selamat datang di blog sederhana kami..

Sunday, October 30, 2011

contoh program KeyEventTest

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pr_pbo2;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class KeyEventTest extends JFrame implements KeyListener {
private String baris1="", baris2="", baris3="";
private JTextArea textArea;

public KeyEventTest() {
super ("Mencoba Key Event");

textArea = new JTextArea (10,15);
textArea.setText("Tekan sembarang tombol di keyboard...");
textArea.setEnabled(false);
textArea.setDisabledTextColor(Color.BLACK);
getContentPane().add(textArea);

addKeyListener (this);

setSize (300,150);
setLocationRelativeTo(null);
setVisible(true);
}

@Override
public void keyPressed (KeyEvent e) {
baris1 = "Tombol yang ditekan : " + KeyEvent.getKeyText(e.getKeyCode());
setLines2and3 (e);
}

@Override
public void keyReleased (KeyEvent e) {
baris1 = "Tombol yang dilepas : " + KeyEvent.getKeyText(e.getKeyCode());
setLines2and3 (e);
}

@Override
public void keyTyped (KeyEvent e) {
baris1 = "Tombol yang ditulis : " + e.getKeyChar();
setLines2and3 (e);
}

private void setLines2and3 (KeyEvent e) {
baris2 = "This key is "+ (e.isActionKey() ? "" : "not ") + "an action key";
String temp = KeyEvent.getKeyModifiersText(e.getModifiers());
baris3 = "Modifier key pressed : " + (temp.equals("") ? "none" : temp);
textArea.setText(baris1 + "\n" + baris2 + "\n" + baris3 + "\n");
}

public static void main (String args[]) {
KeyEventTest test = new KeyEventTest();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

contoh program WindowEvent

package pr_pbo2;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class WindowEventDemo extends JPanel
implements WindowListener,
WindowFocusListener,
WindowStateListener {
final static String newline = "\n";
final static String space = " ";
static JFrame frame;
JTextArea display;

public WindowEventDemo() {
super(new BorderLayout());
display = new JTextArea();
display.setEditable(false);
JScrollPane scrollPane = new JScrollPane(display);
scrollPane.setPreferredSize(new Dimension(500, 450));
add(scrollPane, BorderLayout.CENTER);

frame.addWindowListener(this);
frame.addWindowFocusListener(this);
frame.addWindowStateListener(this);

checkWM();
}


public void checkWM() {
Toolkit tk = frame.getToolkit();
if (!(tk.isFrameStateSupported(Frame.ICONIFIED))) {
displayMessage(
"Your window manager doesn't support ICONIFIED.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_VERT))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_VERT.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_HORIZ))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_HORIZ.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_BOTH))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_BOTH.");
} else {
displayMessage(
"Your window manager supports MAXIMIZED_BOTH.");
}
}

@Override
public void windowClosing(WindowEvent e) {
displayMessage("WindowListener method called: windowClosing.");


ActionListener task = new ActionListener() {
boolean alreadyDisposed = false;
@Override
public void actionPerformed(ActionEvent e) {
if (!alreadyDisposed) {
alreadyDisposed = true;
frame.dispose();
} else {
System.exit(0);
}
}
};
Timer timer = new Timer(500, task);
timer.setInitialDelay(2000);
timer.start();
}

@Override
public void windowClosed(WindowEvent e) {

displayMessage("WindowListener method called: windowClosed.");
}

@Override
public void windowOpened(WindowEvent e) {
displayMessage("WindowListener method called: windowOpened.");
}

@Override
public void windowIconified(WindowEvent e) {
displayMessage("WindowListener method called: windowIconified.");
}

@Override
public void windowDeiconified(WindowEvent e) {
displayMessage("WindowListener method called: windowDeiconified.");
}

@Override
public void windowActivated(WindowEvent e) {
displayMessage("WindowListener method called: windowActivated.");
}

@Override
public void windowDeactivated(WindowEvent e) {
displayMessage("WindowListener method called: windowDeactivated.");
}

@Override
public void windowGainedFocus(WindowEvent e) {
displayMessage("WindowFocusListener method called: windowGainedFocus.");
}

@Override
public void windowLostFocus(WindowEvent e) {
displayMessage("WindowFocusListener method called: windowLostFocus.");
}

@Override
public void windowStateChanged(WindowEvent e) {
displayStateMessage(
"WindowStateListener method called: windowStateChanged.", e);
}

void displayMessage(String msg) {
display.append(msg + newline);
System.out.println(msg);
}

void displayStateMessage(String prefix, WindowEvent e) {
int state = e.getNewState();
int oldState = e.getOldState();
String msg = prefix
+ newline + space
+ "New state: "
+ convertStateToString(state)
+ newline + space
+ "Old state: "
+ convertStateToString(oldState);
display.append(msg + newline);
System.out.println(msg);
}

String convertStateToString(int state) {
if (state == Frame.NORMAL) {
return "NORMAL";
}
if ((state & Frame.ICONIFIED) != 0) {
return "ICONIFIED";
}

if ((state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH) {
return "MAXIMIZED_BOTH";
}
if ((state & Frame.MAXIMIZED_VERT) != 0) {
return "MAXIMIZED_VERT";
}
if ((state & Frame.MAXIMIZED_HORIZ) != 0) {
return "MAXIMIZED_HORIZ";
}
return "UNKNOWN";
}


private static void createAndShowGUI() {

JFrame.setDefaultLookAndFeelDecorated(true);


frame = new JFrame("WindowEventDemo");
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);


JComponent newContentPane = new WindowEventDemo();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);


frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}

}

contoh program MouseEventHandling

package pr_pbo2;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MouseEventHandling extends JFrame
implements MouseListener, MouseMotionListener {

private JLabel statusBar;

public MouseEventHandling () {
super ("Mencoba Beberapa Mouse Event Handling");

statusBar = new JLabel();
getContentPane().add(statusBar,BorderLayout.SOUTH);

addMouseListener (this);
addMouseMotionListener (this);

setSize (300,100);
setLocationRelativeTo(null);
setVisible(true);
}

//MouseListener event handler
public void mouseClicked (MouseEvent e) {
statusBar.setText("Clicked at ["+ e.getX() + "," + e.getY() + "]");
}

public void mousePressed (MouseEvent e) {
statusBar.setText("Pressed at ["+ e.getX() + "," + e.getY() + "]");
}

public void mouseReleased (MouseEvent e) {
statusBar.setText("Released at ["+ e.getX() + "," + e.getY() + "]");
}

public void mouseEntered (MouseEvent e) {
statusBar.setText("Entered at ["+ e.getX() + "," + e.getY() + "]");
getContentPane().setBackground(Color.GREEN);
}

public void mouseExited (MouseEvent e) {
statusBar.setText("Mouse outside window");
getContentPane().setBackground(Color.WHITE);
}

//MouseMotionListener event handler
public void mouseDragged (MouseEvent e) {
statusBar.setText("Dragged at ["+ e.getX() + "," + e.getY() + "]");
}

public void mouseMoved (MouseEvent e) {
statusBar.setText("Moved at ["+ e.getX() + "," + e.getY() + "]");
}

public static void main (String args[]) {
MouseEventHandling test = new MouseEventHandling();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
}