我想添加元素到jframe上的列表框,从不同的类,但它似乎并不工作,无论我尝试...我没有得到一个错误或对这个错误有什么反馈...但是继承人布局我有,列表框使用DefaultListModel lm2如何将项目添加到另一个类的netbeans列表框
我知道如何添加元素到jframe类的jList,但为由于某种原因,我无法添加从另一个类JFrame类里面添加这个即使elments:
public void log(String str) {
lm2.addElement(str);
}
和对我的“其他类”
frmMain doit = new frmMain();
doit.log("add to list box");
#
更多细节添加 - --->
#我有3班,在这里,他们都是:
frmMain.class
// jFrame class which builds the jframe (from jframe template)
public class frmMain extends javax.swing.JFrame {
/** Creates new form frmMain */
public frmMain() {
initComponents();
}
public void log(String str) {
lm2.addElement(str);
}
public DefaultListModel lm2 = new DefaultListModel();
}
RequestInfo。类
// RequestInfo.class, which is trying to add an item to the
// jlist but it doesn't add anything or error
public class RequestInfo {
public void ProcessReturnedInfo(String sData, boolean bWithLabel) {
frmMain fm = new frmMain();
fm.log("test test");
}
RS232Example.class
// My main class which sets the jFrame to visible
public class RS232Example {
public static void main(String[] args) throws Exception {
frmMain form = new frmMain();
form.setVisible(true);
}
}
我明白,也许我需要设置窗体上可见RequestInfo.class,但我不能这样做,因为它会不断的形式多次打开,因为这个类方法被称为事件的多次...
什么是“列表框”?询问问题时使用适当的terminoligy。如果您在第二个类中有对ListModel的引用,那么addElement()方法应该可以工作。发布你的SSCCE(http://sscce.org)来证明问题。您发布的代码根本无法帮助我们。 – camickr 2010-12-01 16:48:31
通常,这个问题是由于其中一个引用引起的,您调用方法来更改数据的组件不是在屏幕上可视化的组件。我发现在你的“其他类”中调用新的frmMain() - 是我们在可视化之上看到的doit frmMain变量,你打开setVisible(true)(如果它是JFrame)?否则,我将继续推荐Rob Camick。 – 2010-12-01 16:54:44