1

嗨,伙计们/女孩们,我正在尝试制作一个盒子,它将接受用户输入的数字。现在我已经制作了一个文本字段,但是如何更改文本字段的大小。

这是我到目前为止得到的

public class example extends JFrame {
    private JTextField example1;

   example() {    
        box1 = new JTextField(10);
        add(example1);

现在它只是在尝试 2 变得像一个正方形大小的文本字段,这将允许用户在那里写一个数字。这将是一个数字。任何帮助都会很棒。谢谢

4

2 回答 2

4

你说:

我正在尝试制作一个计算器。所以我用这个盒子来保存一个数字。

我所知道的大多数计算器都没有用于显示当前数字的小字段,而是有一个覆盖其 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);
于 2013-03-25T03:20:11.807 回答
1

JTextField使用字符数(列数)而不是像素大小。如果您正在寻找可以指定大小的文本框,请使用JTextArea.

于 2013-03-25T03:08:23.733 回答