gpt4 book ai didi

Java - Eclipse JTextField 太大

转载 作者:行者123 更新时间:2023-11-30 04:32:34 26 4
gpt4 key购买 nike

我使用 Eclipse 中的 Window Builder 将 JTextField 添加到 JPanel 中,无论我尝试什么,文本字段都会显示如下:

ScreenShot
(来源:gyazo.com)

我尝试更改首选尺寸、最大和最小尺寸,但它仍然显示为这样。

我该如何解决这个问题?我做错了什么?

提前致谢。

更新

<小时/> 代码:(全部由 Google 的 Window Builder 自动生成)

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import java.awt.Dimension;


public class Main extends JFrame {

private JPanel contentPane;
private JTextField textField;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);

textField = new JTextField();
textField.setSize(new Dimension(6, 3));
textField.setMinimumSize(new Dimension(6, 5));
textField.setMaximumSize(new Dimension(6, 3));
textField.setPreferredSize(new Dimension(6, 3));
contentPane.add(textField, BorderLayout.WEST);
textField.setColumns(10);
}

}

最佳答案

您可以简单地使用 JPanel contentPane 的默认布局管理器 FlowLayout。这将尊重组件的首选尺寸:

删除(或注释掉):

contentPane.setLayout(new BorderLayout(0, 0));

始终最好使用布局管理器,并避免调用组件的 setXXXSize 方法来调整大小。如果需要,您可以重写 getPreferredSize

参见:Doing Without a Layout Manager

关于Java - Eclipse JTextField 太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298396/

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