用java Swing 做一个复选框控件

新建一个SwingDamo类

代码:

//
//做一个复选框简单控件
//Created by lee_1310 on 2019.03.30 14:32
//CopyRight please @ https://blog.csdn.net/Lee_1310
//

import javax.swing.JFrame;

public class SwingDemo {

	public static void main(String[] args)
	{
		javax.swing.SwingUtilities.invokeLater(new Runnable()
		{

			@Override
			public void run()
			{
				
				createGUI();
			}
		});

	}

	protected static void createGUI()
	{
		//初始化JFrame
		myFrame frame = new myFrame("Swing Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		//设置窗口大小
		frame.setSize(600,400);
		
		//显示窗口
		frame.setVisible(true);
		
	}

}

新建一个myFrame类

代码:

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class myFrame extends JFrame{
	JCheckBox checkbox = new JCheckBox("我想订阅邮件通知");
	JTextField email = new JTextField(16);
	
	public myFrame(String title)
	{
		//调用父类
		super(title);
		//内容面板
		Container contentPane = getContentPane();
		contentPane.setLayout(new FlowLayout());
		
		//添加控件
		contentPane.add(checkbox);
		contentPane.add(email);
		
		checkbox.setSelected(true);//默认选中
		email.setToolTipText("请输入邮箱地址");//放在输入框会提示
		
		//为checkbox添加鼠标监听事件
		checkbox.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0)
			{
//				//如果未被选用则禁用文本框
//				if(checkbox.isSelected())
//					email.setEnabled(true);
//				else
//					email.setEnabled(false);
				email.setEnabled(checkbox.isSelected());//同上注释部分
				
			}
			
		});
	}

}

运行结果:

java Swing做一个复选框控件

其中鼠标放在文本框附近会提示“请输入邮箱”!

 

相关文章: