swing布局用如下图片作为背景做一个Swing的登录界面,怎样布局?
swing布局 时间:2021-08-31 阅读:(
)
java swing布局
虽然有可能,但是很困难!
腾讯的这个界面,本质上是一个浏览器,里面的内容都是网页内容,用的是HTML+CSS布局。
纯Java要实现这种,需要自己去定制UI类,然后把每个内容给画上去,所以非常的困难,而且很多的细节处理起来,会死人的。
所以需要采用其他方式:嵌入浏览器到Java程序。
可以采用swt来进行嵌入,或者用javafx自带的浏览器。
另外可以参考/washheart/。
java中描述常见的几种布局特点及用法
Java的GUI界面定义是由AWT类包和Swing类包来完成的,对于布局的管理交给专门的布局管理器类(LayoutManager)来完成。
Java中的布局管理器类有:FlowLayout、BorderLayout、GridLayout、GridBagLayout等,
下面是他们的一些特点:
CardLayout 将组件象卡片一样放置在容器中,在某一时刻只有一个组件可见
FlowLayout 将组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行继续放置
GridLayout 形似一个无框线的表格,每个单元格中放一个组件
BorderLayout 将组件按东、南、西、北、中五个区域放置,每个方向最多只能放置一个组件
GridBagLayout 非常灵活,可指定组件放置的具体位置及占用单元格数目
BoxLayout 就像整齐放置的一行或者一列盒子,每个盒子中一个组件
SpringLayout 根据一组约束条件放置子组件
ScrollPaneLayout 专用于JScrollPane,含一个Viewport,一个行头、一个列头、两个滚动条和四个角组件
OverlayLayout 以彼此覆盖的形式叠置组件
ViewportLayout JViewport的默认布局管理器用如下图片作为背景做一个Swing的登录界面,怎样布局?
把图片放在JLable上,在把JButton等组件放在JPabel,设置为透明的再放在JLAbel上,最后把JLabel放在另一个JPabel上,最后放在底层容器上。
setLayout(null)布局。
private JPanel pan, back;
private JTextField tfName;
private JPasswordField tfPass;
private JButton OK, Cancel;
private ImageIcon ii;
private JLabel lab, users, userpassword,;
ii = new ImageIcon("图片路径");
this.setLocation(250,100);//位置
pan = new JPanel();//用来放图片
users = new JLabel("用 户:");
users.setBounds(0, 0, 90, 70);//设置JLable的大小和位置,自定义
userpassword = new JLabel("密 码:");
userpassword.setBounds(0, 40, 90, 70);
tfName = new JTextField(20);
tfName.setBounds(90, 25, 150, 23);
tfName.setOpaque(false);// 设置为透明
tfPass = new JPasswordField(20);
tfPass.setBounds(90, 65, 150, 23);
tfPass.setOpaque(false);
OK = new JButton("登陆");
OK.setBounds(20, 150, 60, 20);
Cancel = new JButton("取消");
Cancel.setBounds(90, 150, 60, 20);
back = new JPanel();//用于放JLable和JButton,JTextField
back.setBounds(60, 140, 310, 170);
back.setLayout(null);//布局为空
back.setOpaque(false);
back.add(users);//添加组件
back.add(userpassword);
back.add(tfName);
back.add(tfPass);
back.add(OK);
back.add(Cancel);
pan.add(back);//把放有组件的容器放装图片的容器上
pan.setLayout(null);
pan.setOpaque(false);
lab = new JLabel(ii);//把图片放在JLAbel上
lab.setBounds(0, 0, ii.getIconWidth(), ii.getIconHeight());//大小由图片的大小决定
this.getLayeredPane().setLayout(null);
this.getLayeredPane().add(lab, new Integer(Integer.MIN_VALUE));
this.setContentPane(pan);
Virtono是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心共7个:罗马尼亚2个,美国3个(圣何塞、达拉斯、迈阿密),英国和德国各1个。目前,商家针对美国圣何塞机房VPS提供75折优惠码,同时,下单后在LET回复订单号还能获得双倍内存的升级。下面以圣何塞为例,分享几款VPS主机配置信息。Cloud VPSC...
一、麻花云官网点击直达麻花云官方网站二、活动方案优惠码:专属优惠码:F1B07B 享受85折优惠。点击访问活动链接最新活动 :五一狂欢 惠战到底 香港云主机 1.9折起香港特价体验云主机CN2 云服务器最新上线KVM架构,,默认40G SSD,+10G自带一个IPv4,免费10Gbps防御,CPU内存带宽价格购买1核1G1M19元首月链接2核2G 2M92元/3个月链接2核4G3M112元/3个月...
beervm是一家国人商家,主要提供国内KVM VPS,有河南移动、广州移动等。现在预售湖南长沙联通vds,性价比高。湖南长沙vps(长沙vds),1GB内存/7GB SSD空间/10TB流量/1Gbps端口/独立IP/KVM,350元/月,有需要的可以关注一下。Beervm长沙联通vps套餐:长沙联通1G青春版(预售)长沙联通3G标准版(预售)长沙联通3G(预售)vCPU:1vCPU:2vCPU...
swing布局为你推荐
错误代码电脑出现了这个错误代码怎么办?显示系统vivo手机总是出现系统界面停止怎么处理网不易wifi上网有什么优点和缺点零终端ONU终端、e8-c终端、天翼猫三者有什么区别?最好的电脑操作系统什么版本的电脑系统好用查看加密空间如何才能查看加密码的qq空间安卓手机用什么安全软件好手机应用软件下载哪个好用?我的手机是安卓系统的,帮忙推荐一个,谢谢2017双112017年双11有哪些值得购买的商品ldap统一用户认证介绍NIPS是什么认证?呼叫中心系统方案求呼叫中心设计方案,100坐席,具体需要些什么硬件和软件?
北京域名注册 sugarhosts flashfxp怎么用 directspace burstnet rak机房 主机合租 坐公交投2700元 bgp双线 怎么测试下载速度 phpmyadmin配置 广州服务器 卡巴斯基免费试用版 华为云盘 创建邮箱 镇江高防 金主 广东服务器托管 开心online cpu使用率过高怎么办 更多