Java 通过按钮获取JCombobox组件的选值

各位大神,不知道为什么,我在一个窗口中,用了按钮组件和JCombobox组件,点击按钮之后,JCombobox的值,老是第一个,求各位大神求助下。代码如下:String[... 各位大神,不知道为什么,我在一个窗口中,用了按钮组件和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,求各位大神帮忙啊!
展开
 我来答
jamxval
推荐于2018-04-16 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1423万
展开全部

这个 

 this.jcombox

值是什么时候变化的?建议你每次都直接从 jComboBox1.getSelectedItem().toString() 获取当前值而不需要保存到它到临时变量中。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式