你说:
我正在尝试制作一个计算器。所以我用这个盒子来保存一个数字。
我所知道的大多数计算器都没有用于显示当前数字的小字段,而是有一个覆盖其 GUI 顶部整个宽度的文本组件,而使用 Java Swing 实现这一点的关键在于使用正确的布局管理器和正确的组件放置。例如,这个 GUI 设计可以通过使用一个使用 BorderLayout 的容器来解决,并将您的显示 JTextField(不是 JTextArea)放在 BorderLayout.PAGE_START 位置,并将另一个 JPanel 中的按钮放在主容器的 BorderLayout.CENTER 位置。
例如,请在此处查看我的答案中的代码。它创建了一个如下所示的 GUI :. 这显示了两个计算器,它们仅根据所选字体的大小而有所不同。
关键代码是:
textField.setFont(textField.getFont().deriveFont(BTN_FONT_SIZE));
mainPanel.setLayout(new BorderLayout(gap, gap));
mainPanel.setBorder(BorderFactory.createEmptyBorder(gap, gap, gap, gap));
mainPanel.add(textField, BorderLayout.PAGE_START);
mainPanel.add(buttonPanel, BorderLayout.CENTER);