Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在JComboBox使JButton消失后创建JButton

在JComboBox使JButton消失后创建JButton
EN

Stack Overflow用户
提问于 2012-11-05 03:01:29
回答 3查看 361关注 0票数 1

在创建JFrame和添加一些组件时,我注意到,如果在设置JFrame可视按钮和添加按钮之间创建JComboBox实例,则按钮将消失。

我首先创建一个JFrame:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);

然后添加设置为可见的框架并添加一个JButton:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
frame.setVisible(true);
frame.add(new JButton("text"));

它按预期工作,并显示一个大按钮:

但是,如果我在这些行之间创建JComboBox的一个实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
frame.setVisible(true);
new JComboBox();
frame.add(new JButton("text"));

现在纽扣不见了..。

我希望没有任何改变,因为我只是创建一个实例,而不是将它分配给任何东西。

为什么按钮会消失?

此外,如果将new JComboBox();移动到frame.setVisible(true);上方,则该按钮再次可见。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-05 03:07:17

一旦显示了UI,就不应该从除EDT之外的任何线程修改它。在第一种情况下,你有一些“运气”,这是有效的。在第二种情况下,创建JComboBox的时间很长,足以阻止您从不是EDT的线程修改UI。

您应该做的是调用EDT上的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SwingUtilities.invokeLater(new Runnable() {
    public void run() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 200);
        frame.add(new JButton("text"));
        frame.setVisible(true);
    }
})
票数 3
EN

Stack Overflow用户

发布于 2012-11-05 03:20:00

我发现问题在于在向setSize();添加组件之前调用的setVisible(true);方法和JFrame方法。因此,答案很简单,在代码末尾调用setSize();setVisible(true) (或者更好的方法是调用pack();而不是setSize()),一切都应该运行良好:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;


