slowguy 2010-05-12 16:15
浏览 1993
已采纳

如何设置JTextField的大小呢?

最近用swing做了一个界面,说真的,swing的布局,外观太不好调了。
请问谁能告诉我如下将下面的textfild的大小调成跟光标那么高的高度吗?
[img]http://dl.iteye.com/upload/attachment/248398/8cfbd67e-8461-3563-bff1-87a91db92255.jpg[/img]

  • 写回答

6条回答 默认 最新

  • g_johnson_lee 2010-05-13 11:06
    关注

    是性别单选按键组的问题,你性别单选按钮组是用的JPanel装的两个JRadioButton吧,把这个JPanel的Layout设为 new FlowLayout(FlowLayout.CENTER, 0, 0)就OK了,见下面代码:
    [code="java"]
    package org.zergle.test.swing;

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;

    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    import javax.swing.border.LineBorder;

    public class ReaderAddIFrame extends JFrame {
    private JLabel lblName = new JLabel("姓名");
    private JTextField txtName = new JTextField();
    private JLabel lblSex = new JLabel("性别");
    private JRadioButton radMale = new JRadioButton("男");
    private JRadioButton radFemale = new JRadioButton("女");
    private JLabel lblAge = new JLabel("年齡");
    private JTextField txtAge = new JTextField();
    private JLabel lblCareer = new JLabel("职业");
    private JTextField txtCareer = new JTextField();

    private JPanel pnl1 = new JPanel();
    private JPanel pnl1_1 = new JPanel(new GridLayout(2, 4));
    private JPanel pnlSexGroup = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
    
    public ReaderAddIFrame() {
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        this.pnlSexGroup.add(this.radMale);
        this.pnlSexGroup.add(this.radFemale);
        this.pnl1_1.add(this.lblName);
        this.pnl1_1.add(this.txtName);
        this.pnl1_1.add(this.lblSex);
        this.pnl1_1.add(this.pnlSexGroup);
        this.pnl1_1.add(this.lblAge);
        this.pnl1_1.add(this.txtAge);
        this.pnl1_1.add(this.lblCareer);
        this.pnl1_1.add(this.txtCareer);
        this.pnl1.add(this.pnl1_1);
        this.add(this.pnl1, BorderLayout.CENTER);
        this.setSize(600, 400);
        this.setVisible(true);
    }
    
    public static void main(String[] args) {
        new ReaderAddIFrame();
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件