小编Cru*_*her的帖子

如何在JPanel中扩展JPanel?

这是我正在使用的图像: 在此输入图像描述

这就是我想要实现的目标: 在此输入图像描述

正如你所看到的,我有一个JPanel外部,GridLayout为(3,1)......即3行1列

我在外部JPanel中添加了3个JPanel,但我遇到的问题只是扩展了Inner2 JPanel.我需要更多空间来在Inner2中添加更多信息,并且需要更少的空间用于Inner3,因为它只有一个CHECKOUT JButton.

我将如何实现这一目标?

我试图在Inner2中设置不同的布局,但似乎所有内部​​JPanels的维度都是固定的.

java swing layout-manager grid-layout

2
推荐指数
1
解决办法
1097
查看次数

Java阻止反射

我打算举办一场小型锦标赛.

竞争对手将各自提供一个Java类,实现一个接口,该接口将接受Connect Four的GameState,并返回一个移动.

如何防止团队找到其他团队的班级(通过反思)并且弄乱他们的方法来对抗一个轻松的对手?

java security reflection

1
推荐指数
1
解决办法
2833
查看次数

如何从同一个类中的另一个方法调用变量,以及调用该方法?

我正在努力理解声明和调用类的概念以及它们之间的变量流量.在我现在的代码中我认为有几个问题,但现在的主要问题是main方法无法使用另一个方法的返回值,我相信我得到了其余的权利.代码:

import java.util.*;
import java.io.*;

class Uke63{
    public static void main(String[]args){

        char c='t';
        String tekst="Jabba the Hutt var en stygg fyr";

        forekommer(c, tekst);

        System.out.println(retval.forekommer);

    }

    static boolean forekommer(char c, String tekst){

        boolean retval=tekst.contains(c);
        return retval;
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试编译时得到的错误:(我确实看到它没有找到值,但我需要一些帮助才能找到特定的值.)

makri@Marius-samlap:~/Programmering/Ukeoppgaver$ javac Uke63.java
Uke63.java:12: error: cannot find symbol
    System.out.println(retval.forekommer);
                       ^
  symbol:   variable retval
  location: class Uke63
Uke63.java:18: error: method contains in class String cannot be applied to given types;
    boolean retval=tekst.contains(c);
                        ^
  required: CharSequence
  found: char
  reason: actual argument char cannot be …
Run Code Online (Sandbox Code Playgroud)

java variables methods call

1
推荐指数
1
解决办法
2万
查看次数

错误:无法找到符号static runOnUiThread

我在编译具有以下import语句的android应用程序时遇到问题:

import static com.google.android.gms.internal.zzhl.runOnUiThread;
Run Code Online (Sandbox Code Playgroud)

收到以下错误:

Error:(37, 1) error: cannot find symbol static runOnUiThread
Run Code Online (Sandbox Code Playgroud)

尝试使用该方法还有另一个错误(显然,由于导入失败).

我试过围绕这个谷歌,但找不到任何东西.直截了当地蹲下这个方法和import语句.

有没有人知道这个,或者我怎么能得到这个编译?我走到了尽头.

android compiler-errors importerror

1
推荐指数
1
解决办法
1846
查看次数

等待活动显示

目前我有一个加载活动的按钮。

该活动中有一个 ListView ,无论出于何种原因需要相当长的时间来加载(不等待数据,数据已经在内存中)。问题是,当它呈现列表时,UI 正在等待按钮被单击的位置,并且在列表完全加载之前不会更改屏幕。

我想要的是仅在加载 Activity 后才显示列表,因此至少在他们按下按钮时会发生一些事情(响应式 UI 很重要)。

目前,我对此的解决方法是生成一个线程,等待 50 毫秒,然后为我的列表设置适配器(使用 runOnUiThread)。当然,如果在某些手机上加载 Activity 的时间超过 50 毫秒,则必须加载整个列表才能再次加载该 Activity。

当前相关代码:

@Override
public void onPostResume() {
    super.onPostResume();
    new Thread(new Runnable() {
        @Override
        public void run() {
            final AdapterData data = getData();
            try {
                Thread.sleep(50);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            mActivity.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    myAdapter = new MyAdapter(MyActivity.this, data);
                    lvMyList.setAdapter(myAdapter);
                }
            });
        }
    }).start();
}
Run Code Online (Sandbox Code Playgroud)

我只是在代码中更改了变量名称,但这无关紧要。这只是为了让您可以看到我的一般解决方案。

