[英]How do I declare a JComboBox?
我正在創建一個用於處理下拉列表的程序,但遇到了JComboBox框的聲明行,得到了以下錯誤消息:這行有多個標記-構造函數JComboBox(String [])未定義-行斷點:JComboBox [行:25]-JComboBox()無論我如何嘗試定義JComboBox,我都會遇到某種錯誤。 請幫我。
這是公共類的代碼:
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
public class JComboBox extends JFrame {
private JComboBox box;
private JLabel picture;
private static String[] filename = { "p.png", "i.png" };
private Icon pics[] = { new ImageIcon(getClass().getResource(filename[0])),
new ImageIcon(getClass().getResource(filename[1])) };
public JComboBox() {
super("This is the title");
setLayout(new FlowLayout());
JComboBox box = new JComboBox(filename);
box.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
picture.setIcon(pics[box.getSelectedIndex()]);
}
}
});
add(box);
picture = new JLabel(pics[0]);
add(picture);
}
}
這是主類的代碼:
import javax.swing.*;
public class JComboBox1 extends JFrame {
public static void main(String[] args) {
JComboBox Box = new JComboBox();
Box.setVisible(true);
Box.setSize(400,400);
Box.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
謝謝。
正如@Andy提到的那樣,您的問題是您的類和swing組件的名稱發生沖突。 如果絕對必須為類JComboBox命名,則必須使用完全限定的名稱來引用swing組件,例如
public class JComboBox extends JFrame {
private javax.swing.JComboBox box;
如果使用IDE將鼠標懸停在私有實例上,則應該看到與創建JComboBox類的包相匹配的標准名稱。 減輕您的痛苦,並重新命名您的班級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.