我只是尝试使用一些GUI组件的Java BorderLayout和GridLayout.

我正在尝试右对齐JLabel并左对齐JTextFields,以便它可以更好看.

在setAlignmentX和setHorizo​​ntalAlignment的帮助下,我在stackoverflow本身找到了一些答案.两者都没用.

基本上,我在每个BorderLayout中有3个组件.

> JLabel

> JTextField

> JButton

然后,这些组件将添加到每行的GridLayout中.

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

/**

*

* @author dinesh

*/

public class MySettings {

public static void main(String[] args) {

JFrame jf = new JFrame("hi");

//demo Info Panel start

//

JLabel lbldemoExecutablePath = new JLabel("demo Executable Path :");

// lbldemoExecutablePath.setAlignmentX(JLabel.LEADING);

// lbldemoExecutablePath.setAlignmentY(JLabel.LEADING);

// lbldemoExecutablePath.setHorizontalAlignment(SwingConstants.CENTER);

JTextField txtdemoInstallationPath = new JTextField(10);

txtdemoInstallationPath.setEditable(false);

txtdemoInstallationPath.setBackground(Color.WHITE);

txtdemoInstallationPath.setToolTipText("getdemoPath()");

txtdemoInstallationPath.setAlignmentX(JLabel.LEADING);

txtdemoInstallationPath.setAlignmentY(JLabel.LEADING);

JButton btndemoBrowse = new JButton("Browse");

btndemoBrowse.addActionListener(new java.awt.event.ActionListener() {

@Override

public void actionPerformed(java.awt.event.ActionEvent evt) {

System.out.println("demo browse button clicked");

}

});

JPanel pnldemoInfo = new JPanel(new BorderLayout(10, 10));

pnldemoInfo.add(lbldemoExecutablePath, BorderLayout.LINE_START);

pnldemoInfo.add(txtdemoInstallationPath, BorderLayout.CENTER);

pnldemoInfo.add(btndemoBrowse, BorderLayout.LINE_END);

//

//demo info panel end

//sample Info Panel start

//

JLabel lblsampleExecutablePath = new JLabel("sample Executable Path :");

// lblsampleExecutablePath.setAlignmentX(JLabel.LEADING);

// lblsampleExecutablePath.setAlignmentY(JLabel.LEADING);

JTextField txtsampleInstallationPath = new JTextField(10);

txtsampleInstallationPath.setEditable(false);

txtsampleInstallationPath.setBackground(Color.WHITE);

txtsampleInstallationPath.setToolTipText("getsamplePath()");

JButton btnsampleBrowse = new JButton("Browse");

btnsampleBrowse.addActionListener(new java.awt.event.ActionListener() {

@Override

public void actionPerformed(java.awt.event.ActionEvent evt) {

System.out.println("demo browse button clicked");

}

});

JPanel pnlsampleInfo = new JPanel(new BorderLayout(10, 10));

pnlsampleInfo.add(lblsampleExecutablePath, BorderLayout.LINE_START);

pnlsampleInfo.add(txtsampleInstallationPath, BorderLayout.CENTER);

pnlsampleInfo.add(btnsampleBrowse, BorderLayout.LINE_END);

//

//sample info panel end

//app Info Panel start

//

JLabel lblappExecutablePath = new JLabel("app Executable Path :");

// lblappExecutablePath.setAlignmentX(JLabel.LEADING);

JTextField txtappExecutablePath = new JTextField(10);

txtappExecutablePath.setEditable(false);

txtappExecutablePath.setBackground(Color.WHITE);

txtappExecutablePath.setToolTipText("gettxtappExecutablePath()");

JButton btnappBrowse = new JButton("Browse");

btnappBrowse.addActionListener(new java.awt.event.ActionListener() {

@Override

public void actionPerformed(java.awt.event.ActionEvent evt) {

System.out.println("appBrowse browse button clicked");

}

});

JPanel pnlappInfo = new JPanel(new BorderLayout(10, 10));

pnlappInfo.add(lblappExecutablePath, BorderLayout.LINE_START);

pnlappInfo.add(txtappExecutablePath, BorderLayout.CENTER);

pnlappInfo.add(btnappBrowse, BorderLayout.LINE_END);

//

//app info panel end

//logfile Info Panel start

//

JLabel lblLogFilePath = new JLabel("Log File Path :");

// lblLogFilePath.setAlignmentX(JLabel.LEADING);

JTextField txtLogFilePath = new JTextField(10);

txtLogFilePath.setEditable(false);

txtLogFilePath.setBackground(Color.WHITE);

txtLogFilePath.setToolTipText("gettxtLogFilePath()");

JButton btnLogFileBrowse = new JButton("Browse");

btnLogFileBrowse.addActionListener(new java.awt.event.ActionListener() {

@Override

public void actionPerformed(java.awt.event.ActionEvent evt) {

System.out.println("appBrowse browse button clicked");

}

});

JPanel pnlLogFileInfo = new JPanel(new BorderLayout(10, 10));

pnlLogFileInfo.add(lblLogFilePath, BorderLayout.LINE_START);

pnlLogFileInfo.add(txtLogFilePath, BorderLayout.CENTER);

pnlLogFileInfo.add(btnLogFileBrowse, BorderLayout.LINE_END);

//

//logfile info panel end

JPanel pnlGereal = new JPanel(new GridLayout(0, 1));

pnlGereal.add(pnldemoInfo);

pnlGereal.add(pnlsampleInfo);

pnlGereal.add(pnlappInfo);

pnlGereal.add(pnlLogFileInfo);

jf.add(pnlGereal);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//jf.setSize(500, 500);

jf.pack();

jf.setVisible(true);

}

}

