javaswing 复选框、下拉框

发布时间 2023-11-30 08:35:07作者: 王庆园
package 百度翻译实验;



import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class frame extends JFrame{
    //放到父类一个属性,这样的话下面的btn1这个事件也可以访问
    
    
    JLabel timelabel=new JLabel("00:00:00");
    JTextField textfield=new JTextField(20);
    JLabel timelabel2=new JLabel("翻译结果");
    JCheckBox check=new JCheckBox("用户协议");
    //复选框可以添加事件返回值是一个bool类型
    JButton button2=new JButton("下一步");
    
    
    public frame()
    {
        JPanel root =new JPanel();
        this.setContentPane(root);
        JButton button=new JButton("翻译");
        root.add(button);
        JButton button1=new JButton("重现");
        root.add(button1);
        
        
        root.add(button2);
        /****
         * 文本框控件
         * ****/
        
        root.add(textfield);
        root.add(timelabel);
        root.add(timelabel2);
        root.add(check);
        
        
        //想要复选框的初始值为选中添加下列语句
        //check.setSelected(true);
        
        /***
         *下面实现当复选框被勾选的时候button2启用
         * **/
        check.setSelected(false);
        button2.setEnabled(false);
        check.addActionListener((e)->{
            checkbtn();
        });
        //表示
        //很重要的lambda表达式,目的是为了简化代码
        
        button.addActionListener((e)->{
            showtime();
        });
        button1.addActionListener((e)->{
            test();
        });
        
        
        
    }
    //给复选框添加click事件
    private void checkbtn()
    {
        if(check.isSelected())
        {
            button2.setEnabled(true);
        }
        else
        {
            button2.setEnabled(false);
        }
    }
    //取出来用书输入的值
    private void test()
    {
        String text=textfield.getText();
        timelabel2.setText(text);
        
    }
    //我们把显示时间写成一个方法
    private void showtime()
    {
        SimpleDateFormat sdf =new  SimpleDateFormat("HH:mm:ss");
        String time=sdf.format(new Date());
        System.out.println(time);
        
        //通过访问父类的这个容器让后把这个内容放到上面
        timelabel.setText(time);
    }
    
    

}
package 百度翻译实验;



import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class frame extends JFrame{
	//放到父类一个属性,这样的话下面的btn1这个事件也可以访问
	
	
	JLabel timelabel=new JLabel("00:00:00");
	JTextField textfield=new JTextField(20);
	JLabel timelabel2=new JLabel("翻译结果");
	JCheckBox check=new JCheckBox("用户协议");
	//复选框可以添加事件返回值是一个bool类型
	JButton button2=new JButton("下一步");
	//下拉框是一个泛型
	JComboBox<String> colorfield=new JComboBox<>();
	
	
	public frame()
	{
		JPanel root =new JPanel();
		this.setContentPane(root);
		JButton button=new JButton("翻译");
		root.add(button);
		JButton button1=new JButton("重现");
		
		
		//下拉框的数据项内容
		colorfield.addItem("蓝色");
		colorfield.addItem("绿色");
		colorfield.addItem("红色");
		/***
		 * addItem()添加数据项
		 * 
		 * getItemcount()数据项的个数
		 * 
		 * getItemAt(index)获取数据项;
		 * 
		 * string num=colorfield.getItemAt(0);
		 * 获取第0项数据	
		 * getSelectedIndex表示当前用户选选中第几项(从0开始)	 * 
		 * *****/
		root.add(colorfield);
		root.add(button1);
		
		
		root.add(button2);
		/****
		 * 文本框控件
		 * ****/
		
		root.add(textfield);
		root.add(timelabel);
		root.add(timelabel2);
		root.add(check);
		
		
		//想要复选框的初始值为选中添加下列语句
		//check.setSelected(true);
		
		/***
		 *下面实现当复选框被勾选的时候button2启用
		 * **/
		check.setSelected(false);
		button2.setEnabled(false);
		check.addActionListener((e)->{
			checkbtn();
		});
		//表示
		//很重要的lambda表达式,目的是为了简化代码
		
		button.addActionListener((e)->{
			showtime();
		});
		button1.addActionListener((e)->{
			test();
		});
		
		
		
	}
	//给复选框添加click事件
	private void checkbtn()
	{
		if(check.isSelected())
		{
			button2.setEnabled(true);
		}
		else
		{
			button2.setEnabled(false);
		}
	}
	//取出来用书输入的值
	private void test()
	{
		String text=textfield.getText();
		timelabel2.setText(text);
		
	}
	//我们把显示时间写成一个方法
	private void showtime()
	{
		SimpleDateFormat sdf =new  SimpleDateFormat("HH:mm:ss");
		String time=sdf.format(new Date());
		System.out.println(time);
		
		//通过访问父类的这个容器让后把这个内容放到上面
		timelabel.setText(time);
	}
	
	

}