D
derFranke
Gast
hallo,
ich bekomme mein JTextField einfach nicht so hin, dass der cursor immer im feld steht, zu beginn blinkt er im feld mit:
jetzt checke ich mit meinen keylistenern die einzelnen buchstaben und lasse aucs einer lsite mit ca 1500 einträgen eben die ausgeben, die mit diesem buchstaben anfangen, zb wie suche bei google oder sowas..
funktioniert auch gut, nur ich lasse ein repaint machen, dass mir auch die namen in einen canvas ausgibt, geht auch, nur jetzt, wenn ich den nächsten buchstaben eingeben will ist jedesmal der cursor weg,
also muss ich immer wieder mit der maus in das textfeld klicken um ihn eingeben zu können.
von der sache her funtioniert alles, nur eben das nervt, ich weiß nicht, wie ich den cursor immer drin blinken lassen kann, egal was das prog noch sonst so macht,
falls der ganze code hilft, hier:
danke für eine idee
schönen abend noch
tino
ich bekomme mein JTextField einfach nicht so hin, dass der cursor immer im feld steht, zu beginn blinkt er im feld mit:
Code:
suchtext = new JTextField("",30);
suchtext.requestFocus();
suchtext.setCaretPosition(0);
suchtext.addKeyListener(this);
jetzt checke ich mit meinen keylistenern die einzelnen buchstaben und lasse aucs einer lsite mit ca 1500 einträgen eben die ausgeben, die mit diesem buchstaben anfangen, zb wie suche bei google oder sowas..
funktioniert auch gut, nur ich lasse ein repaint machen, dass mir auch die namen in einen canvas ausgibt, geht auch, nur jetzt, wenn ich den nächsten buchstaben eingeben will ist jedesmal der cursor weg,
also muss ich immer wieder mit der maus in das textfeld klicken um ihn eingeben zu können.
von der sache her funtioniert alles, nur eben das nervt, ich weiß nicht, wie ich den cursor immer drin blinken lassen kann, egal was das prog noch sonst so macht,
falls der ganze code hilft, hier:
Code:
public void start() {
//Main Panel setzen
db.connectToDatabase();
con=db.getConnection();
readwallnames.countEntries(con, "SELECT name FROM routen ORDER BY name DESC");
readwallnames.readWallNames(con, "SELECT name FROM routen ORDER BY name DESC");
Inhalt = readwallnames.getData();
db.close();
main_panel = new JPanel();
main_panel.setLayout(new FlowLayout(FlowLayout.LEFT,2,2));
suchtext = new JTextField("",30);
suchtext.requestFocus();
suchtext.setCaretPosition(0);
suchtext.addKeyListener(this);
list = new JList(WandNamen);
list.setVisibleRowCount(10);
list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
list.setSelectedIndex(0);
list.setBackground(Color.white);
list.setFixedCellHeight(20);
list.setFixedCellWidth(200);
main_panel.add(suchtext);
main_panel.add(list);
//Top Panel setzen
top_panel = new JPanel();
top_panel.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
ImageIcon ico1 = new ImageIcon();
Image logo = getToolkit().getImage("Media/Logos/Logo_Edit_HallenRoute.jpg");
ico1.setImage(logo);
JLabel reload = new JLabel();
reload.setIcon(ico1);
top_panel.add(reload);
//Bottom Panel setzen
bottom_panel = new JPanel();
Icon icon1 = new ImageIcon("Media/buttonlabel_suchen.gif");
JButton suchen = new JButton("Suchen",icon1);
suchen.addActionListener(this);
bottom_panel.setBackground(Color.white);
bottom_panel.add(suchen);
//Grafic Panel setzen
grafic_panel = new JPanel();
for (int i=0 ; i<6; i++) {
Grafic_Search garfic = new Grafic_Search(WandNamen[i]);
grafic_panel.add(garfic);
}
//Container zusammensetzen
panel1 = new JPanel();
panel1.setLayout(new BorderLayout());
panel1.add(top_panel , BorderLayout.NORTH);
panel1.add(main_panel , BorderLayout.CENTER);
panel1.add(bottom_panel , BorderLayout.SOUTH);
panel2 = new JPanel();
panel2.setLayout(new BorderLayout());
panel2.add(grafic_panel , BorderLayout.CENTER);
setLayout(new GridLayout(2,1));
add(panel1);
add(panel2);
setVisible(true);
}
//-------------------------------------------------------------------------------------------------
//- Reload Methoden
//-------------------------------------------------------------------------------------------------
public void reloadPanel() {
remove(panel2);
// Grafic Panel setzen
grafic_panel = new JPanel();
for (int i=0 ; i<5; i++) {
Grafic_Search garfic = new Grafic_Search(WandNamen[i]);
grafic_panel.add(garfic);
}
// Container zusammensetzen
panel2 = new JPanel();
panel2.setLayout(new BorderLayout());
panel2.add(grafic_panel , BorderLayout.CENTER);
setLayout(new GridLayout(2,1));
add(panel1);
add(panel2);
setVisible(true);
}
//-------------------------------------------------------------------------------------------------
//- Key Actions
//-------------------------------------------------------------------------------------------------
public void keyPressed(KeyEvent e) {
char c = e.getKeyChar();
int key = e.getKeyCode();
if (key == KeyEvent.VK_BACK_SPACE) {
System.out.println("Löschen gedrückt:");
counter--;
Search_Permutation search = new Search_Permutation();
WandNamen = search.start(counter, Inhalt, CHAR_Klein, CHAR_Gross);
list.setListData(WandNamen);
reloadPanel();
}
//-----------------------------------------------------------------------------------------------------------
else if (c=='a' || c=='b' || c=='c' || c=='d' || c=='e' || c=='f' || c=='g' || c=='h' || c=='i' || c=='j' || c=='k'
|| c=='l' || c=='m' || c=='n' || c=='o' || c=='p' || c=='q' || c=='r' || c=='s' || c=='t' || c=='u'
|| c=='v' || c=='w' || c=='x' || c=='y' || c=='z') {
if (c=='a') CHAR_Gross[counter]='A';
else if (c=='b') CHAR_Gross[counter]='B';
else if (c=='c') CHAR_Gross[counter]='C';
else if (c=='d') CHAR_Gross[counter]='D';
else if (c=='e') CHAR_Gross[counter]='E';
else if (c=='f') CHAR_Gross[counter]='F';
else if (c=='g') CHAR_Gross[counter]='G';
else if (c=='h') CHAR_Gross[counter]='H';
else if (c=='i') CHAR_Gross[counter]='I';
else if (c=='j') CHAR_Gross[counter]='J';
else if (c=='k') CHAR_Gross[counter]='K';
else if (c=='l') CHAR_Gross[counter]='L';
else if (c=='m') CHAR_Gross[counter]='M';
else if (c=='n') CHAR_Gross[counter]='N';
else if (c=='o') CHAR_Gross[counter]='O';
else if (c=='p') CHAR_Gross[counter]='P';
else if (c=='q') CHAR_Gross[counter]='Q';
else if (c=='r') CHAR_Gross[counter]='R';
else if (c=='s') CHAR_Gross[counter]='S';
else if (c=='t') CHAR_Gross[counter]='T';
else if (c=='u') CHAR_Gross[counter]='U';
else if (c=='v') CHAR_Gross[counter]='V';
else if (c=='w') CHAR_Gross[counter]='W';
else if (c=='x') CHAR_Gross[counter]='X';
else if (c=='y') CHAR_Gross[counter]='Y';
else if (c=='z') CHAR_Gross[counter]='Z';
CHAR_Klein[counter]=c;
System.out.println("Aktueller Counter = "+counter+" Getippt: "+c);
System.out.println("Buchstaben: "+counter+" "+CHAR_Klein[counter]+ " >> "+CHAR_Gross[counter]);
//System.out.println("Anzahl der Gesamten Routen: "+Inhalt.length);
counter++;
Search_Permutation search = new Search_Permutation();
WandNamen = search.start(counter, Inhalt, CHAR_Klein, CHAR_Gross);
list.setListData(WandNamen);
reloadPanel();
}
} // end keyPressed
public void keyReleased(KeyEvent arg0) {
}
public void keyTyped(KeyEvent arg0) {
}
danke für eine idee
schönen abend noch
tino