我正在使用Swing为Java构建一个带有JCombobox的简单GUI。GUI加载到我的电脑上,但在我的合作伙伴苹果电脑上导致NullPointerException。
我尝试打印出JComboBox,收到以下“无效”消息。有人知道什么可能导致“...无效,布局...”以及为什么JComboBox会在Apple而不是Windows笔记本电脑上导致NullPointerException吗?
当我打印JComboBox时,会显示以下消息:
Jcombobox javax。摆动JComboBox[,0,0,0x0,无效,layout=javax.swing.plaf.metal.metalcomboxUI$metalcomboxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=328,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=搜索自己粘贴的文本]
当我试图从Oracle的教程网站打印JComboBox时,我发现同样的“无效”:https://docs.oracle.com/javase/tutorial/uiswing/examples/components/ComboBoxDemoProject/src/components/ComboBoxDemo.java[注意:通过打印JCombox petlist]:
public ComboBoxDemo() {
super(new BorderLayout());
String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };
//Create the combo box, select the item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
System.out.println(petList);
下面也是我们正在制作的项目的代码[只是JComboBox部分:
public String comboBox() {
String str = "Search Lyric Database";
String[] options = new String[] { "Search Lyric Database", "Search Books Database", "Search your own file", "Search website",
"Search your own pasted text" };
JComboBox<String> bookList = new JComboBox<>(options);
bookList.setSelectedIndex(3);
System.out.println("JCOMBOBOX" + bookList );
pane.add(bookList, BorderLayout.PAGE_START);
并注意Windows计算机输出[打印时]中的“无效”。
...javax.swing.JComboBox[,0,0,0x0,无效,布局=javax.swing.plaf.metal.......
有人知道“无效”是什么意思吗?有人知道为什么当从Apple计算机单击JCombobox时会导致nullPointerException[但不是在Windows上]以及我们如何解决这个问题吗?
谢谢
“无效”基本上是指组件。isValid()
返回false(https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/master/jdk/src/share/classes/java/awt/Component.java#L8134).
根据JavaDoc,isValid()
方法
确定此组件是否有效。当组件在其父容器中正确调整大小和定位并且其所有子组件也有效时,该组件是有效的。为了考虑对等方的大小要求,组件在首次显示在屏幕上之前就无效了。当父容器完全实现时,其所有组件都将有效。
所以这可能只是意味着你从未将这个JComboBox添加到一个容器中,和/或这个容器从未显示过。
所以这肯定不是你的NullPointerException
问题内容: 我正在学习Python,甚至无法编写第一个示例: 这给 指向2。 为什么是这样?我正在使用3.1版 问题答案: 那是因为在Python 3中,他们用 函数 替换了该 语句 。 __ 现在的语法与以前差不多,但是需要parens: 从“ python 3新增功能”文档中:
我试图解决这项任务,但我失败了,因为返回不起作用。我是java新手,希望你能帮助我。 任务是删除字符串中的每个x,但不是第一个和最后一个。
问题内容: 我刚刚将一个zip文件上传到AWS Lambda,其中包含“ ref”(https://www.npmjs.com/package/ref),这是验证iOS Game Center身份验证令牌如何对GameCenter用户进行身份验证所必需的来自第三方的node.js服务器。 不幸的是,调用它会导致“无效的ELF标头”错误, 这是在运行优胜美地的64位Macbook Pro上开发的,在
问题内容: 我想检查请求url的状态码但获取代码 这是我的代码 堆栈跟踪 问题答案: 我认为,此问题是由Java尝试使用IPV6地址引起的,原因是您的操作系统不支持IPV6地址,或者您的操作系统没有正确设置IPV6地址来处理它。 您可以强制Java使用具有以下属性的IPV4地址: -Djava.net.preferIPv4Stack = true
我在用Java 8和LWJGL,用GLFW和OpenGL做一个游戏引擎。我有一个通用的IndexedVAO类,里面有我所有的VAO代码,以简化事情。以下是相关部分: 构造函数 上传功能 绘图功能 该代码在linux上运行良好,但今天我在windows机器上尝试了它,结果出现了EXCEPTION_ACCESS_VIOLATION jvm崩溃。当我检查JVM崩溃时生成的hs_err_pid####文件