我在哪里弄错了?我准确设置对齐的位置?

解决方法:

对齐在这里不起作用,因为BorderLayout使用JLabel的大小并动态调整宽度.

您可以尝试使用此代码查看对齐方式:

JLabel lbldemoExecutablePath = new JLabel( "demo Executable Path :" );

lbldemoExecutablePath.setPreferredSize( new Dimension(200,100) );

lbldemoExecutablePath.setHorizontalAlignment( SwingConstants.RIGHT );

你可以在这里看到你的JLabel(“演示可执行路径:”)是正确的.

但是你不应该在你的代码中使用setPreferredSize()方法我发布它只是为了向你展示对齐是否有效.

标签:java,swing

来源: https://codeday.me/bug/20190528/1170856.html

java label对齐方式_java – 在BorderLayout中对齐JLabel和JTextField相关推荐

  1. PyQt5 技术篇-设置alignment对齐方式。Qt Designer设置文本对齐方式。居中、左对齐、右对齐、上对齐、下对齐。

    通过 alignment 设置,展开后可以设置水平方向或垂直方向的对齐方式. PyQt5 设置文本对齐方法: self.label.setAlignment(QtCore.Qt.AlignRight| ...

  2. php设置表格字体对齐方式,Excel 表格字体与对齐方式设置

    输入数据后,默认情况下的显示效果是:"常规"格式.11号宋体字.文本左对齐和数字右对齐.而在实际操作中,需要对这些默认的格式进行修改,以满足特定的需要. 设置表格字体 输入数据到单 ...

  3. java生成pdf表格_java在pdf中生成表格的方法

    1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...

  4. java字符串去掉中文_Java——去除字符串中的中文

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class RemoveStrChinese { priv ...

  5. java webservice调用方式_java语言使用post方式调用webService方式

    展开全部 WebService可以有Get. Post.Soap.Document四种方式调62616964757a686964616fe78988e69d8331333337396232用,以下Ja ...

  6. 整数边界对齐方式_嵌入式基础——字节对齐

    字节对齐 一.内存访问对齐规则 从高级语言的视角看,内存访问是是字节为单位的. 但是从CPU角度看,内存访问粒度与指令有关,比如1字节访问,2字节访问,4字节访问,8字节访问等. 如果在编程过程中不注 ...

  7. 对齐方式有那些_字节对齐不慎引发的挂死问题

    前言 之前程序是32位的,切到64位之后,一些隐藏的问题就暴露了.这不,一个由字节对齐导致的挂死问题就出来了. 字节对齐和64位 关于字节对齐,可参考<理一理字节对齐的那些事>,而之前也分 ...

  8. java异常排列方式_java中排序报:Comparison method violates its general contract异常的解决...

    前言 上周线上的一段排序的java代码出现了一个Comparison method violates its general contract,在解决这个问题的途中学到了一些知识这里总结分享一下. 异 ...

  9. java set遍历方式_java中的Set的使用以及各种遍历方法(较为全面)

    1. 概述 Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品 ...

最新文章

  1. Spring Cloud Alibaba基础教程:Sentinel Dashboard同步Apollo存储规则
  2. HUAWEI视讯技术学习笔记(转载)
  3. 读书笔记九:TCP/IP详解之广播和多播,IGMP协议
  4. Tcpdump 详解
  5. [北京微软技术直通车]前端 Visual Studio Code 开发 Angular 与亿级 SQL Servern
  6. 大数据时代的移动即时通讯
  7. 为什么大部分的C/C++码农都成不了高级工程师?真实原因是缺少核心能力!
  8. ffmpeg 分辨率 压缩_Ffmpeg 视频压缩的几个关键参数
  9. 被裁员和降薪,你选哪个?
  10. 多媒体计算机设备使用注意,多媒体电教设备常见问题与解决办法
  11. C++Builder 2010深入TForm类之窗口与窗体
  12. 你了解你的大脑吗?来看看脑科学如何诠释。
  13. 2022最新软考考试时间已公布
  14. ib网卡命令_linux安装卸载IB网卡(mellanox)驱动
  15. springcloud如何搭建支付宝pay-service微服务
  16. 继续理解socekt具体使用--2
  17. Dism 错误 32
  18. Linux下获取cpu温度
  19. 一些需要用到的latex语句
  20. picpick尺子像素大小精度不够准确_光栅尺精度与分辨率有什么关系吗?

热门文章

  1. Cisco思科交换机 入门 - 查看和更改交换机系统时间
  2. 2019计算机跨保经验:清(深)北交浙计算所经验
  3. 2014小学计算机教师招聘笔试,2014江西教师招聘考试《小学信息技术》真题及答案解析.doc...
  4. 什么是码率(mbps)
  5. 计算机教师个人诊改总结,完整版)教师个人诊改报告
  6. element-ui input组件源码分析整理笔记(六)
  7. 学python的亲身经历_你要偷偷的学Python,然后惊呆所有人
  8. 上海亚商投顾:沪指放量涨1.69% 房地产板块掀涨停潮
  9. 什么是APP???APP的开发类型又分哪几种???
  10. 校园兼职平台(三层架构)