**JAVA** GUI图形界面编程-Swing的使用

>GUI组件介绍


>>分类

控制组件:button,label


容器:能容纳和排列组件的组件。

>>界面的构成:(分析一个代码的结构层次)

一个顶层容器(主窗口)

顶层容器包含若干个中间容器

每个中间容器包含若干个基本组件

按照合理的布局方式,将他们组织在一起。

基本组件可相应发生在其上的事件

>>swing中的容器

顶层容器:

JFrame:用来创建application的顶层窗体

JApplet:用来创建applet程序

JDialog:用来创建对话框

JWindow:不常用

中间容器:

JPanel:提供一个面板

JScrollPane:具有滚动条的窗格

JSplitPane:具有拆分功能的窗格

JTablePane:具有若干标签的窗格

JInternalFrame:

Box:盒式布局的中间容器

基本组件:

JLabel
JButton、JCheckBox、JRadioButton
JList、JComboBox
JTextField、JPasswordField、JTextArea
JToolBar、JToolTip、JProgressBar
JSlider、JSpinner
JFileChooser、JColorChooser
JMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、JRadioButtonMenuItem、JPopupMenu
JTable
JTree
JOptionPane、JSeparator

>swing组件的使用:


package useSwing;

import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionListener;

import javax.swing.*;
import javax.swing.border.Border;


public class Containing {
	public static void main(String[] args){
		//设置JFrame
		JFrame f = new JFrame();
		f.setTitle("My first JFrame");
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setSize(600, 600);
		Container con = f.getContentPane();
		JPanel pan = new JPanel();
		
		//设置JLabel
		JLabel Label_name = new JLabel("name");
		pan.add(Label_name);
		
		//添加textfield
		JTextField tf_name = new JTextField(25);
		pan.add(tf_name);
		
		//设置密码域passwordfield
		JLabel Label_pw = new JLabel("password");
		pan.add(Label_pw);
		JPasswordField password = new JPasswordField(20);
		password.setEchoChar('*');
		pan.add(password);
		
		//设置单选按钮radiobox
		JLabel Label_sex =new JLabel("sex");
		pan.add(Label_sex);
		JRadioButton male = new JRadioButton("male",true);
		JRadioButton female = new JRadioButton("female",true);
		ButtonGroup group = new ButtonGroup();
		group.add(male);
		group.add(female);
		pan.add(male);
		pan.add(female);
		
		//设置checkbox
		JLabel Label_love = new JLabel();
		JCheckBox[] love={new JCheckBox("music"),new JCheckBox("football"),new JCheckBox("painting")
		};
		pan.add(Label_love);
		pan.add(love[0]);
		pan.add(love[1]);
		pan.add(love[2]);
		
		//设置下拉列表ComboBox
		JLabel Label_school = new JLabel("school");
		pan.add(Label_school);
		String[] departmentNames = {
				"computer school",
				"electronic school",
				"software school"
		};
		JComboBox department = new JComboBox(departmentNames);
		department.setEditable(false);
		pan.add(department);
		
	
		//设置List列表框
		JLabel Label_choose = new JLabel();
		String[] coursesNames = {
				"date structure",
				"operation system",
				"network",
				"designer of java",
				"first of computer",
				"graphic"
		};
		JList course = new JList(coursesNames);
		pan.add(Label_choose);
		pan.add(course);
		
		//设置滑动条slider
		JLabel Label_score = new JLabel("addScore");
		pan.add(Label_score);
		JSlider addition = new JSlider(JSlider.HORIZONTAL,0,100,50);
		addition.setMajorTickSpacing(10);
		addition.setMinorTickSpacing(5);
		addition.setPaintTicks(true);
		addition.setPaintLabels(true);
		addition.setSnapToTicks(true);
		pan.add(addition);
		
		//设置文件选择器JFileChoose
		JFileChooser fc1 = new JFileChooser();
		
		//设置颜色选择器JColorChooser
		JColorChooser c = new JColorChooser();
		
		//设置对话框JOptionPane
		
		//设置计时器Timer
		//Timer time = new Timer(1000,new ActionListener());
		
		//设置组件的边框
		/*
		Border border1 = BorderFactory.createLineBorder(color,int);//创建一个具有指定颜色和宽度的线边框
		border2 =  BorderFactory.createTitledBorder(String);  //创建一个新标题边框,采用默认设置,并指定了标题文本。
		Border border3 = BorderFactory. createLoweredBevelBorder();//创建一个具有凹入斜面边缘的边框
		Border border4 = BorderFactory.createRaisedBevelBorder();//创建一个具有凸出斜面边缘的边框
		Border border5 = BorderFactory.createEtchedBevelBorder();//创建一个具有“浮雕化”外观效果的边框,将组件的当前背景色用于突出显示和阴影显示
		*/
		
		//设置分割线Jseparator
		JSeparator separator1 = new JSeparator();
		
		//设置组件的颜色
		Color colors = new Color(9,255,0);
		//设置组件的字体
		Font fon = new Font("ja",Font.BOLD,24);
		//设置光标java.awt.Cursor
		
		//设置微调器JSpinner
		JLabel Label_age = new JLabel("age");
		JSpinner jsp = new JSpinner();
		jsp.setValue(new Integer(20));
		pan.add(Label_age);
		pan.add(jsp);
		
		//设置button
		JButton butt_sub = new JButton("submit");
		pan.add(butt_sub);
		JButton butt_save = new JButton("save");
		pan.add(butt_save);
		
		//设置JTextArea
		JLabel Label_result = new JLabel("result");
		JTextArea result = new JTextArea(10,30);
		JScrollPane sp = new JScrollPane(result);
		pan.add(Label_result);
		pan.add(sp);
		
		//设置进度条ProgressBar
		JProgressBar progbar = new JProgressBar(JProgressBar.HORIZONTAL,0,100);
		progbar.setStringPainted(true);
		pan.add(progbar);
		
		
		
		//添加到容器
		con.add(pan);
		f.setVisible(true);
		
		
		
	}

}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值