【问题标题】:Java: How to create a new frame with the details of a selected object?Java:如何使用选定对象的详细信息创建新框架?
【发布时间】:2018-06-23 00:57:03
【问题描述】:

我正在尝试为银行应用程序创建一个带有 swing 的简单 GUI,但我不知道如何创建一个以某种方式链接到某个对象的新框架。

当我按“银行详细信息”时,我想打开一个看起来与此一模一样的新框架,但其中包含所选银行的客户列表。在那里我想通过添加/删除来编辑所选银行的客户列表。我怎么能这样做?任何示例代码都将不胜感激。

【问题讨论】:

  • 从概念上讲,它只是归结为Passing information to a method or a constructor
  • 1) 另请参阅How to create great screenshots? 2) 为尽快获得更好的帮助,请发布minimal reproducible exampleShort, Self Contained, Correct Example。 3) “我想打开一个看起来完全一样的新框架”我建议在复制之前改进那个框架的外观! GridLayout 表示双方获得相等的空间,但如果为列表分配额外的空间会更好。请改用BorderLayout。该列表可以进入CENTERLINE_END 中的按钮。此外,BoxLayout 使..
  • 由于您没有向我们展示您编写的代码,因此很难知道从哪里开始。你写过Bank 类吗?它是否有名称类似于 getClients 或类似名称的方法?你知道你希望这个新窗口是什么样子吗?
  • .. 按钮显得拥挤。可以采用许多不同的策略来为这些添加空白。 4) “任何示例代码都将不胜感激。” SO 不是代码生成机器。
  • An example of JList with a DefaultListModel获得帮助,详细信息,您可以根据需要通过框架、对话框或选项窗格显示包含类详细信息的列表。

标签: java eclipse swing user-interface awt


【解决方案1】:

一个简单的方法是将一个字符串传递给构造函数,它是您当前正在处理的框架的名称。

至于向JComboBox 插入数据,应该根据条件来完成。

解决问题的简单代码如下:

public Bank(String name){
    base_name = name; // base_name is a private variable to save the data
    frame.setTitle(base_name);
    switch (base_name){
        case "bank":    
            jComboBox1.addItem("bank1");
            jComboBox1.addItem("bank2");
            break;
        case "department":
            jComboBox1.addItem("dept1");
            jComboBox1.addItem("dept1");
            break;
        default:
            System.out.println("Unrecognized name");
    }
}  

现在您要做的就是内部详细信息点击操作(如果您点击了银行的详细信息):

BankFrame frame = new BankFrame("bank");  
frame.setVisible(true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    相关资源
    最近更新 更多