1

所以我有一个用 C# 开发的应用程序,它通过单击按钮创建一堆命令控件。它创建了很多控件,但为了简单起见,我已将其缩小到它创建的集合的前两个。在下图中,您会看到我按下了“创建”按钮(单击后不可见),它使 16 个(滚动查看更多)文本框和组合框分别相互对齐。

Visual Studio C# 表单应用程序

现在,我知道我应该考虑在生产之前在跨平台环境中开发它,但不管这一点,我现在的主要问题是使用 Swing 和 AWT GUI 对象在 Java 中模拟这个应用程序。

如图所示,我确实有能力创建所有的文本框。 Java Swing/AWT GUI 文本框

此外,我有能力在我想要的位置创建组合框,如图所示。 Java Swing/AWT GUI 组合框

但是,一旦我尝试对两者进行动态创建,位置/定位就会变得非常混乱。

Java Swing/AWT GUI 两者

是否有我缺少的属性或属性? 位置定位的代码如下......他们没有打开或关闭与默认值不同的任何其他属性。

    panelContainer.add(newComboBox);

    newComboBox.setSize(95, 20);
    newComboBox.setLocation(miniCount * (newComboBox.getWidth() + 10) + 80, 45 + levelCount * 170);

    panelContainer.add(newTextBox);

    newTextBox.setSize(95, 20);
    newTextBox.setLocation(miniCount * (newTextBox.getWidth() + 10) + 80, levelCount * 170);

miniCount 和 levelCount 变量只是确保我们每行只有 6 个 (miniCount) 项目,并且如果我们需要 (levelCount) 则转到下一行。其余的魔术数字当然是用于定位的。

文本框是 AWT TextFields 框。组合框是 AWT 选择框。

编辑:Java 应用程序和 C# 应用程序是分开的。他们最终运行相同的算法,但我只是在使 GUI 行为相同时遇到了麻烦。

4

0 回答 0