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;
}
}
如果能让它发挥作用,我将不胜感激。
答案 0 :(得分:2)
这有点难以理解,但从我收集的内容来看,你在两个地方使用你的Zmienne_pomocnicze
课程,而且他们似乎都什么都不做。
首先,在jButton2ActionPerformed
中,您实例化一个新的Zmienne_pomocnicze
并尝试使用getPrzechowaj
方法从中获取数据。这将返回n
,但由于您刚刚实例化了该实例,n
为null
。由于我无法从以下代码的方法名称推断,我无法弄清楚你想对这些数据做什么,但这个动作肯定不是你想要做的。
在第二种情况下,jButton1ActionPerformed
从文本字段中获取值,然后测试有效性(legnth大于0)。如果验证通过,则您创建一个新的Zmienne_pomocnicze
,使用文本字段值调用setPrezechowaj
,然后让新对象超出范围。同样,这肯定不是预期的效果。
看看你的程序流程应该是什么,这将是很有趣的,即什么按钮触发哪些jButton[12]ActionPerformed
方法以及你希望它们如何交互。
答案 1 :(得分: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);
}
}
答案 2 :(得分:1)
我总是建议您阅读API以获取基本信息。
如果您阅读了JList API,您将在“如何使用列表”中找到指向Swing教程的链接。这里的示例显示了如何从ListModel动态添加和删除条目。
教程是一个很好的起点,因为您可以找到工作示例以及代码如何工作的解释。然后,如果需要,您可以询问有关特定代码的特定问题。
不仅如此,您现在还有一个可能会对其他问题派上用场的参考。