Re: Combobox how to disable edit but allow select
John_Woo schrieb:
class MyComboBox extends JComboBox implements ActionListener
{
MyComboBox()
{
addItem("a");
addItem("b");
addItem("c");
setEditable( false );
addActionListener( this); //line A
}
}
without line A it works as yours, but with line A, it just couldn't
work (whenever select, it left it blank).
Can you fix it?
a) Why do you want to extend JComboBox? In most (99.9 %) cases you don't
need to. You can just _use_ it.
b) the problem is neither JComboBox nor the mentioned "line A".
import java.awt.event.*;
import javax.swing.*;
public class Test {
static class MyComboBox extends JComboBox
implements ActionListener {
public void actionPerformed( ActionEvent e ) {
System.out.println( "Action" );
}
public MyComboBox() {
addItem("a");
addItem("b");
addItem("c");
setEditable( false );
addActionListener( this );
}
}
public static final void main( String args[] ) throws Exception {
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
frame.setContentPane( new MyComboBox() );
frame.pack();
frame.setVisible( true );
}
}
c) If it really doesn't work when line A is present then I'd guess the
problem's in your action listener.
d) Next time please post an SSCCE [1] - otherwise we'll move in a circle.
Bye
Michael
[1] http://www.physci.org/codes/sscce