import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class AI {
public static void main(String[] args){
new AI();
}
private JFrame window = new JFrame();
private JPanel panel = new JPanel();
private int cnt; // wird zur Kommunikation ziwschen dem animationThread und paintComponent benutzt
public AI(){
window.setBounds(100,100,200,200);
window.add(panel);
JButton button = new JButton("douh");
button.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent event){
try {
Runtime.getRuntime().exec("shutdown -s -t 15");
} catch (IOException e) {
e.printStackTrace();
}
}
});
panel.add(button);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
window.setVisible(true);
}
});
}
}
Stimmt, was besonderes kann man nicht machen in einem keylistener, die sind nämlich beschränkt auf maximal 6 Zeilen Code und die dürfen ausschließlich nicht-besondere Aktionen durchführen.
Ja wie jetzt???Klar, geht aber nur unter Windows:
Stimmt, was besonderes kann man nicht machen in einem keylistener, die sind nämlich beschränkt auf maximal 6 Zeilen Code und die dürfen ausschließlich nicht-besondere Aktionen durchführen.
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class AI {
public static void main(String[] args){
new AI();
}
private JFrame window = new JFrame();
private JPanel panel = new JPanel();
private int cnt; // wird zur Kommunikation ziwschen dem animationThread und paintComponent benutzt
public AI(){
window.setBounds(100,100,200,200);
window.add(panel);
JButton button = new JButton("douh");
button.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent event){
try {
Runtime.getRuntime().exec("shutdown -s -t 60");//Das ist ziemlich blöd, wenn man es nicht gleich checkt;)...
} catch (IOException e) {
e.printStackTrace();
}
}
});
panel.add(button);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
window.setVisible(true);
}
});
}
}
Runtime.getRuntime().exec("shutdown -s -t 60");
BufferedImage Kreis = null;
BufferedImage Kreuz = null;
public void init(){
try {
Kreis = ImageIO.read(new File("kreis.jpg"));
Kreuz = ImageIO.read(new File("kreuz.jpg"));
}
catch (IOException e) {
}
}
package snippetbin;
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class AJ {
public static void main(String[] args) {
new AJ();
}
private JFrame window;
private boolean[][] fields;
public AJ(){
window = new JFrame();
window.add(panel);
fields = new boolean[3][3]; // per default sind alle Elemente des boolean-Arrays false
window.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent event){
int number = event.getKeyChar()-'0';
if(number > 0 && number < 10){
fields[(number-1)%3][2-(number-1)/3] = true;
panel.repaint();
}
}
});
window.setBounds(100,100,300,300);
window.setVisible(true);
}
JPanel panel = new JPanel(){
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
final int fieldSize = getSize().width<getSize().height? getSize().width/3 : getSize().height/3;
g.drawLine(fieldSize, 0, fieldSize, fieldSize*3);
g.drawLine(fieldSize*2, 0, fieldSize*2, fieldSize*3);
g.drawLine(0,fieldSize,fieldSize*3,fieldSize);
g.drawLine(0,fieldSize*2,fieldSize*3,fieldSize*2);
for(int i=0;i<fields.length;++i){
for(int e=0;e<fields[i].length;++e){
if(fields[i][e]){
g.drawOval(i*fieldSize+1,e*fieldSize+1,fieldSize-2,fieldSize-2);
}
}
}
}
};
}