JSearchBar WIP

master
Niclas Thobaben 2018-06-20 17:20:44 +02:00
parent a3205a1cce
commit 89f29fe62e
2 changed files with 14 additions and 16 deletions

View File

@ -113,7 +113,7 @@ public class JSearchBarController extends KeyAdapter implements DocumentListener
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) {
if(this.searchBar.completionActive) { if(this.searchBar.completionActive) {
JList<?> list = searchBar.dropDown.list; JList<String> list = searchBar.dropDown.list;
int index = list.getSelectedIndex(); int index = list.getSelectedIndex();
if(e.getKeyCode() == KeyEvent.VK_DOWN) { if(e.getKeyCode() == KeyEvent.VK_DOWN) {
index = index >= list.getModel().getSize()? list.getModel().getSize()-1:++index; index = index >= list.getModel().getSize()? list.getModel().getSize()-1:++index;
@ -122,6 +122,12 @@ public class JSearchBarController extends KeyAdapter implements DocumentListener
} }
list.setSelectedIndex(index); list.setSelectedIndex(index);
list.ensureIndexIsVisible(index); list.ensureIndexIsVisible(index);
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
searchBar.txtSearch.setText(list.getSelectedValue());
System.out.println(list.getSelectedValue());
System.out.println(searchBar.txtSearch.getText());
}
} }
} }
@ -165,12 +171,12 @@ public class JSearchBarController extends KeyAdapter implements DocumentListener
@Override @Override
public void valueChanged(ListSelectionEvent e) { public void valueChanged(ListSelectionEvent e) {
String val = searchBar.dropDown.list.getSelectedValue(); // String val = searchBar.dropDown.list.getSelectedValue();
if(val != null) { // if(val != null) {
JTextField field = searchBar.txtSearch; // JTextField field = searchBar.txtSearch;
field.setText(val); // field.setText(val);
field.setCaretPosition(field.getText().length()); // field.setCaretPosition(field.getText().length());
} // }
} }

View File

@ -44,15 +44,7 @@ public class JSearchTextField extends JPanel{
horizontalStrut = Box.createHorizontalStrut(10); horizontalStrut = Box.createHorizontalStrut(10);
add(horizontalStrut); add(horizontalStrut);
txtSearch = new JTextField() { txtSearch = new JTextField();
private static final long serialVersionUID = 1L;
@Override
public void setText(String txt) {
}
};
txtSearch.setText("search"); txtSearch.setText("search");
txtSearch.setBorder(new EmptyBorder(0, 0, 0, 0)); txtSearch.setBorder(new EmptyBorder(0, 0, 0, 0));
txtSearch.setBackground(getBackground()); txtSearch.setBackground(getBackground());