jframeのリストボックスに要素を追加したいのですが、別のクラスから要素を追加したいと思っています...私はエラーや何がこれに間違って何かのフィードバックを得ることはありません...しかし、私が持っているレイアウトをheres、リストボックスDefaultListModel lm2を使用していますnetbeansの別のクラスのリストボックスに項目を追加する方法
私はjframeクラスのjListに要素を追加する方法を知っています
public void log(String str) {
lm2.addElement(str);
}
と私の「他のクラス」
に:私はJFrameのクラス内でこれを追加することも、別のクラスからelmentsを追加することができませんいくつかの理由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私はそれが継続的にこのクラスのメソッドので、フォームを複数回開かれますので、しかし、私はこれを行うことはできません、RequestInfo.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);
}
}
イベントから複数回呼び出されます...
"リストボックス"とは何ですか?質問するときは、適切なターミナルを使用してください。 2番目のクラスのListModelへの参照がある場合は、addElement()メソッドが機能するはずです。問題を示すSSCCE(http://sscce.org)を投稿してください。あなたが掲示したコードは私たちを全く助けません。 – camickr
多くの場合、この問題は、データを変更するためにメソッドを呼び出すコンポーネントが画面上で視覚化されていないという参考文献の1つに起因します。私はあなたの "他のクラス"であなたが新しいfrmMain()と呼ぶことを見ています - それは視覚化されているものの上にあるdoit frmMain変数です、setVisible(true)を(JFrameなら)さもなければ、私はロブ・カミックが上で推薦しているすべての2番目のものです –
何らかの理由で私は何を試しても、私はRequestInfo.class内でDefaultListModelを再度参照することができます...どのようにこのクラスから要素を追加できますか? – jason