【问题标题】:How to set JTextField border size in java如何在java中设置JTextField边框大小
【发布时间】:2014-03-16 07:31:23
【问题描述】:

我想设置 JTextField 的边框高度、宽度,并想把它放在 java 中 JFrame 的中心。 我尝试了这些想法,但这些想法不起作用。 setSize(),SetPreferedSize(),SetMaximumSize();

需要帮助。提前致谢。

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class P{
    public static void main(String [] args){
        JFrame frame = new JFrame();
        JTextField field = new JTextField();

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(BorderLayout.NORTH,field);
        frame.setSize(350,300);
        frame.setVisible(true);

    }
}

【问题讨论】:

  • 你在用什么layout
  • 我认为您需要将文本字段的父组件的布局设置为 null 才能使这种自定义工作如您所愿:parent.setLayout(null);
  • 先生,我使用了 BorderLayout。我把 JTextField 放在 NORTH 部分

标签: java swing layout border jtextfield


【解决方案1】:

您可以尝试在JTextField 上使用LineBorder 并将其放在使用GridBagLayout 的容器中

例如...

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.LineBorder;

public class BorderText {

    public static void main(String[] args) {
        new BorderText();
    }

    public BorderText() {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
                }

                JTextField field = new JTextField(10);
                field.setBorder(new LineBorder(Color.RED, 10));

                JFrame frame = new JFrame("Testing");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setLayout(new GridBagLayout());
                frame.add(field);
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }

}

查看How to Use BordersA Visual Guide to Layout Managers 了解更多详情

【讨论】:

  • 先生,我编辑我的源代码,如果你有时间请编辑我的代码:) 提前谢谢.. :) :)
猜你喜欢
  • 2012-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-22
  • 2021-02-27
  • 2013-12-13
  • 2018-01-29
相关资源
最近更新 更多