gpt4 book ai didi

java - 如何禁用 java swing 中 textField 的大小调整?

转载 作者:行者123 更新时间:2023-11-29 06:43:19 25 4
gpt4 key购买 nike

我有一个 GUI,它基于使用 BorderLayout 的 Swing 的 JPanel。在北面板中,我添加了一个新的 JPanel,它使用 FlowLayout 并包含两个 textField 和其他组件。当我更改 textField 的文本并隐藏此面板内的某些组件时,此 textField 会不断调整大小。我怎样才能避免这种情况?我希望 textField 无论发生什么都保持相同的大小。我试过 setSize、setPreferredSize、setMinimumSize 都没有成功。

txtSource = new WebTextField(source);
txtSource.setMaximumSize(new Dimension(30,20));
txtSource.setMinimumSize(new Dimension(20, 20));
txtSource.setEditable(false);
txtDestination = new WebTextField(destination);
txtDestination.setMaximumSize(new Dimension(30,20));
txtDestination.setMinimumSize(new Dimension(20, 20));

之前: enter image description here

之后: enter image description here

最佳答案

When I change the text of textField and invisible some componets inside this panel, this textField keeps resizing.

此示例以固定大小显示文本字段。你能加一个SSCCE吗?没有的代码?

Text Field Size

import java.awt.*;
import javax.swing.*;

class TextFieldSize {

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JTextField smallField = new JTextField(5);
JTextField largeField = new JTextField(20);
JPanel gui = new JPanel(new FlowLayout());
gui.add( smallField );
gui.add( largeField );
JFrame f = new JFrame("Text Field Size");
f.add(gui);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.pack();
f.setLocationByPlatform(true);
f.setVisible(true);
}
});
}
}

关于java - 如何禁用 java swing 中 textField 的大小调整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063602/

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