Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
package comboTest;
import java.awt.BorderLayout;
import java.awt.HeadlessException;
import javax.swing.*;
/**
* @author Snape
*/
public class ComboKeyListener extends JFrame
{
JComboBox cboTest = new JComboBox();
public ComboKeyListener()
{
super();
}
/**
* @param frameTitle
* @throws java.awt.HeadlessException
*/
public ComboKeyListener( String frameTitle ) throws HeadlessException
{
super( frameTitle );
setSize(400, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(cboTest, BorderLayout.NORTH);
cboTest.addItem("Hund");
cboTest.addItem("Katze");
cboTest.addItem("Maus");
cboTest.setEditable(true);
cboTest.setEditor(new ComboEditor(cboTest.getSelectedItem().toString()));
}
public static void main( String[] args )
{
ComboKeyListener comboKeyListener = new ComboKeyListener("Test");
comboKeyListener.show();
}
}
package comboTest;
import java.awt.Component;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.ComboBoxEditor;
import javax.swing.JTextField;
/**
* @author Snape
*/
public class ComboEditor extends JTextField implements ComboBoxEditor
{
public ComboEditor( String defaultValue )
{
setText( defaultValue );
// setDocument( new InputDocument() );
addKeyListener(new KeyListener(){
public void keyReleased(KeyEvent ke)
{
System.out.println("Gedrückter Tastencode ist: " + ke.getKeyChar());
}
public void keyPressed( KeyEvent arg0 )
{}
public void keyTyped( KeyEvent arg0 )
{}
});
}
public void setItem( Object anObject )
{
if ( anObject != null )
setText( anObject.toString() );
}
public Component getEditorComponent()
{
return this;
}
public Object getItem()
{
return getText();
}
}
package comboTest;
import java.awt.Toolkit;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
public class InputDocument extends PlainDocument
{
public void insertString(int offset, String s, AttributeSet attributeSet) throws BadLocationException
{
try
{
Integer.parseInt(s);
}
catch(Exception ex) //only allow integer values
{
Toolkit.getDefaultToolkit().beep(); //macht ein DÜT
//System.out.println("Keine Zahl!");
return ;
}
super.insertString(offset,s, attributeSet);
}
}
Snape hat gesagt.:Hi,
ähm tja was soll ich sagen...bei mir klappts nicht.
Sobald ich im Editor das Document zuweise, wird in der unaufgeklappten Combobox-Zeile nichts angezeigt. Bestimmt habe ich da wieder eine Kleinigkeit vergessen...Thomas, schnuffie, Idee?
Code:public class InputDocument extends PlainDocument { public void insertString(int offset, String s, AttributeSet attributeSet) throws BadLocationException { try { Integer.parseInt(s); } catch(Exception ex) //only allow integer values { Toolkit.getDefaultToolkit().beep(); //macht ein DÜT //System.out.println("Keine Zahl!"); return ; } super.insertString(offset,s, attributeSet); } }