Ich sitze gerade an einer Gui und versuche verzweifelt einen KeyListener hinzukrigen.
Aber aus irgendeinem grund wird das event nicht ausgelöst.
Weiß jemand warum?
(Ich habe den KeyListener in Zeile 201 definiert)
[CODE lang="java" title="Gui"]package de.gui;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import de.datamanagment.Categorys;
import de.datamanagment.DatamanagmentSaves;
import de.datamanagment.Entry;
import de.main.Main;
import de.sqlite.SQLiteManager;
public class Gui extends JFrame implements KeyListener {
private static final long serialVersionUID = -4066404451884471989L;
public static boolean GuiIsOpen = false;
// private JFrame frame = new JFrame();
private JLabel topLayer = new JLabel();
@SuppressWarnings("rawtypes")
private JList list1 = new JList();
@SuppressWarnings("rawtypes")
private DefaultListModel list1Model = new DefaultListModel();
private JScrollPane list1ScrollPane = new JScrollPane(list1);
private JScrollBar ScrolBar = new JScrollBar();
private JLabel lName = new JLabel();
private JLabel lTyp = new JLabel();
@SuppressWarnings("rawtypes")
private JList list2 = new JList();
@SuppressWarnings("rawtypes")
private DefaultListModel list2Model = new DefaultListModel();
private JScrollPane list2ScrollPane = new JScrollPane(list2);
private JButton deletEntry = new JButton();
private JButton openEntry = new JButton();
private JLabel lAusgewaehltenEintrag = new JLabel();
private JButton rename = new JButton();
private JButton newCategory = new JButton();
private JButton newEntry = new JButton();
// Ende Attribute
@SuppressWarnings("unchecked")
public Gui() {
super();
System.out.println();
if (!GuiIsOpen) {
GuiIsOpen = true;
Main.newPaswort = null;
Main.login = null;
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 700;
int frameHeight = 500;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setTitle("Passwortmanager");
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
topLayer.setBounds(225, 8, 250, 25);
topLayer.setText("Passwortmanager");
topLayer.setFont(new Font("Dialog", Font.BOLD, 20));
topLayer.setHorizontalAlignment(SwingConstants.CENTER);
cp.add(topLayer);
cp.setBackground(Color.WHITE);
setUndecorated(false);
list1.setModel(list1Model);
list1ScrollPane.setBounds(30, 70, 278, 370);
// list1Model.addElement("1");
// list1Model.addElement("2");
// list1Model.addElement("3");
// list1Model.addElement("4");
cp.add(list1ScrollPane);
ScrolBar.setBounds(8, 58, 17, 380);
ScrolBar.setOrientation(SwingConstants.VERTICAL);
cp.add(ScrolBar);
lName.setBounds(32, 50, 42, 19);
lName.setText("Name");
cp.add(lName);
lTyp.setBounds(312, 50, 49, 19);
lTyp.setText("Typ");
cp.add(lTyp);
list2.setModel(list2Model);
list2ScrollPane.setBounds(312, 72, 121, 369);
cp.add(list2ScrollPane);
deletEntry.setBounds(440, 72, 242, 33);
deletEntry.setText("... löschen (entf)");
deletEntry.setMargin(new Insets(2, 2, 2, 2));
deletEntry.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
deletEntry(evt);
}
});
cp.add(deletEntry);
openEntry.setBounds(440, 112, 242, 33);
openEntry.setText("... öffnen (enter)");
openEntry.setMargin(new Insets(2, 2, 2, 2));
openEntry.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
opoenEntry(evt);
}
});
cp.add(openEntry);
lAusgewaehltenEintrag.setBounds(440, 48, 242, 19);
lAusgewaehltenEintrag.setText("Ausgewählten Eintrag...");
cp.add(lAusgewaehltenEintrag);
rename.setBounds(440, 152, 242, 33);
rename.setText("... umbenenen (u)");
rename.setMargin(new Insets(2, 2, 2, 2));
rename.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
renameEntry(evt);
}
});
cp.add(rename);
newEntry.setBounds(440, 232, 242, 33);
newEntry.setText("Neuer Eintrag");
newEntry.setMargin(new Insets(2, 2, 2, 2));
newEntry.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
}
});
cp.add(newEntry);
newCategory.setBounds(440, 272, 242, 33);
newCategory.setText("Neue Kategory");
newCategory.setMargin(new Insets(2, 2, 2, 2));
newCategory.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
}
});
cp.add(newCategory);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
windos_closed(evt);
}
});
ScrolBar.addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent evt) {
}
});
list1.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
list2.setSelectedIndex(list1.getSelectedIndex());
}
});
list2.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
list1.setSelectedIndex(list2.getSelectedIndex());
}
});
for (Entry ent : DatamanagmentSaves.entrys) {
list1Model.addElement(ent.website);
list2Model.addElement("Eintrag");
}
for (Categorys cat : DatamanagmentSaves.categorys) {
System.out.println(cat.catName);
if (cat.getMother() != null && cat.getMother().catName.equals("main")) {
list1Model.addElement(cat.catName);
list2Model.addElement("Category");
}
}
this.addKeyListener(new MyKeyListener());
setVisible(true);
}
}
public void windos_closed(WindowEvent evt) {
System.out.println("closed");
SQLiteManager.disconnect();
System.exit(0);
}
public void deletEntry(ActionEvent evt) {
}
public void opoenEntry(ActionEvent evt) {
}
public void renameEntry(ActionEvent evt) {
}
@Override
public void keyTyped(KeyEvent evt) {
System.out.println("key");
}
@Override
public void keyPressed(KeyEvent evt) {
int key = evt.getKeyCode();
System.out.println(key);
}
@Override
public void keyReleased(KeyEvent evt) {
// TODO Auto-generated method stub
}
}
class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent event) {
System.out.println("asdf");
}
}
[/CODE]
Aber aus irgendeinem grund wird das event nicht ausgelöst.
Weiß jemand warum?
(Ich habe den KeyListener in Zeile 201 definiert)
[CODE lang="java" title="Gui"]package de.gui;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import de.datamanagment.Categorys;
import de.datamanagment.DatamanagmentSaves;
import de.datamanagment.Entry;
import de.main.Main;
import de.sqlite.SQLiteManager;
public class Gui extends JFrame implements KeyListener {
private static final long serialVersionUID = -4066404451884471989L;
public static boolean GuiIsOpen = false;
// private JFrame frame = new JFrame();
private JLabel topLayer = new JLabel();
@SuppressWarnings("rawtypes")
private JList list1 = new JList();
@SuppressWarnings("rawtypes")
private DefaultListModel list1Model = new DefaultListModel();
private JScrollPane list1ScrollPane = new JScrollPane(list1);
private JScrollBar ScrolBar = new JScrollBar();
private JLabel lName = new JLabel();
private JLabel lTyp = new JLabel();
@SuppressWarnings("rawtypes")
private JList list2 = new JList();
@SuppressWarnings("rawtypes")
private DefaultListModel list2Model = new DefaultListModel();
private JScrollPane list2ScrollPane = new JScrollPane(list2);
private JButton deletEntry = new JButton();
private JButton openEntry = new JButton();
private JLabel lAusgewaehltenEintrag = new JLabel();
private JButton rename = new JButton();
private JButton newCategory = new JButton();
private JButton newEntry = new JButton();
// Ende Attribute
@SuppressWarnings("unchecked")
public Gui() {
super();
System.out.println();
if (!GuiIsOpen) {
GuiIsOpen = true;
Main.newPaswort = null;
Main.login = null;
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 700;
int frameHeight = 500;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setTitle("Passwortmanager");
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
topLayer.setBounds(225, 8, 250, 25);
topLayer.setText("Passwortmanager");
topLayer.setFont(new Font("Dialog", Font.BOLD, 20));
topLayer.setHorizontalAlignment(SwingConstants.CENTER);
cp.add(topLayer);
cp.setBackground(Color.WHITE);
setUndecorated(false);
list1.setModel(list1Model);
list1ScrollPane.setBounds(30, 70, 278, 370);
// list1Model.addElement("1");
// list1Model.addElement("2");
// list1Model.addElement("3");
// list1Model.addElement("4");
cp.add(list1ScrollPane);
ScrolBar.setBounds(8, 58, 17, 380);
ScrolBar.setOrientation(SwingConstants.VERTICAL);
cp.add(ScrolBar);
lName.setBounds(32, 50, 42, 19);
lName.setText("Name");
cp.add(lName);
lTyp.setBounds(312, 50, 49, 19);
lTyp.setText("Typ");
cp.add(lTyp);
list2.setModel(list2Model);
list2ScrollPane.setBounds(312, 72, 121, 369);
cp.add(list2ScrollPane);
deletEntry.setBounds(440, 72, 242, 33);
deletEntry.setText("... löschen (entf)");
deletEntry.setMargin(new Insets(2, 2, 2, 2));
deletEntry.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
deletEntry(evt);
}
});
cp.add(deletEntry);
openEntry.setBounds(440, 112, 242, 33);
openEntry.setText("... öffnen (enter)");
openEntry.setMargin(new Insets(2, 2, 2, 2));
openEntry.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
opoenEntry(evt);
}
});
cp.add(openEntry);
lAusgewaehltenEintrag.setBounds(440, 48, 242, 19);
lAusgewaehltenEintrag.setText("Ausgewählten Eintrag...");
cp.add(lAusgewaehltenEintrag);
rename.setBounds(440, 152, 242, 33);
rename.setText("... umbenenen (u)");
rename.setMargin(new Insets(2, 2, 2, 2));
rename.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
renameEntry(evt);
}
});
cp.add(rename);
newEntry.setBounds(440, 232, 242, 33);
newEntry.setText("Neuer Eintrag");
newEntry.setMargin(new Insets(2, 2, 2, 2));
newEntry.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
}
});
cp.add(newEntry);
newCategory.setBounds(440, 272, 242, 33);
newCategory.setText("Neue Kategory");
newCategory.setMargin(new Insets(2, 2, 2, 2));
newCategory.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
}
});
cp.add(newCategory);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
windos_closed(evt);
}
});
ScrolBar.addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent evt) {
}
});
list1.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
list2.setSelectedIndex(list1.getSelectedIndex());
}
});
list2.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
list1.setSelectedIndex(list2.getSelectedIndex());
}
});
for (Entry ent : DatamanagmentSaves.entrys) {
list1Model.addElement(ent.website);
list2Model.addElement("Eintrag");
}
for (Categorys cat : DatamanagmentSaves.categorys) {
System.out.println(cat.catName);
if (cat.getMother() != null && cat.getMother().catName.equals("main")) {
list1Model.addElement(cat.catName);
list2Model.addElement("Category");
}
}
this.addKeyListener(new MyKeyListener());
setVisible(true);
}
}
public void windos_closed(WindowEvent evt) {
System.out.println("closed");
SQLiteManager.disconnect();
System.exit(0);
}
public void deletEntry(ActionEvent evt) {
}
public void opoenEntry(ActionEvent evt) {
}
public void renameEntry(ActionEvent evt) {
}
@Override
public void keyTyped(KeyEvent evt) {
System.out.println("key");
}
@Override
public void keyPressed(KeyEvent evt) {
int key = evt.getKeyCode();
System.out.println(key);
}
@Override
public void keyReleased(KeyEvent evt) {
// TODO Auto-generated method stub
}
}
class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent event) {
System.out.println("asdf");
}
}
[/CODE]