在我的可编辑组合框中。我想允许用户
在JComboBox
中键入值的名称,如果所需的值不可用,它应显示相应的错误消息..(如JOptionPane
)
我需要在这里使用getSelectedItem()
吗?
这是我的代码:
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
public class JTunes extends JFrame implements ItemListener{
private JComboBox lyrics;
private JTextField price;
double sum = 0;
public JTunes(){
super("Lyrics");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
String[] lyrics1 = {"multiple", "data", "types", "used", "safely"};
price = new JTextField(15);
lyrics = new JComboBox(lyrics1);
lyrics.setEditable(true);
add(lyrics);
add(price);
lyrics.addItemListener(this);
}
public void itemStateChanged(ItemEvent e){
String list = (String)lyrics.getSelectedItem();
if(list.equals("multiple"))
sum = 20;
else if(list.equals("data"))
sum = 30;
else if(list.equals("types"))
sum = 40;
else if(list.equals("used"))
sum = 50;
else if(list.equals("safely"))
sum = 60;
price.setText(String.valueOf(sum));
}
}
答案 0 :(得分:1)
我想允许用户在JComboBox中键入值的名称,如果所需的值不可用,它应该显示相应的错误消息。
这没有任何意义。使用组合框的意义在于用户只能选择列表中存在的项目。
lyrics.setEditable(true);
删除上面的代码行,用户只能选择有效的项目。
答案 1 :(得分:0)
如果我没有弄错的话,您只想查看jComboBox
'是否包含'您正在搜索的文字。您应该能够使用以下内容:
if(!jComboBox.contains("TEXT_TO_SEARCH") {
//Display error message accordingly.
}