0

嘿,我还有另一个问题。我JList在我的主窗口中创建,现在我想添加一些东西。我是这样做的...

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) 

{          

           Dodaj_Przedmiot dodaj_przedmiot = new Dodaj_Przedmiot(null, true);
           dodaj_przedmiot.setVisible(true);
           SterowanieBazy instance = SterowanieBazy.getInstance();       
           Zmienne_pomocnicze zp = new Zmienne_pomocnicze();
           String przedmiot = zp.getPrzechowaj();
           instance.dodajPrzedmiot(przedmiot);
           String przedm[] = instance.zwrocPrzedmioty();
           jList1.setListData(przedm);
}

我想在该列表中写的是我从我的 jDialogForm 中收集的内容:dodaj_przedmiot

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 

{

        String sciezka = jTextField1.getText();
        if (sciezka.length() > 0)
        {
          Zmienne_pomocnicze zp = new Zmienne_pomocnicze();
          zp.setPrzechowaj(sciezka);

        }
        this.setVisible(false);
    }                            

我收集尝试使用此类复制该日期

public class Zmienne_pomocnicze {

public String n;
public int a;

public void setPrzechowaj (String neew)

{

    n = neew;
}

public String getPrzechowaj ()

{

    return n;
}

}

我将不胜感激任何如何使它工作的想法。

4

3 回答 3

2

这有点难以理解,但据我所知,你Zmienne_pomocnicze在两个地方使用你的类,而且它们似乎都没有做任何事情。

首先,在jButton2ActionPerformed您实例化一个新的并尝试使用该方法Zmienne_pomocnicze从中获取数据。getPrzechowaj这将返回n,但正如您刚刚实例化的实例一样,nis null。正如我无法从以下代码的方法名称中推断出的那样,我无法弄清楚您想对这些数据做什么,但这个操作肯定不是您想要做的。

在第二种情况下,jButton1ActionPerformed从文本字段中获取值,然后测试有效性(长度大于 0)。如果验证通过,则创建一个新的Zmienne_pomocnicze,使用文本字段值调用setPrezechowaj,然后让新对象超出范围。同样,这肯定不是预期的效果。

看看你的程序应该是什么流程会很有趣,即什么按钮触发了哪些jButton[12]ActionPerformed方法以及你希望它们如何交互。

于 2010-05-30T01:27:38.017 回答
1

这是一个将条目添加到JList.

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.*;

public class JListTest {

    private static final Random random = new Random();

    public static final void main(String args[]) throws Exception {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                createAndShowGUI();
            }
        });
    }

    private static void createAndShowGUI() {
        final JFrame frame = new JFrame("Test");
        final DefaultListModel dlm = new DefaultListModel();
        final JList list = new JList(dlm);
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.add(new JScrollPane(list));
        frame.add(new JButton("Add") {
            {
                addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        dlm.addElement("A" + (random.nextInt(9000) + 1000));
                    }
                });
            }
        }, BorderLayout.SOUTH);
        frame.setLocationRelativeTo(null);
        frame.pack();
        frame.setVisible(true);
    }
}
于 2010-05-30T02:39:27.950 回答
1

我总是建议阅读 API 以获取基本信息。

如果您阅读 JList API,您将找到关于“如何使用列表”的 Swing 教程的链接。那里的示例显示了如何从 ListModel 中动态添加和删除条目。

教程是一个很好的起点,因为您可以找到工作示例以及代码如何工作的解释。然后,如果需要,您可以询问有关特定代码的特定问题。

不仅如此,您现在有了一个可能对其他问题派上用场的参考。

于 2010-05-30T03:46:44.763 回答