目录

一、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)相关推荐

  1. Java学习——复习 第八天 Swing程序设计、AWT绘图、事件监听

    16.Swing程序设计 1.Swing概述--Swing主要用来开发GUI程序,GUI即图形图像界面,他是应用程序提供给用户操作的图形界面,包括窗口.菜单.按钮等元素. 1.1Swing的特点--允 ...

  2. Java进阶篇(六)——Swing程序设计(上)

    Swing是GUI(图形用户界面)开发工具包,内容有很多,这里会分块编写,但在进阶篇中只编写Swing中的基本要素,包括容器.组件和布局等,更深入的内容这里就不介绍了.想深入学习的朋友们可查阅有关资料 ...

  3. Java进阶篇(六)——Swing程序设计(上),java面试题,java基础笔试题,BAT

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. Sw ...

  4. Java Swing 程序设计01

    Swing概述 Swing API 是一系列的GUI组件,能让开发者轻松的创建基于java的前端图形界面应用.它基于AWT API开发而成并最终扮演着替代AWT API的角色.它所提供的空间基本上上已 ...

  5. Java核心(Swing 程序设计3-常用面板、按钮组件)

    一.常用面板 面板也是一个 Swing 容器,它可以作为容器容纳其他组件,但它必须被添加到其他容器中.Swing 中常用的面板包括 JPanel 面板以及 JScrollPane 面板. 1.1 JP ...

  6. 实验八网络程序设计(网络编程)_JAVA

    实验目的: (1)掌握网络通信的概念. (2)掌握InetAddress.URL类的使用. (2)掌握JAVA利用 TCP协议和UDP协议进行通信的网络编程方法. 实验内容 1.从键盘输入网址,读取网 ...

  7. 四十八.面向对象程序设计——Java语言第一周编程题:分数

    题目内容: 设计一个表示分数的类Fraction.这个类用两个int类型的变量分别表示分子和分母. 这个类的构造函数是: Fraction(int a, int b) 构造一个a/b的分数. 这个类要 ...

  8. java语言程序设计教程翁恺第二版课后答案_《JAVA语言程序设计教程(第2版)/翁恺 肖少拥》翁恺,肖少拥著【摘要 书评 在线阅读】-苏宁易购图书...

    第1章  Java语言概述 1.1  Java的历史 1.2  Java程序运行环境与特点 1.2.1  跨平台(Cross Platform)/可移植性(Portablc) 1.2.2  运行效率 ...

  9. MEF程序设计指南(转)

    在MEF之前,人们已经提出了许多依赖注入框架来解决应用的扩展性问题,比如OSGI 实现以Spring 等等.在 Microsoft 的平台上,.NET Framework 自身内部包含组件模型和 Sy ...

最新文章

  1. java中double类型精度丢失问题及解决方法
  2. [转] 微软SQL Server 2008故障转移集群概述(Windows Server Failover Clustering (WSFC))
  3. android xml pid vid,增加属性标识摄像头的vid与pid,以便知道摄像头与设备文件的对应关系...
  4. ES cross cluster search跨集群查询
  5. 虎符杯——虚拟机逆向
  6. activemq的使用经验
  7. 软件保护技术--- 常见保护技巧
  8. 递归处理vue菜单数据
  9. typescript 与 js 开发 react 的区别
  10. 网络安全-江湖高手专用的“隐身术”:图片隐写技术
  11. 新买电脑C盘太大?只有一个C盘?如何分解C盘?电脑分盘,保姆级教学
  12. 利用手机作为渗透工具的一些思路
  13. 农业借助拼多多的东风实现数字化-纽黑文教育
  14. WordPress更新文章实时推送到百度
  15. android的adb介绍,Android开发基础不牢
  16. C语言错误:expected declaration or statement at end of input、编写函数求100万以内的素数
  17. 面试题---框架阶段
  18. 风云之梦情篇java_说一下手机JAVA的风云游戏,开GPRS的吧友们都进来看看
  19. vue安装依赖报serve: `vue-cli-service serve`
  20. 【LeetCode】982. Triples with Bitwise AND Equal To Zero 解题报告(C++)

热门文章

  1. 2017-12-05 JavaScript实现ZLOGO子集: 前进+转向
  2. Kotlin新手入坑:协程基本使用以及API...|..ST
  3. 计算二叉树深度算法(递归、非递归)入门详解
  4. Android ViewBinding使用及原理
  5. matlab GUI 打包程序(Application Complier生成exe文件和App打包)
  6. 基于vue的localStorage 与indexDB的基本封装
  7. 沙箱中的间谍——可行的 JavaScript 高速缓存区攻击
  8. [神坑] 已经解决 但未知原因 dlib和torch导入的顺序问题 找不到指定的程序 \torch\lib\cublas64_11.dll
  9. 开发者应当了解的18套机器学习平台
  10. 记一次iOS微信恢复聊天记录的尝试