您的位置:首页 > 产品设计 > UI/UE

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

2017-02-21 20:52 239 查看

>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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  GUI swing 空间 JFrame