菜鸟进步历程(2)

来源:互联网 发布:thinkphp 5 cms 编辑:程序博客网 时间:2024/06/05 02:00

本次学习是在参考北冥有鱼555的JAVA第一课——qq登录界面的开发,开始学习的。以下是我本次学习的心得,以及笔记,不喜勿喷

在上次的学习之后,我自己参考Java大学实用教程(第3版)上的一些内容编写了一个以流布局为基础,以BOX为辅助的带有支撑的QQ登录界面。以下是我的学习过程和代码。


第一部分:创建一个窗口并设置各项参数

JFrame frame=new JFrame();FlowLayout f1=new FlowLayout();frame.setLayout(f1);frame.setDefaultCloseOperation(3);//直接关闭窗口frame.setSize(400,400);frame.setLocationRelativeTo(null);frame.setTitle("QQ登录");frame.setResizable(true);

第二部分:将除去图片的组件放进相应的盒子里,便于等会建立支撑

先放账号、密码两个标签进第一个盒子box2

Box box2,box3,box4,box5,basebox1,basebox2,basebox3;        box2=Box.createVerticalBox();//放账号密码标签box2.add(new JLabel("账号"));box2.add(Box.createVerticalStrut(8));box2.add(new JLabel("密码"));


         box3=Box.createVerticalBox();//放账号密码的输入部分         JTextField text1=new JTextField("1351504636");         Dimension dim1=new Dimension(325,25);         text1.setSize(dim1);         box3.add(text1);         box3.add(Box.createVerticalStrut(8));         JTextField text2=new JTextField("******");         Dimension dim2=new Dimension(325,25);         text2.setSize(dim2);         box3.add(text2);

         box4=Box.createHorizontalBox();//放自动登录和记住密码         box4.add(new JCheckBox("自动登录"));         box4.add(Box.createHorizontalStrut(8));         box4.add(new JCheckBox("记住密码"));                 basebox1=Box.createHorizontalBox();//将账号密码的标签和输入部分左右放置         basebox1.add(box2);         basebox1.add(Box.createHorizontalStrut(8));         basebox1.add(box3);         JButton button=new JButton("登录");         button.setSize(90, 50);          box5=Box.createHorizontalBox();         box5.add(button);         basebox2=Box.createVerticalBox();//将账号密码和自动登录记住密码上下放置         basebox2.add(basebox1);         basebox2.add(Box.createVerticalStrut(8));         basebox2.add(box4);         basebox3=Box.createVerticalBox();         basebox3.add(basebox2);         basebox3.add(Box.createVerticalStrut(8));          basebox3.add(box5);

这样就设置好了盒子放的位置和支撑了

下面是整体代码:

import javax.swing.*;import java.awt.*;public class newone {public static void main(String[] args) {// TODO Auto-generated method stub         newone one=new newone();         one.QQ();}public void QQ() {JFrame frame=new JFrame();FlowLayout f1=new FlowLayout();frame.setLayout(f1); frame.setDefaultCloseOperation(3);//直接关闭窗口         frame.setSize(400,400);         frame.setLocationRelativeTo(null);         frame.setTitle("QQ登录");         frame.setResizable(true);                 Box box2,box3,box4,box5,basebox1,basebox2,basebox3;                 box2=Box.createVerticalBox();//放账号密码标签         box2.add(new JLabel("账号"));         box2.add(Box.createVerticalStrut(8));         box2.add(new JLabel("密码"));                  box3=Box.createVerticalBox();//放账号密码的输入部分         JTextField text1=new JTextField("1351504636");         Dimension dim1=new Dimension(325,25);         text1.setSize(dim1);         box3.add(text1);         box3.add(Box.createVerticalStrut(8));         JTextField text2=new JTextField("******");         Dimension dim2=new Dimension(325,25);         text2.setSize(dim2);         box3.add(text2);                  box4=Box.createHorizontalBox();//放自动登录和记住密码         box4.add(new JCheckBox("自动登录"));         box4.add(Box.createHorizontalStrut(8));         box4.add(new JCheckBox("记住密码"));                 basebox1=Box.createHorizontalBox();//将账号密码的标签和输入部分左右放置         basebox1.add(box2);         basebox1.add(Box.createHorizontalStrut(8));         basebox1.add(box3);         JButton button=new JButton("登录");         button.setSize(90, 50);          box5=Box.createHorizontalBox();         box5.add(button);         basebox2=Box.createVerticalBox();//将账号密码和自动登录记住密码上下放置         basebox2.add(basebox1);         basebox2.add(Box.createVerticalStrut(8));         basebox2.add(box4);         basebox3=Box.createVerticalBox();         basebox3.add(basebox2);         basebox3.add(Box.createVerticalStrut(8));          basebox3.add(box5);                                            ImageIcon image=new ImageIcon(this.getClass().getResource("2.png"));//加载图片         JLabel labelImage=new JLabel(image);         frame.add(labelImage);         frame.add(basebox3);         frame.setVisible(true);         }}
运行出来的效果:




即使进行一定的拉伸也不会有变化



原创粉丝点击