文本字段未显示正确的大小

时间:2017-04-02 04:02:43

标签: java swing jtextfield

我是Java的新手,正在尝试运行此代码。以下代码中的错误 - 我的CurrencyCodeJTextField,只显示为一行而不是全文框?

txtfld

1 个答案:

答案 0 :(得分:3)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<div class="row">
    <div class="col-sm-12 col-md-3 col-lg-3"> <a href="https://www.cars.com">
            <div class="thumbnail">
                <img src="car.jpg" alt="Car">
            </div>
        </a>
    </div>
</div>

您需要向布局管理器提供一个大小应该是什么的提示。

所以你应该使用类似的东西:

JTextField txtfld=new JTextField();  

现在首选大小将在文本字段中显示10“W”字符,然后才需要滚动。

您还应该先将框架打包(),然后再将其显示:

JTextField txtfld=new JTextField(10);  

这将允许框架以所需的尺寸显示所有组件。

此外,摆脱所有setSize()和setLocation()语句。布局管理器的工作是设置大小和位置。这些值将由布局管理器重新计算。

j.pack();
j.setVisible();

框架的默认布局管理器是BorderLayout。所以上面的代码将导致p2替换帧上的p1。

基本上你的整个代码都是错误的。

首先阅读How to Use Layout Managers上Swing教程中的部分,了解更多信息和工作示例,以帮助您入门。也许从j.add(p1); j.add(p2); 示例开始,因为这是框架的默认布局,您需要先了解它的工作原理。