5.java swing知识的----(3)优化代码以及代码格式

1.自定义窗口

(1)使代码更加简洁,不要把所有代码都放在main方法里,此时用JFrame里面的方法要用this.方法,而不用JFrame.方法

//自定义一个窗口类,MyFrame,负责窗口界面的构造,以及相关逻辑
public class MyFrame extends JFrame{
//添加构造方法
public MyFrame(){
}
}

2.事件处理(监听机制)(用于写功能)

(1)例如:

按钮被点击时,执行相应的处理

(2)使用:

通常写功能的时候可以将功能单独写一个方法,然后在事务处理里面只需要调用它

//导包
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
//设置监听器
自定义的组件名字.addActionListener(new ActionListener() {
//实现actionPerformed方法
public void actionPerformed(ActionEvent e) {
						}
});

例子

//设置按钮
JButton LoginButton = new JButton("登录");
//对按钮事物处理,每按一次登录按钮,打印一次“点击按钮了”
LoginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
							System.out.print("点击按钮了");
						}
});

3.窗口书写格式

//目录即包
package code.view;
//导包
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.SystemColor;
import javax.swing.JFrame;//javax.swing
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLayeredPane;
//构建一个类继承JFrame
public class Login extends JFrame {

//主方法,程序入口的地方
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Login frame = new Login();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

//构造方法,写界面,功能
public Login() {
		//JFrame首层窗口设计
		this.setTitle("登录界面");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当关闭窗口时退出整个程序
		this.setBounds(600, 100, 550, 400);
		//设置容器JPanel命名为contenPane
		JPanel contentPane = new JPanel();
		contentPane.setBackground(SystemColor.inactiveCaption);//设置背景颜色
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		this.setContentPane(contentPane);//将容器装进首层容器JFrame里面
		//设置不使用布局器,进行手工布局
		contentPane.setLayout(null);
		JLayeredPane layeredPane=new JLayeredPane();
	    layeredPane.setBackground(Color.white);
		layeredPane.setBounds(0, 0, 550, 400);
		contentPane.add(layeredPane);//将layPane放进容器contentPanel里面
		/*
		 * 书写控件
		 */
		         //登录按钮
					JButton LoginButton = new JButton("登录");
                 //设置按钮性质
					LoginButton.setFont(new Font("微软雅黑", Font.PLAIN, 20));
					LoginButton.setBounds(108, 278, 120, 42);
					layeredPane.add(LoginButton);
                 //写功能
                    LoginButton.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent e) {
                       调用方法
						}
					});
		
					}

//新定义功能方法
public gongneng(){}
}

你可能感兴趣的:(java,java,开发语言)