java label对齐方式_java – 在BorderLayout中对齐JLabel和JTextField
我只是尝试使用一些GUI组件的Java BorderLayout和GridLayout.
我正在尝试右对齐JLabel并左对齐JTextFields,以便它可以更好看.
在setAlignmentX和setHorizontalAlignment的帮助下,我在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相关推荐
- PyQt5 技术篇-设置alignment对齐方式。Qt Designer设置文本对齐方式。居中、左对齐、右对齐、上对齐、下对齐。
通过 alignment 设置,展开后可以设置水平方向或垂直方向的对齐方式. PyQt5 设置文本对齐方法: self.label.setAlignment(QtCore.Qt.AlignRight| ...
- php设置表格字体对齐方式,Excel 表格字体与对齐方式设置
输入数据后,默认情况下的显示效果是:"常规"格式.11号宋体字.文本左对齐和数字右对齐.而在实际操作中,需要对这些默认的格式进行修改,以满足特定的需要. 设置表格字体 输入数据到单 ...
- java生成pdf表格_java在pdf中生成表格的方法
1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...
- java字符串去掉中文_Java——去除字符串中的中文
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RemoveStrChinese { priv ...
- java webservice调用方式_java语言使用post方式调用webService方式
展开全部 WebService可以有Get. Post.Soap.Document四种方式调62616964757a686964616fe78988e69d8331333337396232用,以下Ja ...
- 整数边界对齐方式_嵌入式基础——字节对齐
字节对齐 一.内存访问对齐规则 从高级语言的视角看,内存访问是是字节为单位的. 但是从CPU角度看,内存访问粒度与指令有关,比如1字节访问,2字节访问,4字节访问,8字节访问等. 如果在编程过程中不注 ...
- 对齐方式有那些_字节对齐不慎引发的挂死问题
前言 之前程序是32位的,切到64位之后,一些隐藏的问题就暴露了.这不,一个由字节对齐导致的挂死问题就出来了. 字节对齐和64位 关于字节对齐,可参考<理一理字节对齐的那些事>,而之前也分 ...
- java异常排列方式_java中排序报:Comparison method violates its general contract异常的解决...
前言 上周线上的一段排序的java代码出现了一个Comparison method violates its general contract,在解决这个问题的途中学到了一些知识这里总结分享一下. 异 ...
- java set遍历方式_java中的Set的使用以及各种遍历方法(较为全面)
1. 概述 Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品 ...
最新文章
- Spring Cloud Alibaba基础教程:Sentinel Dashboard同步Apollo存储规则
- HUAWEI视讯技术学习笔记(转载)
- 读书笔记九:TCP/IP详解之广播和多播,IGMP协议
- Tcpdump 详解
- [北京微软技术直通车]前端 Visual Studio Code 开发 Angular 与亿级 SQL Servern
- 大数据时代的移动即时通讯
- 为什么大部分的C/C++码农都成不了高级工程师?真实原因是缺少核心能力!
- ffmpeg 分辨率 压缩_Ffmpeg 视频压缩的几个关键参数
- 被裁员和降薪,你选哪个?
- 多媒体计算机设备使用注意,多媒体电教设备常见问题与解决办法
- C++Builder 2010深入TForm类之窗口与窗体
- 你了解你的大脑吗?来看看脑科学如何诠释。
- 2022最新软考考试时间已公布
- ib网卡命令_linux安装卸载IB网卡(mellanox)驱动
- springcloud如何搭建支付宝pay-service微服务
- 继续理解socekt具体使用--2
- Dism 错误 32
- Linux下获取cpu温度
- 一些需要用到的latex语句
- picpick尺子像素大小精度不够准确_光栅尺精度与分辨率有什么关系吗?
热门文章
- Cisco思科交换机 入门 - 查看和更改交换机系统时间
- 2019计算机跨保经验:清(深)北交浙计算所经验
- 2014小学计算机教师招聘笔试,2014江西教师招聘考试《小学信息技术》真题及答案解析.doc...
- 什么是码率(mbps)
- 计算机教师个人诊改总结,完整版)教师个人诊改报告
- element-ui input组件源码分析整理笔记(六)
- 学python的亲身经历_你要偷偷的学Python,然后惊呆所有人
- 上海亚商投顾:沪指放量涨1.69% 房地产板块掀涨停潮
- 什么是APP???APP的开发类型又分哪几种???
- 校园兼职平台(三层架构)