我的代码创建一个新数组并将其发送到聊天(jFrame)。
String info1[]=new String[3];
// username , userid , userid2 are variables
info1[0]=username4;
info1[1]=""+userid;
info1[2]=""+userid2;
chat.main(info1);
但我需要修改此代码,以便在打开聊天jframe时以这种方式工作 然后不要打开一个新的jFrame。而是在聊天jframe中打开一个新标签。聊天框的代码是:
private void formWindowActivated(java.awt.event.WindowEvent evt) {
JScrollPane panel2 = new JScrollPane();
JTextArea ta=new JTextArea("");
ta.setColumns(30);
ta.setRows(19);
panel2.setViewportView(ta);
jTabbedPane1.add("Hello", panel2);
}
答案 0 :(得分:7)
如果窗口依赖于另一个窗口,我想知道你是不是应该使用JDialogs而不是JFrames。
解决方案是使用类字段来保存对窗口的引用(JFrame或JDialog)并检查它是否为null或可见,如果是,则懒惰地创建/打开窗口,
public void newChat(User user) {
if (chatWindow == null) {
// create chatWindow in a lazy fashion
chatWindow = new JDialog(myMainFrame, "Chat", /* modality type */);
// ... set up the chat window dialog
}
chatWindow.setVisible(true);
addTabWithUser(user);
}
但根据提供的信息,这就是我能说的全部内容。如果您需要更多具体帮助,则需要提供更多信息。
答案 1 :(得分:1)
如果使用JFrame,可以这样简单地完成:
if (Frame1.component != null) {
Frame1 is opened
} else if (Frame2.component == null) {
Frame2 is closed
}
组件ex.JTextField,JComboBox等。