Toon posts:

[java] keylistener

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik hoop dat het zo wat duidelijker wordt

zo is er geen probleem, en worden de keys goed gedetecteerd
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String []args)
{
JFrame mf= new JFrame();
mf.setSize(800,800);
mf.addKeyListener(new KeyAdapter (){
        public void keyPressed(KeyEvent evt) 
        {

            if (evt.getKeyCode() == KeyEvent.VK_CONTROL)
            {
               NDPanel.CTRL=true;
               System.out.println("test"+NDPanel.CTRL);
            }
        }
        public void keyReleased(KeyEvent evt)  
        {
            if (evt.getKeyCode() == KeyEvent.VK_CONTROL)
            {
               NDPanel.CTRL=false;
            }           
        }
    });
mf.setLocation(100,100);
mf.setVisible(true);
}


Als ik nu zelf een JFrame maak waar ik allerlei componentjes in stop loopt het mis

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
public class MainFrame extends JFrame
{
    private JMenuBar menubar;
    private JToolBar toolbar;
        
    private TreePanel tree;
    private JDesktopPane desktop;
    private JSplitPane splitpane;
    
    private Locale locale;
    private ResourceBundle menus;

    
    private Vector fileVect;
    public MainFrame()
    {
        //creating JMenuBar
        menubar = new JMenuBar();
        toolbar = new JToolBar();
        
        locale = new Locale("fr","FR");
        menus = ResourceBundle.getBundle"MenuResourceBundle",locale); 
        
//hierin worden de menus gemaakt
createFileMenu();
        createEditMenu();
        createInsertMenu();
        createViewMenu();
        createMethodMenu();
        createModelMenu();
        createPostprocessMenu();
        createParallelMenu();
        createHelpMenu();
        createAboutMenu();
        
        tree = new TreePanel();
        desktop =  new JDesktopPane();
        splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT , tree, desktop);
        getContentPane().add(splitpane, BorderLayout.CENTER);
        
        
        JInternalFrame jif1 =  new JInternalFrame("jif1") ;
        JInternalFrame jif2 =  new JInternalFrame("jif2") ;
        jif1.setSize(100,100);
        jif2.setSize(100,100);
        jif1.setVisible(true);
        jif2.setVisible(true);
            
        ((JDesktopPane)splitpane.getRightComponent()).add(jif1);
        ((JDesktopPane)splitpane.getRightComponent()).add(jif2);

        
        this.setJMenuBar(menubar);
        createToolbar();
}
    private void createToolbar()
    {
                //hier worden de knoppen van de toolbar gemaakt
    }
    
    
    public static void main(String [] args)
    {
        MainFrame mf = new MainFrame();
    //JFrame mf= new JFrame();
mf.addKeyListener(new KeyAdapter (){
        public void keyPressed(KeyEvent evt) 
        {

            if (evt.getKeyCode() == KeyEvent.VK_CONTROL)
            {
               NDPanel.CTRL=true;
               System.out.println("test"+NDPanel.CTRL);
            }
        }
        public void keyReleased(KeyEvent evt)  
        {
            if (evt.getKeyCode() == KeyEvent.VK_CONTROL)
            {
               NDPanel.CTRL=false;
            }           
        }
    });
        mf.setSize(800,800);
    
        mf.setLocation(100,100);
        mf.setVisible(true);
    JDesktopPane desktop = new JDesktopPane();



    }
        
}

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
En wat krijg je dan voor errors?? Ik zie namelijk alleen maar een fout bij regel 22 (een ( vergeten ofzo)

Verwijderd

Topicstarter
ik krijg geen errors, het compileert perfect, dat haakje zal ik misschien vergeten zijn bij het opkuisen van mijn code hier op het forum

het enige probleem is dat er dus geen keylistener werkt

Verwijderd

super() in de constructor aanroepen?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op 29 April 2003 @ 17:47:
super() in de constructor aanroepen?
Als je zelf geen constructor aanroept, dan wordt altijd de default-constructor aangeroepen. Het is dus niet nodig.

Verwijderd

Ik denk dat je een key-event krijgt binnen een van die componenten (als die comp. dus focus hebben). Dan gaat het event verloren, tenzij je voor al die losse componenten een key-listener bouwt (of natuurlijk 1 generieke, die je aan al die componenten haakt)
Pagina: 1