[英]error to get the value from JComboBox
我創建了一個JComboBox,我想從中獲取價值。 這是我編寫的代碼:
final JComboBox jc = new JComboBox();
jc.addItem("ARR");
jc.addItem("SRR");
myPanel.add(jc, gbc);
String pat_order;
jc.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
String order = (String) jc.getSelectedItem();
pat_order = order;
}
});
問題是我得到一個錯誤:“從whitin內部類訪問局部變量pat_order;需要聲明為final”,當我將final放在pat_order聲明中時,出現另一個錯誤:“無法為最終變量pat_order賦值”。 抱歉,我完全是Java GUI的初學者。 提前致謝。
這是您的程序,運行良好,我不知道為什么會收到錯誤,即使您使pat_Order final(Private)之后 ,我也只是將靜態方法用於pat_Order。 為了顯示這一點,您從組合框中選擇了東西,我添加了dialogbox ,它顯示了您選擇的東西。 :)如果您對我的程序還有其他疑問,請隨時問我,導入java.awt.event.ItemListener;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class comboBoxProblem extends JFrame{
static JPanel myPanel = new JPanel();
static String pat_order;
public static void main(String [] args)
{
new comboBoxProblem().show();
}
public comboBoxProblem()
{
setTitle("Combo");
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
myPanel.setLayout(new GridBagLayout());
myPanel.setBorder(BorderFactory.createTitledBorder("Button's"));
final JComboBox jc = new JComboBox();
jc.addItem("ARR");
jc.addItem("SRR");
gbc.gridx = 0;
gbc.gridy = 1;
jc.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent ie)
{
String order = (String) jc.getSelectedItem();
pat_order = order;
JOptionPane.showConfirmDialog(null, pat_order, " Message Dialog Box", JOptionPane.DEFAULT_OPTION );
}
});
myPanel.add(jc, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
getContentPane().add(myPanel, gbc);
pack();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.