我觉得应该在活动完成创建时调用某种回调。我认为 onPostResume 等待活动完成加载,但这不起作用。还是挂了。

multithreading android wait

1
推荐指数
1
解决办法
2359
查看次数

有没有办法在java中而不是整个类中使用线程方法?

所以我一直在想,最近,在学校,我们一直在学习java线程..

与大多数其他语言不同,我还没有找到一种在java中编写函数的方法,这正是我正在寻找的...

我知道有人可以使用run类,但想象一个类有3个函数,每个函数都有自己的参数,我希望能够调用这些函数并在可能的情况下将它们分开...

java multithreading

0
推荐指数
1
解决办法
167
查看次数

JSON.parse意外的字符

我有一个存储在mongoDB集合中的JSON对象.该对象表示5×图像,5y图像和tictactoe板图像的位置.

在一个间隔,我发送一个请求到一个响应该对象的php文件,然后我想解析该对象并相应地移动它们.

这是我的要求:

$.getJSON
(
    "e4.php",
    "",
    function(data)
    {
        world = JSON.parse(data);
        moveObjects(world);
    }
);
Run Code Online (Sandbox Code Playgroud)

但我得到:JSON.parse:意外的角色

当我在console.log数据时,firebug给了我正确的对象,所以我知道它正在正常返回.

在e4.php中:

$criteria = array("name" => "world");

$doc = $collection->findOne($criteria);

$conn->close();

print $doc['world'];
Run Code Online (Sandbox Code Playgroud)

其中conn是连接,而collection是我正在使用的集合.

数据库在e3.php中更新:

$encodedworld = $_REQUEST['data'];

$criteria = array("name" => "world");

$doc = $collection->findOne($criteria);

$doc['world'] = $encodedworld;

$collection->save($doc);

$conn->close();

print $encodedworld;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我很难过

提前致谢.

javascript ajax jquery json mongodb

0
推荐指数
1
解决办法
5512
查看次数

java getter是线程安全的吗?

可以同步所有改变对象状态但不同步任何原子的方法吗?在这种情况下,只返回一个字段?

考虑:

public class A
{
   private int a = 5;

   private static final Object lock = new Object();

   public void incrementA()
   {
       synchronized(lock)
       {
           a += 1;
       }
   }

   public int getA()
   {
       return a;
   }
}
Run Code Online (Sandbox Code Playgroud)

我听到人们认为它是可能的getA(),并incrementA()在大致相同的时间被调用,有getA()返回错误的事情.然而,似乎在它们同时被调用的情况下,即使吸气剂同步,你也可能得到错误的东西.实际上,如果同时调用这些"正确的东西",它们似乎甚至没有被定义.对我来说最重要的是国家保持一致.

我也听说过关于JIT优化的讨论.给定上述类的实例和以下代码(代码将依赖于a在另一个线程中设置):

while(myA.getA() < 10)
{
    //incrementA is not called here
}
Run Code Online (Sandbox Code Playgroud)

显然,合法的JIT优化将其更改为:

int temp = myA.getA();
while(temp < 10)
{
    //incrementA is not called here
}
Run Code Online (Sandbox Code Playgroud)

这显然会导致无限循环.为什么这是合法的优化?如果a不稳定,这会非法吗?

更新

我做了一些测试.

public class …
Run Code Online (Sandbox Code Playgroud)

java multithreading

0
推荐指数
1
解决办法
2131
查看次数

IndexOutOfBoundsException:索引:15,大小:19

所以我前几天从我们的网络服务器上梳理了一些日志(寻找其他东西),当一些奇怪的东西引起了我的注意.

java.lang.IndexOutOfBoundsException: Index: 15, Size: 19
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎不可能.

我查找了ArrayList#rangeCheck的源代码,这引起了我的注意

private void rangeCheck(int index) {
    if (index >= size)
        throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
}
Run Code Online (Sandbox Code Playgroud)

基于我收到的信息应该永远不会发生.

不幸的是,我不知道目前内容是什么(这是从用于很多事情的代码中调用的).我一直无法重现它.我甚至不知道我从哪里开始.

问题:这是否应该发生?这是Java中的一个小故障吗?或者只是一个怪胎事故.

我认识到这可能不合时宜.我希望我能了解更多关于发生了什么的信息,但我不知道.

java indexoutofboundsexception

0
推荐指数
1
解决办法
911
查看次数