Hallo Leute,
zuerst ein bisschen was zu meinen Programmierenkenntnissen.
-ich studiere wirtschaftsinformatik bald im 5. Semester
-meine java kenntnisse sind nicht so berauschend (java liegt mir auch nicht sonderlich)
-ich habe letztes semester mit visual studio 2013 (c# und xaml) eine Gehirnjogging mathe app entwickelt die ich gerne in java(eclipse luna mit JFrame) umsetzen möchte.(als übung und vorbereitung)
ich nutze in eclipse den windowbuilder für design und das erstellen von events. zur zeit hänge ich bei den Buttons fest. ich hab das netz bereits einige stunden durchforstet, aber nichts gefunden, was mein problem gelöst hätte, hier im forum fand ich auch keinen helfenden Beitrag. (vielleicht hab ich mein setFocusable(true) falsch gesetzt?)
Problem:
ich möchte, dass die tastatur von anfang an initialisiert ist und immer funktioniert, egal ob ich vorher einen button gedrückt habe oder nicht. Momentan muss ich den button anklicken dann funktioniert die taste, sobald ich einen anderen button drücke geht sie wieder nicht mehr.
interessant ist auch, sobald ich einen system.out hinzufüge zum pressed key zeigt er mir an, dass die taste nicht gedrückt werden würde.
Bitte helft mir, ich weiß nicht worin der Fehler liegt.
bei c# konnte ich die tastatur via automatisch erzeugten switch case generieren lassen und die jeweiligen tastatur cases mit meinen methoden versehen. über initilisize method wurde die windows tastatur initialisiert.und funktionierte einwandfrei.
ich habe diesen einfachen testcode generiert:
Vielen dank an alle die helfen liebe grüße vivyel
zuerst ein bisschen was zu meinen Programmierenkenntnissen.
-ich studiere wirtschaftsinformatik bald im 5. Semester
-meine java kenntnisse sind nicht so berauschend (java liegt mir auch nicht sonderlich)
-ich habe letztes semester mit visual studio 2013 (c# und xaml) eine Gehirnjogging mathe app entwickelt die ich gerne in java(eclipse luna mit JFrame) umsetzen möchte.(als übung und vorbereitung)
ich nutze in eclipse den windowbuilder für design und das erstellen von events. zur zeit hänge ich bei den Buttons fest. ich hab das netz bereits einige stunden durchforstet, aber nichts gefunden, was mein problem gelöst hätte, hier im forum fand ich auch keinen helfenden Beitrag. (vielleicht hab ich mein setFocusable(true) falsch gesetzt?)
Problem:
ich möchte, dass die tastatur von anfang an initialisiert ist und immer funktioniert, egal ob ich vorher einen button gedrückt habe oder nicht. Momentan muss ich den button anklicken dann funktioniert die taste, sobald ich einen anderen button drücke geht sie wieder nicht mehr.
interessant ist auch, sobald ich einen system.out hinzufüge zum pressed key zeigt er mir an, dass die taste nicht gedrückt werden würde.
Bitte helft mir, ich weiß nicht worin der Fehler liegt.
bei c# konnte ich die tastatur via automatisch erzeugten switch case generieren lassen und die jeweiligen tastatur cases mit meinen methoden versehen. über initilisize method wurde die windows tastatur initialisiert.und funktionierte einwandfrei.
ich habe diesen einfachen testcode generiert:
Java:
public class test extends JFrame implements KeyListener {
private JTextField ausgabe;
public test() {
getContentPane().setLayout(null);
setFocusable(true);
ausgabe = new JTextField();
ausgabe.setEditable(false);
ausgabe.setBounds(66, 39, 86, 20);
getContentPane().add(ausgabe);
ausgabe.setColumns(10);
JButton button1 = new JButton("1");
button1.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyChar() == 'a')
{ ausgabe.setText( ausgabe.getText() + "a");}
}
});
button1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
ausgabe.setText( ausgabe.getText() + "1");
}
});
button1.setBounds(55, 129, 89, 23);
getContentPane().add(button1);
JButton clear = new JButton("C");
clear.addMouseListener(new MouseAdapter() {
[USER=48687]@Override[/USER]
public void mouseClicked(MouseEvent e) {
ausgabe.setText( "");
}
});
clear.setBounds(206, 129, 89, 23);
getContentPane().add(clear);
}
public static void main (String[] args)
{
new test().setVisible(true);
}
}
Vielen dank an alle die helfen liebe grüße vivyel
Zuletzt bearbeitet von einem Moderator: