我的情况:我有一个扩展JFrame的类MainScreen(它实际上只是一个带有启动应用程序的main方法的JFrame),我在这个类上添加了一个扩展JLayeredPane的类GameManager,我用它来显示一些东西。
public static void main(String[] args) {
MainScreen ms = new MainScreen();
}
public MainScreen() {
this.initScreen();
this.gm = new GameManager();
this.add(gm, BorderLayout.CENTER);
this.setVisible(true);
}
现在,我要做的是,从GameManager类中,我要向主JFrame添加一个JButton。我以为这会很容易,只要做:
JButton button = new JButton("Hello");
this.getParent().add(button, BorderLayout.SOUTH);
但是getParent()返回的是null,所以很明显它不起作用。我不知道为什么,我以前做了类似的事情(虽然有一个JComponent和一个JPanel),我认为每个JComponent添加到容器中时都将容器作为它的父容器。我错过了什么?
如有下列声明:
This.GetParent().Add(button,BorderLayout.South);
存在于GameManager.java
的构造函数中,则getParent()返回null
是正确的。这是因为GameManager
的对象是在调用This.GetParent().Add(button,BorderLayout.South);
之后添加到MainScreen
的。
每个顶级容器都有一个内容窗格,一般来说,该窗格包含(直接或间接)该顶级容器的GUI中的可见组件。
对于jframe
,默认的内容窗格是jpanel
。因此,当您调用this.add(gm,BorderLayout.Center);
时,您实际上将GameManager
的实例添加到JFrame
的默认内容窗格中,即JPanel
。这就是GameManager.getParent()
是JPanel
的原因。希望,这有帮助。
问题内容: 所以我有这段代码,我只想在另一个目录中列出保存的列表,其中php scrip在xampp文件夹中,并且保存到此路径: 我不知道为什么我不能让它继续工作,似乎输出为空,我真的混淆了它应该工作,或者我只是错了我需要一些帮助。 问题答案: 添加到shell命令的末尾以返回。 另外,如果运行PHP的用户没有足够的权限来查看中的输出,则上述代码将返回错误消息。
为了学习平均堆栈(使用Mongoose),我创建了一个StackOverflow类型的应用程序。我有存储在Mongo(v3.0.7)中的问题,它们有答案子文档。 我试图增加一个答案的投票数,但当问题返回时,它是空的。我非常肯定查询有问题,特别是我试图用需要修改的ID得到答案的地方。 查询0票有效: 更新:通过Mongo查询,返回结果: 但是,通过Mongoose返回NULL:
我在Xcode10.0 Mac OS 10.14上用glew2.1和glfw3.2做OpenGL作业,但是glfwCreateWindow总是返回NULL。代码如下: 如果我删除4 glfwWindowHint句子,将显示一个窗口,但它是黑暗的,并且Xcode控制台将抛出一个错误:设置为窗口的第一响应者,但它在另一个窗口中((空))!当视图被释放时,这最终会崩溃。第一个响应程序将设置为 nil。
我有两个活动和两个布局。当我在第一个活动中显示列表时,一切都正常,并在单击时给出列表中项目的编号,但当我尝试在第二个活动中重复相同的内容时,它会告诉我RecycleServiceClickListener侦听器为空。 适配器: 第一项活动: 第二项活动: 错误: 我不明白为什么在第一种情况下,它正常处理单击,而在第二种情况下,它说RecyclerViewClickListener为null
当我尝试用相同的设置在代码中创建OracleDataSource时,我可以正确地检索连接。我的出厂配置有什么问题?
问题内容: 我正在使用Servlets&Struts2的混合情况下工作。 我正在调用HTTPServlet,并且正在处理数据。 然后,我需要调用struts API在DB中插入数据。 在那我也使用HTTPSession。 所以我打电话 要获取HttpRequest,然后在该struts动作类中进行会话。 Servlet正在调用Struts Action类。 但 始终返回NULL。 是因为它没有被网