失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java第二课:图形界面(实现QQ登陆界面)

Java第二课:图形界面(实现QQ登陆界面)

时间:2022-07-27 00:50:36

相关推荐

Java第二课:图形界面(实现QQ登陆界面)

最终效果图如下:

第一步:分析界面组成:根据三大布局的特点来确定由几大部分组成,哪些部分要用到JPanel.然后在窗体JFrame上用什么布局组合。

分析如下:

分为三大部分,如图三种不同彩色框(因为左边图案等于右边几行内容大小)。

分析各个部分如何实现:紫框:就是一张图片,用一个JLabel组件即可;红框:图片右靠上(流式布局的设置特点),用一个组件无法实现,要用到JPanel,用流式布局;黄框:也要用到一个JPanel和流式布局(根据组件大小,一行满了就换行)。三个部分放在窗体上用到北、西、中三个方位,很明显是边框布局。

第二步:开始编程:

(1)开头格式:

//1.新建Login类public class Login {// 1.定义主函数public static void main(String[] args) {// 2.在主函数中实例化Login类的对象new Login();}// 1.构造方法public Login() {initUI();// 1.调用初始化界面的方法。}// 1.初始化界面的方法。public void initUI() {。。。。。。在这里编写界面}

(2)现在来写initUI方法

//先实例化JFrame顶级容器组件类对象,设置组件的属性值:大小,标题,显示位置,关闭操作,布局,调整大小,可见JFrame w=new JFrame();w.setSize(430,330);w.setResizable(false);//禁止调整大小w.setUndecorated(true);//去掉自带的边框w.setLocationRelativeTo(null);//出现在电脑屏幕中央//再设组件:先设好组件,后面根据显示效果来在每个组件下面调整大小/*ImageIcon类:用来加载图片到程序中,图片文件最好放在与程序并列目录中,直接用下面方法调用*/ImageIcon pic1=new ImageIcon(this.getClass().getResource("pic1.png"));ImageIcon pic2=new ImageIcon(this.getClass().getResource("pic2.png"));/*JLabel标签元素组件类:显示文字或者图片*/JLabel ima1 = new JLabel(pic1);/*组件的设置大小:(除了JFrame用setSize,其余都用setPreferredSize包括JPanel),并且用到dimension封装类来实现*/ima1.setPreferredSize(new Dimension(300,180));JLabel ima2 = new JLabel(pic2);JLabel user=new JLabel("注册账号");user.setPreferredSize(new Dimension(80,25));JLabel password=new JLabel("找回密码");password.setPreferredSize(new Dimension(80,25));/*下拉框JComboBox:既可编辑文字,又可有选项直接选*/JComboBox txtUser=new JComboBox();txtUser.setEditable(true);txtUser.setPreferredSize(new Dimension(190,25));txtUser.addItem("1625002542");txtUser.addItem("2126341847");txtUser.addItem("3278523523");JPasswordField txtPass=new JPasswordField(17);JCheckBox cb1=new JCheckBox("记住密码");cb1.setPreferredSize(new Dimension(115,25));JCheckBox cb2=new JCheckBox("自动登录");cb2.setPreferredSize(new Dimension(150,25));JButton btLogin=new JButton("登录");btLogin.setPreferredSize(new Dimension(200,25));//然后设左面板JPanel leftPan=new JPanel();leftPan.setLayout(new FlowLayout(FlowLayout.RIGHT,10,10));//右对齐,组件垂直间隔10,水平间隔10leftPan.setPreferredSize(new Dimension(130,0));leftPan.add(ima2);//接着设右面板:/*组件的添加按照顺序来,先添加的先出现,流式布局的特点,通过调整组件大小来控制位置,放满本行就换到下一行*/JPanel rightPan=new JPanel();rightPan.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));rightPan.add(txtUser);rightPan.add(user);rightPan.add(txtPass);rightPan.add(password);rightPan.add(cb1);rightPan.add(cb2);rightPan.add(btLogin);//最后把所有部分按照布局放到窗体中w.setLayout(new BorderLayout());w.add(ima1,BorderLayout.NORTH);w.add(leftPan,BorderLayout.WEST);w.add(rightPan,BorderLayout.CENTER);//全部搞好了最后再显示w.setVisible(true);}}

小技巧:

1.选定类,按F3可以查看方法和源码,可以了解类的内在方便使用,和学习源代码

2.写完一小部分,就add到jframe中setVisible(true)看一下。

如果觉得《Java第二课:图形界面(实现QQ登陆界面)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。