Я хотел бы добавить элементы в поле списка на jframe, из другого класса, однако он не работает независимо от того, что я пытаюсь ... я не получаю сообщение об ошибке или никакой обратной связи о том, что не так с этим ... но heres макет у меня есть, список использует DefaultListModel lm2Как добавить элементы в список из другого класса в netbeans
Я знаю, как добавлять элементы в jList в классе jframe, но для какой-то причине я не смог добавить из элементов, входящих другого класса, даже при добавлении этого внутри класса JFrame:
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, однако я не могу этого сделать, потому что он будет постоянно открывать форму несколько раз, потому что этот метод класса вызывается несколько раз из события ...
Что такое «список»? Используйте правильную терминологию при задании вопроса. Если у вас есть ссылка на ListModel во втором классе, то метод addElement() должен работать. Отправьте свой SSCCE (http://sscce.org), демонстрирующий проблему. Код, который вы отправили, не помогает нам вообще. – camickr
Часто эта проблема связана с одной из ссылок, что компонент, который вы вызываете методы для изменения данных, не тот, который визуализируется на экране. Я вижу, что в вашем «другом классе» вы вызываете new frmMain() - это переменная doit frmMain, которую мы видим выше той, которая визуализируется, которую вы вызываете setVisible (true) (если это JFrame)? В противном случае я второй раз, что Роб Камик рекомендует выше. –
по какой-то причине, независимо от того, что я пытаюсь, я могу ссылаться на DefaultListModel снова в RequestInfo.class ... как я могу добавлять элементы из этого класса? – jason