java动态添加组件_有关Java Swing动态增加组件
展开全部
效果图
参考代码import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//本类继承自JFrame 实现了 ActionListener接口
public class DemoFrame1 extends JFrame implements ActionListener {
JPanel jpc ;//存放组件的面板
JScrollPane jsp;//滚动面板
JButton jbAdd ,jbRemove,jbReset;// 增加,删除按62616964757a686964616fe4b893e5b19e31333365633932钮
int index = 1;//开始的字符
//构造函数
public DemoFrame1() {
jpc = new JPanel();
jpc.setLayout(new BoxLayout(jpc, BoxLayout.Y_AXIS));//盒子布局.从上到下
jsp = new JScrollPane(jpc,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
add(jsp);
jbAdd = new JButton("增加");
jbAdd.addActionListener(this);
jbRemove = new JButton("删除");
jbRemove.addActionListener(this);
jbReset = new JButton("重置");
jbReset.addActionListener(this);
JPanel jps = new JPanel();
jps.add(jbAdd);
jps.add(jbRemove);
jps.add(jbReset);
add(jps,BorderLayout.SOUTH);
setTitle("增删组件");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 220);//大小
setLocationRelativeTo(null);//居中
}
//main函数
public static void main(String[] args) {
new DemoFrame1().setVisible(true);//初始化并可见
}
@Override
public void actionPerformed(ActionEvent e) {
JButton jb = (JButton) e.getSource();
if(jb==jbAdd) {//当点击添加按钮时
jpc.add(new MyJPanel(index));//添加1个自己定义的面板组件
index++;//自加1
myUpdateUI();//刷新界面
}else if(jb ==jbRemove) {//当点击删除按钮时
if(jpc.getComponentCount()>0) { // 得到jpc里的MyJPanel的组件数量
jpc.remove(jpc.getComponentCount()-1);//删除末尾的一个组件 ,
index-=1;
myUpdateUI();
}
}else if(jb==jbReset) {
for (int i = 0; i
MyJPanel mjp = (MyJPanel) jpc.getComponent(i);
//也就是说取值,可以根据文本框所在的位置来取
System.out.println("第"+(i+1)+"个文本框的值是"+mjp.getJTFValue());
mjp.setJTFValue("");//清空,重置
System.out.println("第"+(i+1)+"个文本框的值已清空重置");
}
}
}
//刷新界面函数
private void myUpdateUI() {
SwingUtilities.updateComponentTreeUI(this);//添加或删除组件后,更新窗口
JScrollBar jsb = jsp.getVerticalScrollBar();//得到垂直滚动条
jsb.setValue(jsb.getMaximum());//把滚动条位置设置到最下面
}
}
//自定义一个JPanle类
class MyJPanel extends JPanel{
public JTextField jtf;
public MyJPanel(int index) {
JLabel jl = new JLabel("字符"+index);
jtf = new JTextField(15);
add(jl);
add(jtf);
}
//获取文本框的值
public String getJTFValue() {
return jtf.getText();
}
//设置文本框的值
public void setJTFValue(String value) {
jtf.setText(value);
}
}
java动态添加组件_有关Java Swing动态增加组件相关推荐
- java 枚举添加属性_关于Java 枚举类型的自定义属性
package com.cpic.test; /** * 关于枚举类型自定义属性 * */ public enum Provious { ANHUI("皖", 1),BAIJING ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- vue 动态添加click_vue,在模块中动态添加dom节点,并监听
vue向数组中动态添加数据 vue中数据更新通过v-model实现,向数组中添加数据通过push()实现,向shortcuts数组中动态添加newShortcut对象中的title和action th ...
- java图书信息添加代码_图书 - java代码库 - 云代码
[java]代码库package com.mahe; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt. ...
- java菜单如何点解_【Java】详解菜单组件
在这篇文章中,笔者会介绍Java图形界面编程中菜单组件的用法.关于菜单组件,因为java存在AWT编程和Swing编程,所以菜单组件也存在AWT菜单和Swing菜单.因为Swing组件使用的比较多,所 ...
- java ee各类组件_在Java EE组件中使用骆驼路线
java ee各类组件 从现在开始我一直在与Camel合作,我真的很喜欢它的简单性. 在Java EE之上使用它一直是一个挑战,我最近发表了一篇关于如何做到这一点的演讲,而在Java EE中引导Cam ...
- java jbutton边框颜色_在Java Swing中更改JButton的边框颜色,以保留插图
我想更改Java Swing中JButton组件的边框颜色. 我尝试了以下方法: package com.example.test; import java.awt.Color; import jav ...
- java如何添加进程_如何创建一个进程,如何进程调用进程
java一般用线程就够了,多进程优势在于每个进程互不干扰,劣势在于太耗费内存,任何事情都不是绝对的,在编写Java程序时,有时候需要在Java程序中执行另外一个程序. 1.启动程序 Java提供了两种 ...
- java date加月_关于java:在日期中添加月份
我想根据用户选择的持续时间添加月数. 我已经编写了以下代码,它采用当前日期并根据用户选择的持续时间添加月份,但我希望它采用从前端传递的开始日期并根据持续时间添加月份. String le=ra.get ...
- java给一个类添加属性_给java虚拟机增加一个属性,java -D
java文件: public static void main(String[] args) { System.out.println(System.getProperty("log_pat ...
最新文章
- 《移动App测试的22条军规》—App测试综合案例分析23.7节测试微信App对于操作系统特性的支持程度...
- 一文看清这些年自监督和无监督的进展
- 恶意npm包收集用户IP等信息并在GitHub传播
- SqlMap常用参数(一)
- 不到 100 行 Python 代码徐峥变葛优
- 本地html调试java接口_solr源码通过idea进行本地调试
- jupyter notbook远程连接配置(Ubuntu16.04)
- 使用Python语言实现凯撒密码的加密和解密
- excel表格打开是乱码怎么办?
- Java实现简易版的【图书管理系统】
- 若依框架前端Vue项目分析实战
- android 动画中插值器Interpolator详解
- 计算机系统与itunes不兼容,解决XP系统安装iTunes的要求更改更高版本的不兼容情况...
- 番外9福冈·狂野老司机告诉你如果装AI·1· ——混合现实科幻《地与光》
- c#加粗代码_如何使用C#加粗Excel工作表中特定行或单元格的字体?
- 微博发布头条文章失去文本样式以及图片
- matlab2014simulink中的三相晶闸管整流桥怎么找_哈尔滨有源滤波组件HPD2000-100-4L坏了怎么办 - 哈尔滨照明工业...
- 【愚公系列】2022年08月 微信小程序-(rich-text)富文本和(text)文本的详解
- WIFI转串口无线传输模块,个人体会
- 丐帮洪七公和郭靖在路上碰到了黄老邪和老毒物