首页
学习
活动
专区
圈层
工具
发布

Java Swing中动态删除组件

一直以来都不喜欢Java的GUI程序,界面丑陋,而且感觉功能也不强大,但是为了跨平台也没办法!     今天在完成一个JDialog,界面中有删除按钮,用户点击后删除特定的组件。...其实,自己Java Swing也是边学边用,搞了一下午,自己先使用removeAll()方法删除组件,然后实验了什么repaint()方法,validate()都不行。    ...this.contentPanel.setVisible(false); this.addComponent(); this.contentPanel.setVisible(true);     addComponent()方法是我自己写的动态添加组件的方法...再使用removeAll()方法后必须调用setVisible()才行,要不然无法完成重新添加,具体原因我也不知道。     写出来与大家分享,如果有类似问题的可以参考下!

2.5K30

Java Swing 基础组件详解

Java Swing 是一个功能强大的 GUI 工具包,提供了丰富的组件库用于构建跨平台的桌面应用程序。...本文将详细讲解 Swing 的基础组件,包括其作用、使用方法以及示例代码,帮助你快速掌握 Swing 的核心知识。 一、什么是 Swing 基础组件?...Swing 的基础组件是构建用户界面的核心元素,用于展示信息或与用户进行交互。所有 Swing 的组件都继承自 javax.swing.JComponent 类,这使得它们具有一致的行为和特性。...二、常见的 Swing 基础组件 1. JLabel:标签组件 作用:用于显示一段文本、图像或两者的组合,不能被用户编辑。...); // 添加滚动条 frame.add(button, java.awt.BorderLayout.SOUTH); frame.setVisible(true);