public class Fnatte {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        new JComboBox();
        frame.add(new JButton("Text"));
        //frame.setSize(200,200);
        frame.pack();
        frame.setVisible(true);
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-11-05 03:28:41

从JavaDoc中获得add()方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
If the container has already been
displayed, the hierarchy must be 
validated thereafter in order to
display the added component.

更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
frame.setVisible(true);
new JComboBox();
frame.add(new JButton("text"));

至:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
frame.setVisible(true);
new JComboBox();
frame.add(new JButton("text"));
frame.validate();

我认为您遇到的奇怪之处不在于调用"new ()“;而是调用”frame.add(新JButton(“text”));在调用“frame.setVisible(True)”之后调用"frame.setVisible(true);“而不调用"frame.validate();”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13230733

复制
相关文章
jQuery 选项卡插件 FengTab by FungLeo
好无聊啊,权当练手,写了一个选项卡插件 Html 结构 <h2>Demo 1</h2> <div id="FengTab" class="FengTab"> <ul class="tab"> <li>Title 1</li> <li>Title 2</li> <li>Title 3</li> <li>Title 4</li> </ul> <div c
FungLeo
2022/11/28
1.3K0
选项卡
HTML代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>选项卡</title> <link rel="stylesheet" href="css/tab.css" /> </head> <body> <div id="tab"> <ul> <li class="select">视频</li
河湾欢儿
2018/09/05
1.5K0
Tab选项卡
实现步骤: 实现静态UI效果 用传统的方式实现标签结构和样式 基于数据重构UI效果 将静态的结构和样式重构为基于Vue模板语法的形式 处理事件绑定和js控制逻辑 声明式编程 模板的结构和最终显示的效果基本一致 1.html结构 <div id="app"> <div class="tab"> <!-- tab栏 --> <ul> <li class="acti
梨涡浅笑
2020/12/02
2.2K0
选项卡TabHost
1.布局 1 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:id="@+id/tabHost" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" > 6
欢醉
2018/01/22
1.6K0
选项卡TabHost
案例选项卡
案例:实现步骤 1. 实现静态UI效果 用传统的方式实现标签结构和样式 2. 基于数据重构UI效果 将静态的结构和样式重构为基于Vue模板语法的形式 处理事件绑定和js控制逻辑 3. 声明式编程
清出于兰
2020/12/01
1.5K0
案例选项卡
选项卡(TabHost)使用
使用方式: 从TabActivity中用getTabHost()方法获取TabHost,然后设置标签内容
李小白是一只喵
2020/04/24
1.8K0
js实现选项卡
选项卡就是点击按钮切换到相应内容,其实就是点击按钮把内容通过display(block none)来实现切换的。
wfaceboss
2019/04/08
2.8K0
Layui Tab 选项卡
layui-tab layui-tab-title layui-tab-content layui-tab-item
用户5760343
2019/10/24
3.3K0
Labview选项卡之实现被选择选项卡工作
有些时候,我们做界面,需要好多个界面切换。如果是同一个 VI 里界面切换,一般都是选项卡了。切换不同选项卡就切换界面了。
Gnep@97
2023/08/16
7681
Labview选项卡之实现被选择选项卡工作
小程序 — 选项卡
(2)将用户点击传过来的index值赋给data中改变当前的索引值activeIndex
Ewall
2018/09/30
1.6K0
小程序 — 选项卡
微信小程序----导航栏选项卡(MUI顶部选项卡)
效果图 WXML <import src="../../template/list.wxml"/> <view class="tui-tabbar-content"> <view class="
Rattenking
2021/02/01
1.6K0
微信小程序----导航栏选项卡(MUI顶部选项卡)
Tab选项卡切换效果
好了,今天要推荐给大家的这个js动画效果,基本上每个网站都会出现,就是tab选项卡的切换效果。
大M
2021/08/24
3.3K0
Tab选项卡切换效果
实用tab选项卡切换
itclanCoder
2023/09/14
2610
实用tab选项卡切换
安卓底部选项卡
腾讯QQ有了更新,在自己的手机上更新了一下,试运行了一段时间,被底部的选项卡给深深的迷住了。于是,有了去做做它的原始冲动与欲望,在历经一个早上的琢磨,终于实现了,贴上来,作为给大家的春节祝福吧,在此,小编给大家拜年了,祝大家在新的一年马上有车,马上有房,马上有钱,马上有对象,同时也对浏览我文章的看客表示深深的谢意!
牛老师讲GIS
2018/10/23
1K0
安卓底部选项卡
AngularDart Material Design 选项卡 顶
注意:为了获得高质量的用户体验,选项卡条的用户必须将焦点设置为新显示的内容,以便1)选项卡不保留焦点样式,2)屏幕阅读器可以计算已更改的内容。
南郭先生
2018/09/30
1.4K0
搞定侧边栏TAB选项卡
竖着排列确实会在网速卡的时候,随机日志,最新日志,热评日志会连在一起显示30篇文章,太不美观了。
空空裤兜
2023/03/03
1.2K0
Tab选项卡切换效果-自动切换
上节我们讲到了tab选项卡的手动切换效果和手动延迟切换效果,在延迟切换效果中,我们使用到了setTimeout函数,这节我们要实现手动自动选项卡的效果。
大M
2021/08/24
5.4K0
Tab选项卡切换效果-自动切换
用js写简单选项卡
要点1:abc.document.getElementsByTagName(“li”):取得abc下面的所有标签为li的元素,返回的是一个元素集合,有数组的一些属性。
全栈程序员站长
2022/09/06
5.7K0
用js写简单选项卡
WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容
  在前面一篇文章里面,我们实现了AvalonDock选项卡的动态添加,但是对于选项卡里面的内容,我们并没有实现任何有用的功能。   这篇文章里面,我们将实现对选项卡里面的内容和功能实现自定义。 完整系列   ● 第一部分   ● 第二部分   ● 第三部分 在Git中下载工程源码
全栈程序员站长
2022/09/13
1.6K0
WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容
Wijmo 更优美的jQuery UI部件集:爱上 ThemeRoller
Wijmo 是一个基于jQuery UI的UI部件的套件。Wijmo最方便使用的特点之一就是兼容ThemeRoller。ThemeRoller 是一个创建独特的jQuery UI web 部件主题皮肤的web应用程序。凭借其简单的界面和所见即所得的预览功能,你可以用比使用图形编辑器更短的时间为你的Wijmo部件以及其他兼容ThemeRoller的部件创建皮肤。 拉开帷幕:ThemeRoller 基础 我们可以在这里找到ThemeRoller Web 应用程序 jqueryui.com/themeroller
葡萄城控件
2018/01/10
1.2K0
Wijmo 更优美的jQuery UI部件集:爱上 ThemeRoller

相似问题

响应BrowserRouter更改后无法工作的动态路由

15

使用javascript更改默认边框后,焦点无法工作

20

用户登录后更改默认路由

20

更改默认端口后,Apache2无法正常工作

11

使用属性路由升级到MVC5后,默认路由无法工作

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文