在JList中写一些东西

嘿,我有另一个问题。 我在主窗口中创建了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; } } 

我会很感激任何想法如何使它工作。

这有点难以理解,但从我收集的内容Zmienne_pomocnicze ,你在两个地方使用你的Zmienne_pomocnicze课程,而且他们似乎都什么都不做。

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

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

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

这是向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); } } 

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

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

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

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