八、SWING程序设计(2)

目录

一、JPanel面板

1、JPanel面板

2、JScrollPane(滚动面板)

二、按钮

1、JButton(按钮)

 2、JRadioButton(单选按钮)

 3、JCheckBox(复选框按钮)

三、列表

1、JCombobox(下拉框) 

 2、JList(列表框)

 四、文本框组件

1、JTextField(文本框组件)

2、JPassWord(密码框) 

3、JTextArea (文本域)


一、JPanel面板

1、JPanel面板

package SWING程序设计2;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class JPANEL extends JFrame {
	public JPANEL() {
		setBounds(100, 100, 500, 300);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
		Container c=getContentPane();
		c.setLayout(new GridLayout(2,2));
		
		JPanel p1=new JPanel();
		p1.setLayout(new GridLayout(1,3,10,10));
		JPanel p2=new JPanel(new BorderLayout());
		JPanel p3=new JPanel(new GridLayout(1,2,10,10));
		JPanel p4=new JPanel(new GridLayout(2,1,10,10));
		p1.setBorder(BorderFactory.createTitledBorder("面板1"));//添加标题边框
		p2.setBorder(BorderFactory.createTitledBorder("面板2"));//添加标题边框
		p3.setBorder(BorderFactory.createTitledBorder("面板3"));//添加标题边框
		p4.setBorder(BorderFactory.createTitledBorder("面板4"));//添加标题边框

		p1.add(new JButton("p1"));
		p1.add(new JButton("p2"));
		p1.add(new JButton("p3"));
		p1.add(new JButton("p4"));
		
		p2.add(new JButton("p1"),BorderLayout.CENTER);
		p2.add(new JButton("p2"),BorderLayout.SOUTH);
		p2.add(new JButton("p3"),BorderLayout.WEST);
		p2.add(new JButton("p4"),BorderLayout.NORTH);
		p2.add(new JButton("p5"),BorderLayout.EAST);
		
		p3.add(new JButton("p3"));
		p3.add(new JButton("p3"));
		p4.add(new JButton("p4"));
		p4.add(new JButton("p4"));
		
		c.add(p1);
		c.add(p2);
		c.add(p3);
		c.add(p4);
		
		setVisible(true);
		
	}
	public static void main(String[] args) {
		new JPANEL(); 		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第1张图片

2、JScrollPane(滚动面板)

package SWING程序设计2;

import java.awt.Container;

import javax.swing.*;

public class JSCROLLPANE extends JFrame{
	public JSCROLLPANE() {
		setBounds(100,100,500,300);//设置窗体大小
		setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗体关闭规则
		
		Container c=getContentPane();
		JTextArea area=new JTextArea();//文本域
		JScrollPane sp=new JScrollPane(area);//创建滚动面板,为文本添加滚动条
		c.add(sp);
	
		setVisible(true);
	}

	public static void main(String[] args) {
		new JSCROLLPANE();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第2张图片

二、按钮

1、JButton(按钮)

package SWING程序设计2;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

import Swing程序设计.GildLayout;

public class JBUTTON1 extends JFrame{
	public JBUTTON1() {
		setBounds(100,100,500,300);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new GridLayout(3,2,5,5));
		
		JButton btn[]=new JButton[6];
		for(int i=0;i

 八、SWING程序设计(2)_第3张图片

 2、JRadioButton(单选按钮)

package SWING程序设计2;

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

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JRadioButton;

public class JRADIOBUTTON extends JFrame{
	public JRADIOBUTTON() {
		setBounds(100,100,100,110);//设置窗体坐标大小
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new FlowLayout());
		
		JRadioButton left=new JRadioButton("向左走");
		JRadioButton right=new JRadioButton("向右走");
		c.add(left);
		c.add(right);
		
		ButtonGroup group=new ButtonGroup();
		group.add(left);//把单选按钮放到项目组中
		group.add(right);
		
		left.setSelected(true);;//默认选中
		
		JButton btn=new JButton("打印");
		btn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				System.out.println(left.getText()+"按键选中状态"+left.isSelected());
				System.out.println(right.getText()+"按键选中状态"+right.isSelected());
				// TODO 自动生成的方法存根
				
			}
		});
		
		c.add(btn);
		setVisible(true);
	}

	public static void main(String[] args) {
		new JRADIOBUTTON();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第4张图片

 3、JCheckBox(复选框按钮)

package SWING程序设计2;

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

import javax.swing.*;

public class JCHECKBOX extends JFrame{
	public JCHECKBOX() {
		setBounds(100, 100, 190, 120);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new FlowLayout());
		
		JCheckBox c1=new JCheckBox("1");
		JCheckBox c2=new JCheckBox("2");
		JCheckBox c3=new JCheckBox("3");
		
		c.add(c1);
		c.add(c2);
		c.add(c3);
		
		c1.setSelected(true);//默认选中
		
		JButton btn=new JButton("打印");
		btn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				System.out.println(c1.getText()+"复选框选中状态:"+c1.isSelected());//获取复选框状态
				System.out.println(c2.getText()+"复选框选中状态:"+c2.isSelected());//获取复选框状态
				System.out.println(c3.getText()+"复选框选中状态:"+c3.isSelected());//获取复选框状态
				// TODO 自动生成的方法存根
				
			}
		});
		c.add(btn);
		
		
		setVisible(true);
	}

	public static void main(String[] args) {
		new JCHECKBOX();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第5张图片

三、列表

1、JCombobox(下拉框) 

package SWING程序设计2;

import java.awt.Container;
import java.awt.FlowLayout;


import javax.swing.*;

public class JCOMBOBOX extends JFrame{
	public JCOMBOBOX() {
		setBounds(100, 100, 190, 120);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new FlowLayout());
		
//		JComboBox combobox=new JComboBox();
//		combobox.addItem("身份证");//向下拉列表添加数据
//		combobox.addItem("学生证");//
//		combobox.addItem("工作证");//
		
//		String a[]= {"数组元素1","数组元素2","数组元素3"};
//		JComboBox combobox=new JComboBox(a);//使用String添加下拉列表元素
//		combobox.addItem("工作证");
		
//		JComboBox combobox=new JComboBox();
//		String items[]= {"数组元素1","数组元素2","数组元素3"};
//		ComboBoxModel cm=new DefaultComboBoxModel<>(items);//创建下拉列表模型
//		combobox.setModel(cm);//向列表中添加数据模型
		
		JComboBox combobox=new JComboBox();
		String items[]= {"数组元素1","数组元素2","数组元素3"};
		ComboBoxModel cm=new DefaultComboBoxModel<>(items);
		combobox.setModel(cm);
		
		
		combobox.setBounds(10, 10, 80, 21);//设置坐标和大小
		c.add(combobox);
		
		setVisible(true);
	}

	public static void main(String[] args) {
		new JCOMBOBOX();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第6张图片

 2、JList(列表框)

package SWING程序设计2;

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

import javax.swing.*;

public class JLIST extends JFrame{
	public JLIST() {
		setBounds(100, 100, 217, 167);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(null);
		String items[]= {"数组元素1","数组元素2","数组元素3","数组元素4","数组元素5","数组元素6","数组元素7","数组元素8"};
//		JList jl=new JList<>(items);
//		jl.setBounds(10, 10, 100, 100);//设定坐标和大小

		JList jl=new JList();
		DefaultListModel model=new DefaultListModel();//列表框的数据模型
		for(String tmp:items) {
			model.addElement(tmp);//向数据模型添加元素
		}
		model.addElement("添加元素");//添加元素

		jl.setModel(model);//列表框载入数据模型
		
//		jl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//单选
//		jl.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);//连续相邻
		jl.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);//随便选
		//按住ctrl
		
		JButton btn=new JButton("确认");
		btn.setBounds(120,90,70,25);
		btn.addActionListener(new ActionListener() {
			//获取列表框选中的所有元素
			@Override
			public void actionPerformed(ActionEvent e) {
				java.util.Listvalues= jl.getSelectedValuesList();
				for(String temp:values) {
					System.out.println(temp);
				}
				System.out.println("----------end----------");
				// TODO 自动生成的方法存根
				
			}
		});
		c.add(btn);
		
		
		JScrollPane js=new JScrollPane(jl);//为列表添加滚动条
		js.setBounds(10, 10, 100, 100);//设定坐标和大小(如果添加滚动条,设置滚动条的的坐标大小即可)
		c.add(js);
		
		setVisible(true);
	}

	public static void main(String[] args) {
		new JLIST();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第7张图片

 四、文本框组件

1、JTextField(文本框组件)

package SWING程序设计2;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class JTEXTFIELD extends JFrame{
	public JTEXTFIELD() {
		setBounds(100,100,250,100);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new FlowLayout());
		
		JTextField jt=new JTextField(/*20*/);//20长度文本框//设置文本
		jt.setColumns(20);//设置文本框长度
		jt.setText("aaa");//设置文本
		jt.setFont(new Font("黑体",Font.PLAIN,20));//设置字体格式
		c.add(jt);
		
		JButton btn=new JButton("确认");
		btn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				System.out.println("文本框的内容为:"+jt.getText());//获取文本框的文本值
				jt.setText("");//清空文本框内容
				jt.requestFocus();//获取焦点,获取光标
				
				
			}
		});
		c.add(btn);
		
		setVisible(true);
	}

	public static void main(String[] args) {
		new JTEXTFIELD();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第8张图片

八、SWING程序设计(2)_第9张图片 

2、JPassWord(密码框) 

package SWING程序设计2;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Array;

import javax.swing.*;

public class JPASSWORDFIELD extends JFrame{
	public JPASSWORDFIELD() {
		setBounds(100,100,400,100);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new FlowLayout());
		
		JPasswordField jp=new JPasswordField();
		jp.setColumns(20);//设置密码框长度
		jp.setFont(new Font("Arial",Font.BOLD,18));//设置字体
//		jp.setEchoChar('#');//设置回显字符
		jp.setEchoChar('\u2605');//设置回显字符
		c.add(jp);
		
		jp.addActionListener(new ActionListener() {//添加动作监听,回车
			
			
			@Override
			public void actionPerformed(ActionEvent e) {
			char ch[]=jp.getPassword();//获取密码的的字符数组
			String str=new String(ch);
            System.out.println(str);
				// TODO 自动生成的方法存根
				
			}
		});
		
		setVisible(true);
	}

	public static void main(String[] args) {
		new JPASSWORDFIELD();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第10张图片

3、JTextArea (文本域)

package SWING程序设计2;

import java.awt.*;

import javax.swing.*;

public class JTEXTAREA extends JFrame{
	public JTEXTAREA() {
		setBounds(100,100,200,100);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		
		JTextArea area=new JTextArea();
		area.setRows(5);//设定行
		area.setColumns(10);//设定列
		area.setText("设定内容");//设定内容
		area.append("添加内容");//添加内容
		area.insert("插入", 2);//在第二的字符后面插入内容
//		c.add(area);
		area.setFont(new Font("楷体",Font.PLAIN,12));
		JScrollPane js=new JScrollPane(area);//为文本域添加滚动条
		c.add(js);
		
		
				
		setVisible(true);
		// TODO 自动生成的构造函数存根
	}

	public static void main(String[] args) {
		new JTEXTAREA();
		// TODO 自动生成的方法存根

	}

}

八、SWING程序设计(2)_第11张图片

 

你可能感兴趣的:(初学者自学+课堂教学java,eclipse,java,算法,数据结构)