(JAVA)JPanel面板使用
JPanel面板
- JPanel面板依赖与窗体进行使用,面板只能放在窗体中使用,不能单独展示出来。
- JPanel和其它组件一样可以添加组件、设置布局、更改属性
- JPanel的每一个容器都可以有自己独立的布局与组件,组件会随着窗体的扩大而扩大,缩小而缩小
etBounds(100,100,500,300);//设置窗体的位于屏幕的水平线(X)、垂直线(Y)、宽、高
//设置窗体的关闭方式,EXIT_ON_CLOSE(关闭窗体并结束程序)
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container c=getContentPane();//创建容器
//使用网格布局设为两行两列,以及四个面板的边距为10px
c.setLayout(new GridLayout(2,2,10,10));//添加四个JPannel面板
JPanel p1=new JPanel();
//对第一个面板使用网格布局一行三列边距为10
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"));//添加标题边框//给p1设置组件
p1.add(new JButton("p1"));//添加按钮
p1.add(new JButton("p1"));//添加按钮
p1.add(new JButton("p1"));//添加按钮
p1.add(new JButton("p1"));//添加按钮//给p2设置组件
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); //添加按钮到右边c.add(p1);c.add(p2);
setVisible(true);//设置窗体可见
按钮JButton
- 六种按钮效果
- 1.设置按钮不可用无任何点击效果
- 2.设置按钮背景颜色
- 3.去掉按钮的边框
- 4.给按钮加上边框
- 6.给按钮设置图片
- 7.可点击按钮,弹出模态窗
setBounds(100,100,500,500);//设置窗体坐标和大小
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭规则:关闭窗口时关闭程序Container c=getContentPane();
//设置按扭宽3列,长2行,水平间距5,垂直间距5
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.YELLOW);//设置按钮颜色btn[2].setText("无边框");
btn[2].setBorderPainted(false);//不显示边框btn[3].setText("右边框");
btn[3].setBorder(BorderFactory.createLineBorder(Color.RED));//设置线边框Icon cion=new ImageIcon("");//设置图片
btn[4].setIcon(cion);//给按钮设置图片
btn[4].setToolTipText("图片按钮");//鼠标悬停提示btn[5].setText("可点击");
btn[5].addActionListener(new ActionListener() {//添加事件监听@Overridepublic void actionPerformed(ActionEvent e) {//监听触发的方法JOptionPane.showMessageDialog(consu.this,"点击按钮");//弹出小对话框}
});setVisible(true); //设置窗体可见
单选按钮(JRadioButton)
//使用JRadioButton创建两个单选按钮
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());group.clearSelection();//按钮清空选项}
});
c.add(btn);
复选框(JCheckDox)
//创建复选框
JCheckBox c1=new JCheckBox("1");
下拉框
JComboBox<String> comboBox=new JComboBox<>();
String items[]={"身份证","学生证","工作证"};//创建下拉框数据
ComboBoxModel cm=new DefaultComboBoxModel<>(items);//创建下拉列表模型
comboBox.setModel(cm);//向列表中添加数据模型JButton btn=new JButton("打印");
btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("选中的索引"+comboBox.getSelectedIndex());//获取选中的索引System.out.println("选中的值:"+comboBox.getSelectedItem());//获取选中的值}
});
btn.setBounds(100,10,60,20);c.add(btn);comboBox.setEditable(true);//可修改下拉列表数据comboBox.setBounds(10,10,80,21);//设定坐标和大小c.add(comboBox);setVisible(true);
列表框(Jlist)
String itens[]={"元素1","元素2","元素3","元素4","元素5","元素6","元素7","元素8"};
//JList<String> j1=new JList<>(itens);
DefaultListModel<String> model=new DefaultListModel<>();
for(String tmp:itens){model.addElement(tmp);//像数据模型添加元素
}
JList<String> j1=new JList<>();
model.addElement("添加元素");//数据模型添加新元素
j1.setModel(model);//列表框载入数据模型//SINGLE_SELECTION 单选模式
//SINGLE_INTERVAL_SELECTION 按住ctrl只能连续选择相邻的元素
//MULTIPLE_INTERVAL_SELECTION 按住ctrl可随便选
j1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);//设置选择模式JScrollPane js=new JScrollPane(j1);//为列表框添加滚动条
js.setBounds(10,10,100,100);//设定坐标和大小
c.add(js);
}
文本框(JTextField)
- 一个可编辑的文本框
JTextField jt=new JTextField();//设置一个文本框20像素长度
jt.setColumns(20);//设置文本框
jt.setText("ss");//设置文本
jt.setFont(new Font("黑体",Font.PLAIN,20));//设置字体格式
c.add(jt);Button btn=new JButton("确认");
btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("文本框中的类容为"+jt.getText());//获取文本框中的文本值jt.setText("");//清空文本框的类容jt.requestFocus();//获取焦点,获取光标}
});
复选框(JCheckBox)
- 复选框
.setLayout(new FlowLayout()); //使用流布局
JCheckBox c1=new JCheckBox(); //创建复选框
c.add(c1);
Button btn=new JButton("打印");
btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {//使用isSelected()方法获取选中状态,这个方法会返回一个布尔值返回布尔值System.out.println(c1.getText()+"复选框中状态"+c1.isSelected());}
});
密码框(JPasswordField)
- 密码框输入,可修改字符,如:不管输入什么都显示#号
setBounds(100,100,400,150);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭时关闭程序Container c=getContentPane();c.setLayout(new FlowLayout());JPasswordField jp=new JPasswordField();jp.setColumns(20);//密码框长度,20个字符jp.setFont(new Font("Arial",Font.BOLD,18));//设置字体jp.setEchoChar('#');//修改字符jp.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {char ch[]= jp.getPassword();//返回一个字符数组String str=new String(ch);System.out.println(str);}});c.add(jp);setVisible(true);//设置窗口为可见
文本域
- 一块可编写的文本区域
Container c=getContentPane();
c.setLayout(new FlowLayout());//流布局JTextArea area=new JTextArea("这是一个文本域");
area.setFont(new Font("楷体",Font.PLAIN,20));
area.setRows(5);//给文本域添加高度
area.setColumns(10);//给文本域添加宽度
area.append("添加内容");
area.setFont(new Font("楷体",Font.PLAIN,20));JScrollPane js=new JScrollPane(area);//给文本添加文本域
c.add(js);
(JAVA)JPanel面板使用相关推荐
- java:面板JPanel的使用
JPanel面板 一.关键代码 (一).新建面板 (二).面板添加边框 (三).面板选择的布局方法 二.简单说明 三.流程图 四.源码 (一).源码A (二).源码A的运行效果 (三).源码B (四) ...
- Java基础 - 面板组件JPanel
在图形用户界面编程中,如果只是普通的组件布局,我们用流式布局管理器(FlowLayout).边界布局管理器(BorderLayout).网格布局管理器(GridLayout)就可以解决,但是在比较复杂 ...
- java图形界面之JPanel面板与布局管理
文章目录 JPanel面板 常见布局管理器 流布局管理器(FlowLayout) 边界布局管理器(BorderLayout) 网格布局管理器(GridLayout) 绝对布局 JPanel面板 简介: ...
- Java的Swing在界面的JPanel面板中中添加图片
Swing在界面的JPanel面板中中添加图片 需求分析 在JPanel中添加图片; 将绘有图片的JPanel组件添加到JFrame界面中,实现切割组件放置效果. 方法一:使用Toolkit.getD ...
- java常用面板_Java 常用面板
面板也是一种Swing容器,它可以作为容器容纳其他组件,但他必须被添加到其他容器中.Swing组件中常用的面板包括JPane面板以及JScrollPane面板. JPanel JPanel面板可以聚集 ...
- P13 JPanel 面板
P13 JPanel 面板 1. 概述 2.代码实例 3.效果演示 系统:Win10 Java:1.8.0_333 IDEA:2020.3.4 Gitee:https://gitee.com/liji ...
- java 选项卡面板_Java中的高级组件面板——JTabbedPane(选项卡面板)
在Java的GUI设计中,若是要想实如今一个窗体中多个界面而且能在这些界面内能够随意切换,那选项卡面板绝对是最佳的选择,下面将具体介绍JTabbedPane的使用方法java 使用方法介绍 1. 首先 ...
- Java jpanel 设置_Java中设置Jpanel的背景
一起学习 1.创建一个类ImagePanel,代码如下 import java.awt.BorderLayout; import javax.swing.JPanel; import java.io. ...
- java时钟面板clock
时钟面板程序可以直接用了 //ClockPanel.java import static java.util.Calendar.HOUR; import static java.util.Calend ...
最新文章
- 翻译: Oralce官方文档-- Data Blocks, Extents, and Segments
- mysql对日期的操作_MySql对日期的操作
- arma模型_Eviews经典案例 | 初学者必看!ARMA模型精讲
- 设计模式:模板方法模式(C++)【喝咖啡还是喝茶】
- Struts hibernate Spring 框架原理
- ARX帮助文档:数据库对象
- [置顶]团队开发经验:如何带领一个项目团队并做好项目总结
- http状态码4XX与5XX?
- 组合数性质--二项式系数之和等于2^n的证明
- ocr初始化失败怎么办_应用程序正常初始化失败怎么办
- 2013 acm 东北四省赛 总结
- PMBOK(第4版)--项目管理九大知识领域的【输入】、【工具与技术】、【输出】一览表
- Android Studio中的keystore
- 新电脑安装win10正版系统(家庭、专业等)
- 幸福的感觉和感觉的幸福
- VFP下打印机的设置编程
- 配置阿里云镜像源失败
- Rman操作简单分析
- 10月15python
- ai人工智能课程百度云_云AI就像核电
热门文章
- 组队学习(数列极限)
- 九,DRF JWT-RBAC
- 信贷审批logistics算法
- html通过id设置css样式,JavaScript修改style,id,class等css属性样式方法总结
- 国网376.1协议开发 【1】
- 不调用C++/C字符串库函数,实现字符串复制函数strcpy
- python __slots__ 详解
- 怎样自制干果核桃仁蛋糕
- Cost Down VA/VE项目分析
- qt repaint 用法_Qt常用函数 记录(update erase repaint 的区别)