16110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java swing 添加 jcheckbox复选框

    总体上而言,Java Swing编程有两大特点:麻烦、效果差。        ...麻烦是说由于设计器的使用不方便(如果您希望使用窗体设计器通过快速拖拽控件建立您的Java Swing GUI程序,请您使用MyEclipse 8.5以上版本,并且需要最高使用权限),所有代码都得手写,如果没有好的编码规范和注释习惯...通过一段代码来创建属于我们的窗体: 1 import javax.swing.JFrame; 2 2 3 3 /** 4 4 * 我的第一个Java窗体 5 5 * 6...(注意:此示例较为简单,缺省很多判断,也没有动态代码支持) 59 59 // 通过设置列渲染 60 60 61 61 // 方法一:直接方式...#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int) 69

    4.2K00

    Java-GUI编程之Swing组件

    为组件设置边框 很多情况下,我们常常喜欢给不同的组件设置边框,从而让界面的层次感更明显,swing中提供了Border对象来代表一个边框,下图是Border的继承体系图: ​ 特殊的Border:...,需要传入其他两个Border对象,一个作为内边框,一个座位外边框 给组件设置边框步骤: 使用BorderFactory或者XxxBorder创建Border的实例对象; 调用Swing组件的setBorder...(Border b)方法为组件设置边框; 案例: ​ 请使用Border实现下图效果: ​ 演示代码: import javax.swing.*; import javax.swing.border...监听器注册到刚才创建的组件上; 案例: ​ 使用JToolBar组件完成下图效果: 演示代码: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent...已经为这些对话框添加了相应的组件,无须程序员手动添加组件 。

    3.1K20

    Swing组件概述

    例如:一个文本模型中的方法有:在当前文本中添加或者删除字符以及把当前文本作为一个字符串返回等。再次强调,模型是完全不可见的,显示存储在模型中的数据是视图的工作。 ​...请看下例: ​package​ com.swing; ​import​ java.awt.BorderLayout; ​import​ java.awt.Container; ​import​ java.awt.Font...) 请看下例: ​package​ com.swing; ​import​ java.awt.Color; ​import​ java.awt.Container; ​import​ java.awt.GridLayout...请看下例: ​package​ com.swing; ​import​ java.awt.BorderLayout; ​import​ java.awt.Container; ​import​ java.awt.Font...请看下例: ​package​ com.swing; ​import​ java.awt.Color; ​import​ java.awt.Container; ​import​ java.awt.event.ActionEvent

    1.2K10

    高级Swing 组件

    组合框在Swing组件里已经介绍过了,因为它比较简单。JList组件拥有很多的特性,并且它的设计与树和表格组件的设计非常相似。由于这个原因,因此我们首先要讲一讲各个复杂的Swing组件。...那么我们应该如何在列表框中添加或者删除项目呢?让人有些奇怪的是,JList类中没有任何方法可以用来实现这些操作。相反,你必须进一步了解列表组件的内部设计情况。...​import​ java.awt.*; ​import​ java.awt.event.*; ​import​ javax.swing.*; ​import​ javax.swing.tree.*;...Swing开发小组将大量的精力用于表格控件的设计上。与其他Swing类相比,表格具有其固有的复杂性,但是它也许是设计的比较成功的组件,JTable组件将相当多的复杂性隐藏了起来。...例:PlanetTable.java ​import​ java.awt.*; ​import​ java.awt.event.*; ​import​ javax.swing.*; ​import​ javax.swing.table

    83710

    第30篇:swing组件添加javafx的webview浏览器组件方法

    Part1 前言 Swing是一个用于开发java图形界面程序的工具包,一直用着挺顺手的,美中不足就是没有好用的浏览器组件,只能引用第三方jar包,比如说JxBrowser、DJ Native Swing...目前看来拖拽swing组件最好用的工具应该是netbeans,可惜netbeans不支持拖拽webview这个图形控件。...Part2 技术研究过程 Swing浏览器组件踩过的坑 先讲一下用Swing引用第三方jar包开发浏览器踩过的坑,大家可以参考一下。...Swing添加Javafx的webview组件 Netbeans没法拖拽JFXPanel,那么我们可以这样,在JFrame上先放一个JPanel,然后手动敲代码在JPanel上添加一个JFXPanel,...javafx组件是Jdk1.8中自带的,经过不断测试,发现还是jdk官方自带的组件好用,非常稳定,没有任何报错,编写起来还简单。至此一直困扰我的swing浏览器组件编写问题完美解决!

    3.8K40

    React动态添加标签组件

    一般需要采用标签的方式 需求 可以指定空状态时的标题 设置标签颜色 每个标签的最大长度(字符数) 接口传递的时候的分隔标记(是用逗号,还是其他) 直接处理表单,不需要二次处理 所以需要传入以下内容给该组件... {title} )} useEffect监听输入框是否出现,如果出现,则锚定「saveInputRef.current.focus()」 添加一个标签...const [tags, setTags] = useState([]); // 待分隔列表 当鼠标在输入框外部点击或者敲击回车的时候,都需要添加一个标签 所以需要给输入框添加onBlur和onPressEnter...setInputValue(e.target.value)} onBlur={handleInputConfirm} onPressEnter={handleInputConfirm} /> 编写添加标签的方法...PropTypes.object, // form key: PropTypes.string, // form的key }; export default TagInput; Antd3.x完整代码 antd3.x中部分组件的用法不一样

    1.2K60

    Java 动态添加 Scheduled

    在 Java 开发中,任务调度是一个常见的需求。java.util.concurrent.ScheduledExecutorService 为我们提供了强大的任务调度功能。...通常,我们可以在代码初始化时就定义好任务及其调度规则,但有时我们需要在运行时动态地添加任务调度,本文将详细介绍如何在 Java 中实现动态添加 Scheduled 任务。...在实际应用中,可能需要根据用户的操作、系统的运行状态等动态地添加任务调度。...四、注意事项 动态添加任务时,要确保线程池有足够的资源来处理新添加的任务,避免资源耗尽。 在取消任务时,要考虑任务执行过程中的资源清理等操作,尤其是任务涉及到数据库操作、文件操作等资源占用情况。...通过以上介绍,我们可以在 Java 应用中灵活地实现动态添加 Scheduled 任务,根据实际需求更好地构建任务调度逻辑,提高系统的灵活性和适应性。

    84510

    JAVA学习Swing章节按钮组件JButton的简单学习

    package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout;...; import javax.swing.JOptionPane; import javax.swing.WindowConstants; /** * 1:按钮在Swing中是较为常见的组件,用于触发特定动作...package com.swing; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent...; /** * 1:复选框组件JCheckBox * 其在Swing组件中的使用也非常广泛,它具有一个方性图标,外加一段描述性文字 * 复选框区别于单选按钮就是每一个复选框都提供了选中和不选中两种状态...,需要将多个组件放置在JPanel面板上 * 然后将JPanel面板作为一个整体组件添加在JScrollPane组件上 * */ jp1.add(js);

    4.1K50

    Java Swing绘制2维3维混合动态散点图

    使用的2D绘图包是jfreechart,3D绘图包是matplotlib for java V2 PS:由于和我研究内容相关,如果看到类似SolutionSet的结构体,这是Jmetal中的设置本质我只要其中的...contentPaneX.revalidate(); } } plot 3dim scatter 这个需要使用到matplotlib for java..., 具体怎么使用可以参考使用Matplotlib 3D for JAVA画三维点阵图 if (set.get(0).getSkillFactor() == 0) {...的这个集合将这些点组成一个颜色的集合,即在空间中使用一种legend表示,而如果想要表示不同的legend则新建一个集合对象例如bb就好 mgr.addData("Objective value", aa); 添加点和...,也就是说我的数据源是SolutionSet,这个Set中的OBJ Values 和DCV Values本身都是动态更新的。

    1.5K10

    Java Swing JTable

    有关面向任务的文档和使用JTable的示例,请参见Java教程中的如何使用表。 JTable具有许多功能,可以自定义其呈现和编辑功能,但是为这些功能提供了默认设置,因此可以轻松设置简单的表。...添加表格到容器中有两种方式: 添加到普通的中间容器中,此时添加的jTable只是表格的行内容,表头(jTable.getTableHeader())需要额外单独添加。...此添加方式适合表格行数确定,数据量较小,能一次性显示完的表格; 添加到JScrollPane滚动容器中,此添加方式不需要额外添加表头,jTable添加到jScrollPane中后,表头自动添加到滚动容器的顶部...void removeTableModelListener(TableModelListener l); } JRE 中常用的已实现 TableModel 接口的类有两个: (1)javax.swing.table.AbstractTableModel...getRowCount(); public int getColumnCount(); public Object getValueAt(int row, int column); (2)javax.swing.table.DefaultTableModel

    7.4K10

    FlashFlex学习笔记(3):动态添加组件

    //添加一个List控件 var _lst:List = new List(); var dp:Array = new Array(); var i:uint;...} 默认情况下,如果您运行这段代码会发现根本没办法编译通过,通常会提示: 未发现fl.controls.Label之类,解决办法: 先在设计视图中,拖一个Label控件到舞台上,然后再删除就行了,其它组件类似处理...个人猜测:就好比Winform中,我们引用某命名空间时,通常光using ...后,还需要添加对某程序集的引用,类似的:fla默认可能没有添加fl.controls.Label的"程序集"引用,哪怕你在代码中...import过了,但是运行时仍然找不到这个包,而手动拖一个到舞台上后,强迫flash自动添加了相关引用 最后一个问题:如果组件不全是动态添加的,比如在设计视图下直接把一个Label拖动舞台上,在对应的as...其实也很简单,只要在设计视图中给组件指定一个实例名(比如lbl123),然后就能在as文件中直接用lbl123.text = "..."来使用了 运行截图:

    1.1K80
    领券