Brug af keylistener i Eclipse
Jeg er ved at udvikle et plugin til eclipse, og står nu med det problem at jeg ikke kan få en KeyListener til at virke. Jeg kan få både MouseListener og PaintListener til at virke men af en eller anden grund vil keyListerner ikke virke.Jeg har følgende kode: ( funktion i en multipage editor)
void createPage1() {
System.out.println("inde i createPage1");
final Composite composite = new Composite(getContainer(), SWT.NONE);
GridLayout layout = new GridLayout();
composite.setLayout(layout);
layout.numColumns = 2;
composite.addPaintListener(new PaintListener () {
public void paintControl(PaintEvent event){
GC gc = event.gc;
Display disp = composite.getDisplay();
gc.drawLine(0,0,200,200);
gc.drawLine(0,10,200,200);
Image grafen = new Image(disp,"c:\\temp\\billed1.jpg");
gc.drawImage(grafen,xpos-100,ypos-102);
double tempx, tempy;
int r = 100; // radius
tempx = ((java.lang.Math.sin(valueOfGraf)*r)+xpos);
tempy = (ypos-(java.lang.Math.cos(valueOfGraf)*r));
gc.drawLine(xpos , ypos, (int)tempx, (int)tempy);
gc.drawLine(xpos+1 , ypos, (int)tempx+1, (int)tempy);
}
});
composite.addMouseMoveListener(new MouseMoveListener (){
public void mouseMove(MouseEvent e) {
System.out.println("mouse moved");
}}
);
composite.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent evt) {
System.out.println("keyPressed");
if (evt.character == 'e')
{
System.out.println("trykket på e");
valueOfGraf += 0.01;
}
else if (evt.character == 'q')
{
System.out.println("trykket på q");
valueOfGraf -= 0.01;
}
}
public void keyReleased(KeyEvent evt) {
System.out.println("keyReleased");
if (evt.character == 'e')
{
System.out.println("trykket på e");
valueOfGraf += 0.01;
}
else if (evt.character == 'q')
{
System.out.println("trykket på q");
valueOfGraf -= 0.01;
}
}
});
composite.addMouseListener(new MouseListener(){
public void mouseDoubleClick(MouseEvent e) {
System.out.println("doubleclick");
}
public void mouseDown(MouseEvent e) {
System.out.println("MouseDown");
}
public void mouseUp(MouseEvent e) {
System.out.println("MouseUp");
}
});
Button fontButton = new Button(composite, SWT.NONE);
GridData gd = new GridData(GridData.BEGINNING);
gd.horizontalSpan = 2;
fontButton.setLayoutData(gd);
fontButton.setText("Change Font...");
fontButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
setFont();
}
});
