学习笔记二十二:GUI(三) - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

学习笔记二十二:GUI(三)

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:38


形成天才的决定身分应当曲直奋。——郭沫若


本讲内容:常用组件



一、面板组件JPanel(非顶层组件)
一个界面只可以有一个JFrame窗体组件,但可以有多个JPanel面板组件,而JPanel上也可应用FlowLayout,BorderLayout,GridLayout等各类构造治理器,如许可以组合应用达到较为复杂的构造效不雅。
JPanel是JComponent的子类,属于容器类组件,可以参加其余组件,默认是流式构造。
public class Text extends JFrame{
	//定义组件
	JPanel jp1,jp2;
	JButton jb1,jb2,jb3,jb4,jb5;
	
	public static void main(String[] args) {
		Text t=new Text();
	}
	
	public Text() {
		//创建组件
		jp1=new JPanel();//JPanel构造默认是FlowLayout
		jp2=new JPanel();
		
		jb1=new JButton("雪梅");
		jb2=new JButton("志豪");
		jb3=new JButton("健美");
		jb4=new JButton("志华");
		jb5=new JButton("晓静");
		
		//增长组件  先将JPanel上的组件添加完毕,再添加JFrame的组件
		jp1.add(jb1); jp1.add(jb2);
		jp2.add(jb3); jp2.add(jb4);
		
		this.add(jp1,BorderLayout.SOUTH);
		this.add(jp2,BorderLayout.NORTH);
		this.add(jb5);
		
		//设置窗体属性
		this.setTitle("构造Layout—小劲");
		this.setLocation(300, 300);
		this.setSize(400,300);
		this.setResizable(false);
		this.setVisible(true);
		this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE);
	}
}

[img]http://img.blog.csdn.net/20150105230050765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center


二、文本框(JTextField)、暗码框(JPasswordField)、标签(JLable)、按钮(JButton)
import java.awt.*;
import javax.swing.*;

public class Text extends JFrame{
	//定义组件
	JPanel jp1,jp2,jp3;
	JButton jb1,jb2;
	JLabel jlb1,jlb2;
	JTextField wbk1;
	JPasswordField pwd1;
	
	
	public static void main(String[] args) {
		Text t=new Text();
	}
	
	public Text() {
		//创建组件
		jp1=new JPanel();
		jlb1=new JLabel("用户名");
		wbk1=new JTextField(10);
		jp1.add(jlb1);   jp1.add(wbk1);
		
		jp2=new JPanel();
		jlb2=new JLabel("密     码");
		pwd1=new JPasswordField(10);
		jp2.add(jlb2);   jp2.add(pwd1);
		
		jp3=new JPanel();
		jb1=new JButton("登录");
		jb2=new JButton("撤消");
		jp3.add(jb1);   jp3.add(jb2);
		 
		this.setLayout(new GridLayout(3,1));
		
		//增长组件  
		this.add(jp1);
		this.add(jp2);
		this.add(jp3);
		
		//设置窗体属性
		this.setTitle("构造Layout—小劲");
		this.setLocation(300, 300);
		this.setSize(400,300);
		this.setResizable(false);
		this.setVisible(true);
		this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE);
	}
}

[img]http://img.blog.csdn.net/20150105231537167?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center


三、复选框组件(JCheckBox)、单选框组件(JRadioButton)
留意:同一组单选按钮必须先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中。
public class Text extends JFrame{
	//定义组件
	JPanel jp1,jp2,jp3;
	JButton jb1,jb2;
	JLabel jlb1,jlb2;
	JCheckBox jcb1,jcb2,jcb3;
	JRadioButton jrb1,jrb2;
	ButtonGroup bg1;//把单选按钮放进一个组里
	
	public static void main(String[] args) {
		Text t=new Text();
	}
	
	public Text() {
		//创建组件
		jp1=new JPanel();
		jlb1=new JLabel("特长");
		jcb1=new JCheckBox("音乐");
		jcb2=new JCheckBox("体育");
		jcb3=new JCheckBox("技艺");
		jp1.add(jlb1); jp1.add(jcb1); jp1.add(jcb2); jp1.add(jcb3);
		
		jp2=new JPanel();
		jlb2=new JLabel("性别");
		jrb1=new JRadioButton("男");
		jrb2=new JRadioButton("女");
		bg1=new ButtonGroup();
		bg1.add(jrb1); bg1.add(jrb2);//增长进组,使其只能选一个
		jp2.add(jlb2); jp2.add(jrb1); jp2.add(jrb2);//不是把组添加进去
		
		jp3=new JPanel();
		jb1=new JButton("注册");
		jb2=new JButton("撤消");
		jp3.add(jb1); jp3.add(jb2);
		
		this.setLayout(new GridLayout(3,1));
		
		//增长组件  
		this.add(jp1);
		this.add(jp2);
		this.add(jp3);
		
		//设置窗体属性
		this.setTitle("用户注册—小劲");
		this.setLocation(300, 300);
		this.setSize(400,300);
		this.setResizable(false);
		this.setVisible(true);
		this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE);
	}
}

[img]http://img.blog.csdn.net/20150105233440025?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center


四、下拉框组件(JComboBox)、列表框组件(JList)、滚动窗格组件(JScrollPane)
一般来说,列表框组件+滚动窗格组件是结合应用的
public class Text extends JFrame{
	//定义组件
	JPanel mb1,mb2;
	JLabel bq1,bq2;
	JComboBox xlk;
	JList lb;
	JScrollPane gd;
	
	public static void main(String[] args) {
		Text t=new Text();
	}
	
	public Text() {
		//创建组件
		mb1=new JPanel();
		mb2=new JPanel();
		
		bq1=new JLabel("籍贯");
		bq2=new JLabel("学历");
		
		String[] jg={"阳江","天津","上海","重庆"};
		xlk=new JComboBox(jg);
		
		String[] xl={"高中","大年夜专","本科","硕士","博士",};
		lb=new JList(xl);
		gd=new JScrollPane(lb);//滚动条
		lb.setVisibleRowCount(3);//设置显示3个
		
		this.setLayout(new GridLayout(2,1));
		
		//增长组件  
		mb1.add(bq1);  mb1.add(xlk);
		mb2.add(bq2);  mb2.add(gd);//和单选按钮不合,添加滚动组件
		
		this.add(mb1);  this.add(mb2);
		
		//设置窗体属性
		this.setTitle("Layout—小劲");
		this.setLocation(300, 300);
		this.setSize(400,300);
		this.setResizable(false);
		this.setVisible(true);
		this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE);
	}
}

[img]http://img.blog.csdn.net/20150106001355421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center


本讲就到这里,Take your time and enjoy it

相关案例查看更多