gpt4 book ai didi

java - 如何在选择文件时扩展/收缩 JTextField

转载 作者:行者123 更新时间:2023-12-01 11:10:46 27 4
gpt4 key购买 nike

我试图做到这一点,以便在选择文件后,显示文件路径的文本字段会自动收缩/扩展以适合路径。

JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showOpenDialog(encryptorFrame) == JFileChooser.APPROVE_OPTION) {
chosenKeyFileTextField.setText(fileChooser.getSelectedFile().getAbsolutePath());
encryptorFrame.pack();
}

打包框架没有任何作用。如何才能使文本字段的大小调整到足以适合文件路径?

最佳答案

Packing the frame doesn't do anything.

使用frame.pack()就可以了。 pack() 导致布局管理器被调用。

encryptorFrame is a JFrame, which contains several sub-panels,

因此,这取决于所使用的布局管理器以及您声明文本字段的方式。

例如,如果您使用:

JTextField textField = new JTextField(10);

然后文本字段将使用 10 来提供首选大小,即使文本更改,该大小也不会更改。

但是,如果您使用:

JTextField textField = new JTextField();

然后首选大小将基于文本字段中的文本。

因此,您需要确保添加文本字段的面板使用的布局管理器将尊重文本字段的首选大小。

然后您可以使用 panel.revalidate() 调整面板内文本字段的大小,或使用 frame.pack() 调整整个框架的大小。

或者,由于您是从文件选择器获取文件名,也许您可​​以使用 JLabel 来显示名称。标签将始终根据文本计算其首选尺寸。

关于java - 如何在选择文件时扩展/收缩 JTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32417375/

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