无法在java的comboBox中放入项目
我对java Swing完全陌生,我正在尝试将我的字典放入组合框中,当我开始在JTextField中键入时,它会从键入的单词的起始索引在组合框中搜索它,并显示以开头的单词,现在的问题是我无法在组合框中添加字典项,我将字典中的单词提取到一个字符串数组中,然后在ComboBox中相加,但它没有显示任何内容,而我可以在其中添加大约20个项目,ComboBox中的项目空间是否有限??如果是的话,那么请告诉我一些其他的方法,我可以通过它来制作这种类型的东西。 这就是我正在做的无法在java的comboBox中放入项目,java,swing,combobox,Java,Swing,Combobox,我对java Swing完全陌生,我正在尝试将我的字典放入组合框中,当我开始在JTextField中键入时,它会从键入的单词的起始索引在组合框中搜索它,并显示以开头的单词,现在的问题是我无法在组合框中添加字典项,我将字典中的单词提取到一个字符串数组中,然后在ComboBox中相加,但它没有显示任何内容,而我可以在其中添加大约20个项目,ComboBox中的项目空间是否有限??如果是的话,那么请告诉我一些其他的方法,我可以通过它来制作这种类型的东西。 这就是我正在做的 package swing;
package swing;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class swing1 extends javax.swing.JFrame {
/**
* Creates new form swing1
*/
public swing1() throws FileNotFoundException {
initComponents();
FileReader fileread=null;
String array[]=new String[107186];
String input;
String FileName="English.txt";
fileread = new FileReader(FileName);
BufferedReader br = new BufferedReader(fileread);
int i=0;
try {
while((input=br.readLine())!=null)
{
array[i]=input;
i++;
}
} catch (IOException ex) {
ex.printStackTrace();
}
this.jComboBox1.addItem(array);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
textField1 = new java.awt.TextField();
jComboBox1 = new javax.swing.JComboBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
textField1.setText("textField1");
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(159, 159, 159)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textField1, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(72, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(55, 55, 55)
.addComponent(textField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(1, 1, 1)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(204, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
new swing1().setVisible(true);
} catch (FileNotFoundException ex) {
Logger.getLogger(swing1.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
}
// Variables declaration - do not modify
private javax.swing.JComboBox jComboBox1;
private java.awt.TextField textField1;
}
package-swing;
导入java.io.BufferedReader;
导入java.io.FileNotFoundException;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.logging.Level;
导入java.util.logging.Logger;
公共类swing1扩展了javax.swing.JFrame{
/**
*创建新表单swing1
*/
public swing1()引发FileNotFoundException{
初始化组件();
FileReader fileread=null;
字符串数组[]=新字符串[107186];
字符串输入;
字符串FileName=“English.txt”;
fileread=新文件读取器(文件名);
BufferedReader br=新的BufferedReader(fileread);
int i=0;
试一试{
而((input=br.readLine())!=null)
{
数组[i]=输入;
i++;
}
}捕获(IOEX异常){
例如printStackTrace();
}
this.jcombox1.addItem(数组);
}
/**
*从构造函数中调用此方法来初始化表单。
*警告:不要修改此代码。此方法的内容始终为
*由表单编辑器重新生成。
*/
@抑制警告(“未选中”)
//
私有组件(){
textField1=newjava.awt.TextField();
jcombox1=newjavax.swing.JComboBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
textField1.setText(“textField1”);
jcombox1.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
JCombox1ActionPerformed(evt);
}
});
javax.swing.GroupLayout=newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(布局);
layout.setHorizontalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(159159159)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textField1,javax.swing.GroupLayout.PREFERRED\u SIZE,142,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addComponent(jcombox1,javax.swing.GroupLayout.PREFERRED_SIZE,169,javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(72,简称最大值))
);
layout.setVerticalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(55,55,55)
.addComponent(textField1,javax.swing.GroupLayout.PREFERRED\u SIZE,javax.swing.GroupLayout.DEFAULT\u SIZE,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addGap(1,1,1)
.addComponent(jcombox1,javax.swing.GroupLayout.PREFERRED\u SIZE,javax.swing.GroupLayout.DEFAULT\u SIZE,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addContainerGap(204,简称最大值))
);
包装();
}//
私有void jcombox1ActionPerformed(java.awt.event.ActionEvent evt){
//TODO在此处添加您的处理代码:
}
公共静态void main(字符串参数[]){
试一试{
for(javax.swing.UIManager.LookAndFeelInfo:javax.swing.UIManager.getInstalledLookAndFeels()){
if(“Nimbus”.equals(info.getName())){
setLookAndFeel(info.getClassName());
打破
}
}
}捕获(ClassNotFoundException ex){
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
}catch(实例化异常){
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
}捕获(非法访问例外){
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
}catch(javax.swing.UnsupportedLookAndFeelException ex){
java.util.logging.Logger.getLogger(swing1.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
}
invokeLater(new Runnable()){
公开募捐{
试一试{
新swing1().setVisible(true);
}捕获(FileNotFoundException ex){
Logger.getLogger(swing1.class.getName()).log(Level.SEVERE,null,ex);
}
}
});
}
//变量声明-不修改
私有javax.swing.JComboBox jcombox1;
私有java.awt.TextField textField1;
}
我不能发布图片,因为我的声誉不到10,但告诉你答案,它会在组合框“[Ljava.lang.String;@43376”中显示此图片
我使用Netbeans并使用拖放制作GUI,我还将字典元素放在组合框属性的模型中,但它并没有给出我想要的结果
帮帮我!我建议你使用 JComboBox<String> jComboBox1 = new JComboBox<String>();
//loop over your array and add them one by one
for(String s:array)
jComboBox1.addItem(s);
JComboBox jcombox1=newjcombobox();
//洛夫