swing

swing学习了那么久,好久没有接触,有所陌生,是时候整理和统计一番了,统计估计没那么好,便于自己日后的理解。
首先接触swing,要导包

导包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
1.定义组件:
JLabel jl_username = new JLabel(“用户名”);
JLabel jl_psw = new JLabel(“密码”);
2.设定布局和添加组件
setLayout(new FlowLayout());
add(jl_username);
add(jf_username);
3.设置窗体属性
setTitle(“登陆窗体”);
setSize(500,400);
setVisible(true);
这是最简单的swing的窗体登录,接下来就是布局,布局是分为4种
1.流式布局FlowLayout
例如:setLayout(new FlowLayout(FlowLayout.LEFT,50,50));
2.边界布局BorderLayout
例如:setLayout(new BorderLayout());
add(jb,BorderLayout.EAST/WEST/SOUTH/NORTH);
3.网格布局GridLayout
setLayout(new GridLayout(3,3));

添加标签图标和背景图片
JLabel jl_username = new JLabel(“用户名”,new ImageIcon(“E:/player1.jpg”),JLabel.CENTER);
添加窗体背景
JLabel jlback = new JLabel(new ImageIcon(“E:/enemy6.jpg”));
jlback.setBounds(0,0,450,300);
getLayeredPane().add(jlback,new Integer(Integer.MIN_VALUE));
((JPanel)getContentPane()).setOpaque(false);
jp1.setOpaque(false);
jp2.setOpaque(false);
setVisible(true);

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

/**
*内部类
*@author :里小米
*@time :2017/4/6
*/

public class LoginFrame extends JFrame{
    JTextField jtf_username = new JTextField(15);
    JPasswordField jtf_psw  = new JPasswordField(115);
    public LoginFrame(){
    JLabel jl_username = new JLabel("用户名",new ImageIcon("E:/player1.jpg"),JLabel.CENTER);
//JTextField jtf_username = new JTextField(15);
    JLabel jl_psw      = new JLabel("密    码",JLabel.CENTER);
//JPasswordField jtf_psw  = new JPasswordField(15);
JButton jb_login = new JButton("登陆");
        JButton jb_reset = new JButton("重置");

        //设定布局
        JPanel titlePanel = new JPanel();
        titlePanel.setLayout(new BorderLayout());
        titlePanel.add(new JLabel("登陆页面",JLabel.CENTER));//运用标签
        titlePanel.setFont(new Font("宋体",Font.BOLD,20));
        add(titlePanel,BorderLayout.NORTH);

        JPanel jp1 = new  JPanel();
        jp1.setLayout(new GridLayout(2,2,0,20));
        jp1.add(jl_username);
        jp1.add(jtf_username);
        jp1.add(jl_psw);
        jp1.add(jtf_psw);
        add(jp1,BorderLayout.CENTER);

        JPanel jp2 = new  JPanel();
        jp2.setLayout(new FlowLayout(FlowLayout.CENTER,35,0));
        jp2.add(jb_login);
        jp2.add(jb_reset);
        add(jp2,BorderLayout.SOUTH);

        jb_reset.addActionListener(new  Logine());
        setTitle("登录界面");
        setSize(450,300);
        setLocation(200,100);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        int width = (int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth());
        int height = (int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight());
        int f_width = getWidth();
        int f_height = getHeight();
        setLocation((width - f_width)/2,(height - f_height)/2);

        JLabel jlback = new JLabel(new ImageIcon("E:/enemy6.jpg"));
        jlback.setBounds(0,0,450,300);
        getLayeredPane().add(jlback,new Integer(Integer.MIN_VALUE));
        ((JPanel)getContentPane()).setOpaque(false);
        jp1.setOpaque(false);
        jp2.setOpaque(false);
        setVisible(true);
    }
    class Logine implements ActionListener{
        public void actionPerformed(ActionEvent e){
            JOptionPane.showMessageDialog(null,"你点了重置按钮");
            jtf_username.setText("");
            jtf_psw.setText("");
        }
    }

    public static void main(String[] args){
        new LoginFrame();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值