gpt4 book ai didi

Java:WAITING第一帧,同时从第二帧检索数据,然后点击关闭按钮,控件也进入第一帧

转载 作者:行者123 更新时间:2023-11-29 06:01:48 25 4
gpt4 key购买 nike

在我的应用程序中有两个框架。在主框架中,“服务器”按钮在那里。当我单击“服务器”按钮时,第二个框架将打开,当我单击第二个框架上的“提交”按钮时,输入一些详细信息后,该框架将关闭并再次控制转到我称之为此框架的“服务器”按钮我会完成剩下的任务。当第二个框架打开时,我的应用程序中还有一件事是第一帧上没有 Activity 。

我的第一个框架是:JFrame框架;

在此框架中有一个服务器按钮:JButton btnSaveOnServer;

在这个按钮的 addActionListener 中,我写了这段代码来打开第二个框架:

btnSaveOnServer.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ServerClass window = new ServerClass();
window.serverFrame.setVisible(true);
}
});

第二帧代码:

public class ServerClass{
public JFrame serverFrame;
private JLabel userName;
private JLabel password;
private JTextField textUsername;
private JPasswordField textPassword;
private JButton btnOk;
protected ServerClass(){
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

serverFrame = new JFrame("Server Entry Token");

serverFrame.setBounds(500, 280, 335, 250);
serverFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
serverFrame.getContentPane().setLayout(null);

font = new Font("Arial", Font.BOLD, 15);

userName = new JLabel("Username");
userName.setBounds(4, 40, 100, 15);
userName.setFont(font);

password = new JLabel("PassKey");
password.setBounds(4, 69, 100, 15);
password.setFont(font);

textUsername = new JTextField();
textUsername.setBounds(110, 35, 200, 25);
textUsername.setFont(font);


textPassword = new JPasswordField(10);
textPassword.setBounds(110, 65, 200, 25);
textPassword.setEchoChar(ch);

btnOk = new JButton("Submit");
btnOk.setBounds(30, 170, 85, 25);

serverFrame.add(userName);
serverFrame.add(password);
serverFrame.add(textUsername);
serverFrame.add(textPassword);
serverFrame.add(btnOk);

btnOk.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (!textUsername.getText().equals("")
&& !textPassword.getText().equals("")) {

tArea.append("Username:\t"+textUsername.getText()+"\n");
tArea.append("Pass:\t"+textPassword.getText()+"\n");
//tArea is the area in first frame where I display the entered data.
serverFrame.dispose();
}

}
});
}

}

这里我在“提交”按钮中添加了代码serverFrame.dispose();,它关闭了框架但控件没有到达第一帧。所以我的问题是:

  1. 如何在第二个框架打开时禁用或停用我的第一个框架。
  2. 在我的代码中,我在第一帧的“服务器”按钮中调用第二帧。这是将第二帧调用到第一帧的写法吗?
  3. 我如何关闭第二个框架(在单击提交按钮后)以便框架关闭并且控制权将转到第一个框架的“服务器”按钮。

最佳答案

1) In my application two frame is there

不要使用两个 JFrames ,如果不使用( JNI or JNA ),那是不可能的,这些容器没有实现 parent , 有辛苦的搬家JFrame toFront()/toBack()/真实 FocusRecycle是残酷的笑话

2) 使用JDialog , 与 setModalModalityType ,

3) 普通 Vanilla JOptionPane是最好的方法,

4) JFrame / JDialog / JWindow没有实现 finalize() ,那么您是否要求 setVisible(false) 并不重要或 dispose()

关于Java:WAITING第一帧,同时从第二帧检索数据,然后点击关闭按钮,控件也进入第一帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com