gpt4 book ai didi

java - 事件发生后如何调整框架的大小?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:56:33 25 4
gpt4 key购买 nike

我创建了一个表单来选择数据库服务,例如 SQL Server 和 Oracle,以及它的版本。然后通过单击“连接”按钮连接到它……但是在建立连接之前,应该设置一些参数以便放置在 URL 中...此代码用于“连接”按钮。

jButton2 = new JButton();
getContentPane().add(jButton2);
jButton2.setText("Connect");
jButton2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
LinkedFrame inst = new LinkedFrame();
inst.setLocationRelativeTo(rootPane);
inst.setVisible(true);
//Question: Should I add any method here to do what I want? , and what method should I add?
}
});
}

这是 LinkedFrame 代码(从 JFrame 扩展):

    private class DatabaseSelectionHandler implements ActionListener{
public void actionPerformed(ActionEvent evt){
database=jTextField1.getText();
username=jTextField2.getText();
pass=new String(jPasswordField1.getPassword());
if(database.isEmpty() || username.isEmpty() || pass.isEmpty())
JOptionPane.showMessageDialog(null, "Please fill all fields", "Error", JOptionPane.ERROR_MESSAGE);
else
{ setVisible(false);
if (service.equalsIgnoreCase("sqlserver"))
Connector.MSSQLConnection(service);//Single tone connectioto SQL Server
else
Connector.ORACLEConnection(service);//Single tone connection to Oracle
//Question: Should I add any method here to do what I want? , and what method should I add?
}
}
}

LinkedFrame 是一种用于收集所需信息(包括数据库名称、用户名和密码)的新表单。这些信息应该传递给连接器类的 MSSQLconnect 或 OracleConnect 方法。在这种情况下,此表单在您单击按钮时创建,并在您填写所有字段并按回车键时消失...(参见上面的代码)

现在我有一些问题:

我想在填写空白并加热 ENTER 以及是否建立连接以便进行查询时立即调整我的主框架(不是链接框架)的大小。

  1. 我应该使用JFrame的什么方法?

  2. 该方法应该放在哪里(在主框架的按钮事件处理程序中或在 Linkedframe 的事件处理程序中或建议的任何地方)?

非常感谢您的帮助。

最佳答案

如果没有更多代码,我们可能很难为您提供完整的答案,但我会试一试。

使用静态连接器很好,只要您不想一次连接多个连接即可。真的没问题。但是,如果这样做,则需要将 Connector 作为构造函数的一部分或作为属性传递给 LinkedFrame,但这是一种设计选择。

对于 LinkedFrame,我会使用 JDialog 设置为 modal。这将阻止用户输入,直到关闭对话框。这也意味着您可以显示对话框,并且您的代码将被阻止,直到对话框关闭。这为您的代码提供了一个“陷阱”。

一旦用户从 LinkedFrame 中提供了您想要的信息并关闭了对话框,您就可以提取所需的详细信息(如果有的话)并相应地调整主框架的大小。

更新

public void actionPerformed(ActionEvent evt) {

LinkedFrame linkedFrame = new LinkedFrame(); // create the dialog, set as modal
linkedFrame.setVisible(true); // code will block here till you close the dialog

setSize(width, height); // supply the width & height you want
}

关于java - 事件发生后如何调整框架的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660670/

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