【发布时间】:2012-06-14 08:44:48
【问题描述】:
我正在尝试使用 NetBeans GUI 编辑器来创建 UI。我读过使用 JLists 时必须手动定义列表模型。我试过这样做,但它仍然不起作用。目标是在单击按钮时在列表中插入一个字符串。
我怀疑我可能把某些东西放在了错误的顺序上,或者用继承搞砸了一些东西。
请参阅以下视频了解问题(观看全屏和 720p): http://www.youtube.com/watch?v=HSB-lDGdQPY&feature=youtu.be
这里是大部分受影响的代码(列表是名为 JList1 的那个):
private void addBtnActionPerformed(java.awt.event.ActionEvent evt) {
String post = inputField.getText();
defaultModel.addElement(post);
}
.
private void initComponents() {
titleLbl = new javax.swing.JLabel();
addLbl = new javax.swing.JLabel();
inputField = new javax.swing.JTextField();
addBtn = new javax.swing.JButton();
rememberList = new javax.swing.JScrollPane();
DefaultListModel defaultModel = new DefaultListModel();
jList1 = new javax.swing.JList();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
titleLbl.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
titleLbl.setText("Remember to:");
addLbl.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
addLbl.setText("Add new:");
inputField.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
addBtn.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
addBtn.setText("Add");
addBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
addBtnActionPerformed(evt);
}
});
jList1.setModel(defaultModel);
rememberList.setViewportView(jList1);
【问题讨论】:
-
“这里是大部分受影响的代码:” 为了尽快获得更好的帮助,请发布SSCCE,就像我的posted here一样。该代码可以刷新列表模型的内容。顺便说一句 - “请参阅以下视频了解问题” 不,谢谢。我负担不起投入这种带宽来帮助 SO 上的人们。
-
this method is correct 问题必须在您的代码的其余部分中,项目可以添加到 JLists 视图的末尾,以获得更好的帮助,尽快发布SSCCE 证明您与
DefaultListModel的问题跨度> -
好的,我一会儿试试。
-
看来我自己可以解决问题。它必须与继承有关。因为如果我在类的构造函数中添加“addElement”,它就可以工作。但它只是在actionevent中不起作用
标签: java swing user-interface netbeans jlist