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);
无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,自营有国内雅安高防、洛阳BGP企业线路、香港CN2线路、国外服务器产品等,非常适合需要稳定的线路的用户,如游戏、企业建站业务需求和各种负载较高的项目,同时还有自营的高性能、高配置的BGP线路高防物理...
A400互联是一家成立于2020年的商家,本次给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐。目前,商家推出香港cn2节点+cmi线路云主机,1H/1G/10M/300G流量,37.8元/季,云上日子,你我共享。A400互联优惠码:七折优惠码:0711A400互联优惠方案:适合建站,个人开发爱好者配置...
hypervmart怎么样?hypervmart是一家国外主机商,成立于2011年,提供虚拟主机、VPS等,vps基于Hyper-V 2012 R2,宣称不超售,支持linux和windows,有荷兰和英国2个数据中心,特色是1Gbps带宽、不限流量。现在配置提高,价格不变,性价比提高了很多。(数据中心不太清楚,按以前的记录,应该是欧洲),支持Paypal付款。点击进入:hypervmart官方网...
swing布局为你推荐
人才培养目标到2020年,我国人才发展的总体目标是什么余额宝收益走势图实图,刚把5万多闲钱放到余额宝了看看能赚多少2g内存条2G内存是什么概念网站数据分析报告网站流量统计分析的页面浏览数分析网通玩电信游戏卡怎么办网通怎么在电信玩游戏不卡等保测评机构什么是三级等保体系 three-level安卓手机用什么安全软件好手机应用软件下载哪个好用?我的手机是安卓系统的,帮忙推荐一个,谢谢ldap统一用户认证介绍H3CTE的H3CTE认证介绍呼叫中心系统方案哪些呼叫中心厂商在呼叫中心系统方案建设方面好?最新汽车电子产品当今的电子产品都有哪些分类?
北京域名空间 ev证书 蜗牛魔方 毫秒英文 阿里云浏览器 bgp双线 可外链网盘 100mbps 香港新世界中心 流媒体加速 ebay注册 测速电信 买空间网 tracker服务器 侦探online pptpvpn 卡巴斯基免费版下载 在线tracert 网络安装 ddos攻击器下载 更多