日期:2014-05-20  浏览次数:20768 次

JCombobox取值
各位大神,不知道为什么,我在一个窗口中,用了按钮组件和JCombobox组件,点击按钮之后,JCombobox的值,老是第一个,求各位大神求助下。
代码如下:
String[] actypes = {"A","B","C"};
jComboBox1 = new javax.swing.JComboBox();
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(actypes));
jButton1 = new javax.swing.JButton();
jButton1.addActionListener( 
new SelectPDFButtonAction( this.jComboBox1.getSelectedItem().toString() )
);

public class SelectPDFButtonAction implements ActionListener
{
private int jcombox;
SelectPDFButtonAction( int jcombox )
{
this.jcombox = jcombox;
}
public void actionPerformed( ActionEvent e )
    {
        JFrame choosefile = new JFrame("请选择文件");
           JFileChooser filechooser = new JFileChooser();
           filechooser.setDialogTitle("请选择文件");
           //不显示所有文件
           filechooser.setAcceptAllFileFilterUsed(false);
           //过滤除pdf外的其他文件
           filechooser.setFileFilter(new PDFFilter());
           //已经选择文件
           if( filechooser.showOpenDialog(choosefile)==0 )
           {
               String filepath = filechooser.getSelectedFile().getPath();              
               System.out.println( filepath );
               if( this.jcombox==0 )
                System.out.println( "A" );
               if( this.jcombox==1 )
                System.out.println( "B" );
               if( this.jcombox==2)
                System.out.println( "C" );
           }

    }

//pdf过滤器
private class PDFFilter extends FileFilter
{
public boolean accept(File file)
{
if( file.isDirectory() )
return true;

String fileName = file.getName();
int index = fileName.indexOf(".");
if( (index>0) && (index<(fileName.length()-1)) )
{
String extension = fileName.substring(index + 1).toLowerCase();
if( extension.equals("pdf") )
{
return true;
}
}
return false;
}
public String getDescription()
{
return "PDF文件";
}
}
}

不知道为什么,结果永远是A,求各位大神帮忙啊! 

------解决方案--------------------
你把代码贴全一点吧。或者抽象出来。