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);
艾云怎么样?艾云是一家去年年底成立的国人主机商家,商家主要销售基于KVM虚拟架构的VPS服务,机房目前有美国洛杉矶、圣何塞和英国伦敦,目前商家推出了一些年付特价套餐,性价比非常高,洛杉矶套餐低至85元每年,给500M带宽,可解奈飞,另外圣何塞也有特价机器;1核/1G/20G SSD/3T/2.5Gbps,有需要的朋友以入手。点击进入:艾云官方网站艾云vps促销套餐:KVM虚拟架构,自带20G的防御...
Friendhosting发布了针对“系统管理日”(每年7月的最后一个星期五)的优惠活动,针对VPS主机提供55%的优惠(相当于四五折),支持1-6个月付款使用,首付折扣非永久,优惠后最低套餐首半年7.18欧元起。这是一家保加利亚主机商,成立于2009年4月,商家提供VDS和独立服务器租用等,数据中心目前可选美国洛杉矶、保加利亚、乌克兰、荷兰、拉脱维亚、捷克和波兰等8个地区机房。下面以最低套餐为例...
Megalayer 商家在开始看到有提供香港服务器、香港站群服务器的时候有介绍过,后来就一直没有怎么关注。但是前几天有看到网友使用到他们家的美国独立服务器问其如何的,但是我没有使用过就不好评论,这不前几天也有介绍到Megalayer美国独立服务器。以及我们也有看到商家有提供美国站群服务器和美国大带宽服务器产品,可选30M不限制流量CN2优化线路,以及100M不限制流量国际带宽线路。新年元旦后,Me...
swing布局为你推荐
人才培养目标十三五规划中提出的人才培养方案都有哪些建立网站的步骤创建一个网站的过程监控设备安装家庭如何安装监控设备高级工程师证书查询河北省高级工程师职称证书怎么查询真假?化学键理论价键理论和分子轨道理论的主要区别是什么背投广告搜狐一个广告费用是多少网通玩电信游戏卡怎么办玩英雄联盟家里是网通的,玩电信区很卡怎么办解码器有什么用视频编码器和视频解码器有什么不同ldap统一用户认证介绍NIPS是什么认证?qq空间播放器代码qq空间免费播放器代码
vps是什么意思 免费cn域名 西安服务器 hostmaster liquidweb 新站长网 轻量 mysql主机 java空间 183是联通还是移动 135邮箱 共享主机 卡巴斯基免费试用版 腾讯总部在哪 网通服务器 沈阳主机托管 服务器防火墙 789电视剧网 优惠服务器 winscpiphone 更多