eclipse 图形界面设计技巧——JLabel

eclipse 图形界面设计技巧——JLabel


事情是这样的,数据库要开始写大作业了

1.背景图片应用

然后打算先做一个用户登录 & 页面转换,类似于这种

1

这个博主用了swing样式(我就算了/不想太折腾/懒/怕失败)

然后中间的那个背景图我不知道咋弄/刚开始我用的是canvas,弄了半天只能改一个背景颜色不能用图片当作背景也不知道要用什么方法(可能是像c#一样需要一个画笔画上去吧)

后面百度了很多种方法换了JLabel空间,用setIcon的方法设置了背景

然后大概是这个样子
大概样子

参考代码:

JLabel label_2 = new JLabel("");

ImageIcon bgim = new ImageIcon(Login.class.getResource("login.jpeg")) ;//背景图案

bgim.setImage(bgim.getImage().getScaledInstance(bgim.getIconWidth(),
										        bgim.getIconHeight(), 
										        Image.SCALE_DEFAULT)); 

label_2.setIcon(bgim);

2.换行显示

JLabel中如果想让其上的文本标签换行显示,用一般的/r,/n是没有作用的。

JLabel可以使用html标记
标签实现在任意地方换行,如下换行显示字符串:

  String   strMsg1   =   "第一行";   
  String   strMsg2   =   "第二行";   
  String   strMsg = "<html><body>"+strMsg1+"<br>"+strMsg2+"<body></html>";  
  JLabel   label   =   new   JLabel(strMsg);   

另外,如果只在文字长度大于JLabel宽度才换行(自动换行),则如下表示:

  String   str="<html>这是个JLabel,当其上面的字符长度宽于JLabel宽度时,自动换行。</html>"; 
  JLabel   label   =   new   JLabel(str); 

代码截图:
截图

3.中文空格/

//这应该是简单粗暴的一种技巧吧(偷工减料锤

&#32; == 普通的英文半角空格

&#160; == &nbsp; == &#xA0; == no-break space (普通的英文半角空格但不换行)

&#12288; == 中文全角空格 (一个中文宽度)

&#8194; == &ensp; == en空格 (半个中文宽度)

&#8195; == &emsp; == em空格 (一个中文宽度)

&#8197; == 四分之一em空格 (四分之一中文宽度)

相比平时的空格( ),nbsp拥有不间断(non-breaking)特性。即连续的nbsp会在同一行内显示。即使有100个连续的nbsp,浏览器也不会把它们拆成两行。

---------------------- 2 0 2 0 0 5 2 3 陈 一 一 更 新 逃 离 现 场 --------------------------

猜你喜欢

转载自blog.csdn.net/qq_44702847/article/details/106073743