八、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 自动生成的方法存根}}
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 自动生成的方法存根}}
二、按钮
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<btn.length;i++) {btn[i]=new JButton();c.add(btn[i]);}btn[0].setText("不可用");//设置文本btn[0].setEnabled(false);//设置组件为不可用btn[1].setText("有背景色");btn[1].setBackground(Color.BLACK);//设置按钮颜色btn[2].setText("无边框");btn[2].setBorderPainted(false);//不显示边框btn[3].setText("右边框");btn[3].setBorder(BorderFactory.createLineBorder(Color.red));btn[3].setToolTipText("图片按钮");Icon icon=new ImageIcon("/小郭同学/src/SWING程序设计2/1.jpg");btn[4].setIcon(icon);//给按钮设置图片btn[4].setToolTipText("图片按钮");btn[5].setText("可点击");btn[5].addActionListener(new ActionListener() {//添加事件监听public void actionPerformed(ActionEvent e) {//监听触发方法JOptionPane.showMessageDialog(JBUTTON1.this, "点击按钮");//弹出小对话框}});setVisible(true);}public static void main(String[] args) {new JBUTTON1();// TODO 自动生成的方法存根}}
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() {@Overridepublic 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 自动生成的方法存根}}
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() {@Overridepublic 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 自动生成的方法存根}}
三、列表
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<String> combobox=new JComboBox<String>();
// combobox.addItem("身份证");//向下拉列表添加数据
// combobox.addItem("学生证");//
// combobox.addItem("工作证");//// String a[]= {"数组元素1","数组元素2","数组元素3"};
// JComboBox<String> combobox=new JComboBox<String>(a);//使用String添加下拉列表元素
// combobox.addItem("工作证");// JComboBox<String> combobox=new JComboBox<String>();
// String items[]= {"数组元素1","数组元素2","数组元素3"};
// ComboBoxModel cm=new DefaultComboBoxModel<>(items);//创建下拉列表模型
// combobox.setModel(cm);//向列表中添加数据模型JComboBox<String> combobox=new JComboBox<String>();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 自动生成的方法存根}}
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<String> jl=new JList<>(items);
// jl.setBounds(10, 10, 100, 100);//设定坐标和大小JList<String> jl=new JList<String>();DefaultListModel<String> model=new DefaultListModel<String>();//列表框的数据模型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);//随便选//按住ctrlJButton btn=new JButton("确认");btn.setBounds(120,90,70,25);btn.addActionListener(new ActionListener() {//获取列表框选中的所有元素@Overridepublic void actionPerformed(ActionEvent e) {java.util.List<String>values= 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 自动生成的方法存根}}
四、文本框组件
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() {@Overridepublic 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 自动生成的方法存根}}
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() {//添加动作监听,回车@Overridepublic 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 自动生成的方法存根}}
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)相关推荐
- Java学习——复习 第八天 Swing程序设计、AWT绘图、事件监听
16.Swing程序设计 1.Swing概述--Swing主要用来开发GUI程序,GUI即图形图像界面,他是应用程序提供给用户操作的图形界面,包括窗口.菜单.按钮等元素. 1.1Swing的特点--允 ...
- Java进阶篇(六)——Swing程序设计(上)
Swing是GUI(图形用户界面)开发工具包,内容有很多,这里会分块编写,但在进阶篇中只编写Swing中的基本要素,包括容器.组件和布局等,更深入的内容这里就不介绍了.想深入学习的朋友们可查阅有关资料 ...
- Java进阶篇(六)——Swing程序设计(上),java面试题,java基础笔试题,BAT
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. Sw ...
- Java Swing 程序设计01
Swing概述 Swing API 是一系列的GUI组件,能让开发者轻松的创建基于java的前端图形界面应用.它基于AWT API开发而成并最终扮演着替代AWT API的角色.它所提供的空间基本上上已 ...
- Java核心(Swing 程序设计3-常用面板、按钮组件)
一.常用面板 面板也是一个 Swing 容器,它可以作为容器容纳其他组件,但它必须被添加到其他容器中.Swing 中常用的面板包括 JPanel 面板以及 JScrollPane 面板. 1.1 JP ...
- 实验八网络程序设计(网络编程)_JAVA
实验目的: (1)掌握网络通信的概念. (2)掌握InetAddress.URL类的使用. (2)掌握JAVA利用 TCP协议和UDP协议进行通信的网络编程方法. 实验内容 1.从键盘输入网址,读取网 ...
- 四十八.面向对象程序设计——Java语言第一周编程题:分数
题目内容: 设计一个表示分数的类Fraction.这个类用两个int类型的变量分别表示分子和分母. 这个类的构造函数是: Fraction(int a, int b) 构造一个a/b的分数. 这个类要 ...
- java语言程序设计教程翁恺第二版课后答案_《JAVA语言程序设计教程(第2版)/翁恺 肖少拥》翁恺,肖少拥著【摘要 书评 在线阅读】-苏宁易购图书...
第1章 Java语言概述 1.1 Java的历史 1.2 Java程序运行环境与特点 1.2.1 跨平台(Cross Platform)/可移植性(Portablc) 1.2.2 运行效率 ...
- MEF程序设计指南(转)
在MEF之前,人们已经提出了许多依赖注入框架来解决应用的扩展性问题,比如OSGI 实现以Spring 等等.在 Microsoft 的平台上,.NET Framework 自身内部包含组件模型和 Sy ...
最新文章
- java中double类型精度丢失问题及解决方法
- [转] 微软SQL Server 2008故障转移集群概述(Windows Server Failover Clustering (WSFC))
- android xml pid vid,增加属性标识摄像头的vid与pid,以便知道摄像头与设备文件的对应关系...
- ES cross cluster search跨集群查询
- 虎符杯——虚拟机逆向
- activemq的使用经验
- 软件保护技术--- 常见保护技巧
- 递归处理vue菜单数据
- typescript 与 js 开发 react 的区别
- 网络安全-江湖高手专用的“隐身术”:图片隐写技术
- 新买电脑C盘太大?只有一个C盘?如何分解C盘?电脑分盘,保姆级教学
- 利用手机作为渗透工具的一些思路
- 农业借助拼多多的东风实现数字化-纽黑文教育
- WordPress更新文章实时推送到百度
- android的adb介绍,Android开发基础不牢
- C语言错误:expected declaration or statement at end of input、编写函数求100万以内的素数
- 面试题---框架阶段
- 风云之梦情篇java_说一下手机JAVA的风云游戏,开GPRS的吧友们都进来看看
- vue安装依赖报serve: `vue-cli-service serve`
- 【LeetCode】982. Triples with Bitwise AND Equal To Zero 解题报告(C++)
热门文章
- 2017-12-05 JavaScript实现ZLOGO子集: 前进+转向
- Kotlin新手入坑:协程基本使用以及API...|..ST
- 计算二叉树深度算法(递归、非递归)入门详解
- Android ViewBinding使用及原理
- matlab GUI 打包程序(Application Complier生成exe文件和App打包)
- 基于vue的localStorage 与indexDB的基本封装
- 沙箱中的间谍——可行的 JavaScript 高速缓存区攻击
- [神坑] 已经解决 但未知原因 dlib和torch导入的顺序问题 找不到指定的程序 \torch\lib\cublas64_11.dll
- 开发者应当了解的18套机器学习平台
- 记一次iOS微信恢复聊天记录的尝试