webForumDet fria alternativet

KeyListener

3 svar · 253 visningar · startad av Eitraz

EitrazMedlem sedan sep. 2002366 inlägg
#1

Tja,

håller på med ett litet "kalkylblads"-projekt men har problem att lägga in KeyListener på min tabell (JScrollPane)

"sub-tabellklassen" ser ut så här

   private class Sheet extends JScrollPane implements KeyListener {
	public Sheet() {
	    super();
	    super.setViewportView(newTable());
	    super.addKeyListener(this);
	}

	private JTable newTable() {
	    Object[][] data = new Object[16][8];
	    String[] columnNames = {"A","B"};

	    JTable table = new JTable(data, columnNames);
	    table.setPreferredScrollableViewportSize(new Dimension(100,100));
	    return table;
	}

	public void keyDown(KeyEvent e) {
	    System.out.println("keydown");
	}
	
	public void keyPressed(KeyEvent e) {
	    System.out.println("keypressed");
	}

	public void keyTyped(KeyEvent e) {
	    System.out.println("keytyped");
	}

	public void keyReleased(KeyEvent e) {
	    System.out.println("keyrel");
	}
    }

och kallas i våran JFrame med

window.getContentPane().add("South",new Sheet())

tabellen syns och är supervacker, men det händer ingenting när jag väljer en kolumn och trycker på en tangent.
Gissar att det är något fel när jag lägger till min "addKeyListener". Nån som har något förslag?

ViktorMedlem sedan aug. 20021 752 inlägg
#2

Borde inte keylistner vara koplad till din JTable istället för JScrollPane?

/Viktor

PhorpherMedlem sedan feb. 20002 300 inlägg
#3

Sätt keylistenern på din JTable istället. Nu lyssnar ju scrollpanet och inte JTable på keys...

Red: Vilket Viktor var två minuter före med att skriva. ;)

EitrazMedlem sedan sep. 2002366 inlägg
#4

Jo, kom underfund med det efter ett tag :)

tack för svaren iaf :)

125 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)