小编Har*_*Joy的帖子

如何在swing中使用Smack API停止打开重复窗口?

我有2个延伸课程JFrame.两者都有show()构造函数中的方法.从ClassOne我打电话ClassTwonew ClassTwo()按钮单击事件.但如果我再次按下按钮,ClassTwo则会打开新窗口.那么如果打开一个ClassTwo窗口,怎么能停止打开ClassTwo窗口呢?

编辑

现在这个问题已经解决,但现在当我第一次打开ClassTwo窗口时,它会显示一个窗口.然后关闭它后,当我再次打开ClassTwo窗口时,它打开两个窗口,这个计数继续增加.为什么会这样?

编辑2

我发现它不是摆动问题,而是来自MultickreChat类Samck API的问题.因此,任何曾经研究过它的人都会帮助我.

ClassOne中的代码是:

if(!winList.contains(room_jid)){
    new ClassTwo(room_jid,....);
    winList.add(room_jid);
}
Run Code Online (Sandbox Code Playgroud)

而在ClassTwo中:

public ClassTwo(....){
......
    this.muc = new MultiUserChat(connection, room_jid);
    if(!muc.isJoined())
        muc.join(this.user_id);      //---- This line opens previously closed window.
.....

    if(!isVisible())
       show();

}
Run Code Online (Sandbox Code Playgroud)

编辑3

classone的构造函数

public ClassOne(){
  JButton btn = new JButton("Open");
  btn.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e){
       if(!winList.contains(room_jid)){
           new ClassTwo(room_jid,....);
            winList.add(room_jid);
       }
     }
  });
}
Run Code Online (Sandbox Code Playgroud)

java swing window smack

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

Ruby在Windows上崩溃了

我面临着这里描述的同样问题:为什么 - rails-failed-with-ruby-exe-have-have-a-problem-and-need-to-close.这是ruby遇到以下错误崩溃:

ruby.exe has encountered a problem and needs to close. We are sorry for the inconvenience.
Run Code Online (Sandbox Code Playgroud)

我要求这个添加一些细节,因为我没有问过这个问题,我无法在其中添加信息.所以这不重复.


无论我如何运行它(在开发或生产中),Ruby最终都会崩溃,但它似乎在生产模式下更频繁地崩溃.当我按住F5键时有时它会崩溃,但有时候我必须间歇地按住并释放它一两分钟.它似乎非常依赖于时间,但我通常可以在不到60秒的时间内使其崩溃.

当我刷新GET请求时发送3次如下:

Started GET "/app/page" for 127.0.0.1 at 2011-02-23 10:57:35 +0530
  Processing by AppController#page as HTML
Rendered pms/dashboard.html.erb within layouts/application (109.4ms)
Completed 200 OK in 141ms (Views: 140.6ms | ActiveRecord: 0.0ms)


Started GET "/app/page" for 127.0.0.1 at 2011-02-23 10:57:35 +0530
  Processing by AppController#page as */*
Rendered pms/dashboard.html.erb within layouts/application (15.6ms)
Completed 200 OK in 187ms (Views: 187.5ms | ActiveRecord: …
Run Code Online (Sandbox Code Playgroud)

windows crash ruby-on-rails-3

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

为什么不能添加String来键入List <?>?

错误:

The method add(capture#1-of ?) in the type List<capture#1-of ?> is not 
applicable for the arguments (String)
Run Code Online (Sandbox Code Playgroud)

码:

List<?> to = new ArrayList<Object>();
to.add(new String("here"));
Run Code Online (Sandbox Code Playgroud)

既然List<?>是泛型类型List,因此可以是任何类型,那么为什么它不接受添加方法中的String?

java generics

7
推荐指数
2
解决办法
2010
查看次数

Picture.writeToStream()没有写出所有位图

我正在使用webview.capturePicture()创建一个包含网页的所有绘图对象的Picture对象.

我可以使用canvas.drawPicture(picture, dst)没有问题成功地将此Picture对象渲染为位图.但是,当我使用picture.writeToStream(fos)将图片对象序列化为文件,然后 Picture.createFromStream(fis)再读回数据并创建新的图片对象时,如上所示渲染的结果位图缺少任何更大的图像(任何超过20KB的东西!通过观察).

这种情况发生在我测试过的所有Android操作系统平台上,1.5,1.6和2.1.查看Skia底层Android图形库的本机代码和从picture.writeToStream()我生成的输出文件可以看到文件格式是如何构造的.我可以看到这个Skia假脱机文件中的一些图像没有被写出(较大的那些),看起来是问题的代码skBitmap.cpp在方法中

void SkBitmap::flatten(SkFlattenableWriteBuffer& buffer) const;
Run Code Online (Sandbox Code Playgroud)

它写出位图fWidth, fHeight, fRowBytes, FConfig and isOpaque值,但然后只写出SERIALIZE_PIXELTYPE_NONE (0).这意味着假脱机文件不包含任何有关实际图像的像素信息,因此无法正确恢复图片对象.

实际上,这使得writeToStream and createFromStream()API无用,因为它们不能可靠地存储和重新创建图像数据.

有没有其他人看到过这种行为,如果是这样,我是否错误地使用了API,是否可以解决,是否有解释,即不完整的API /错误,如果有的话,是否有计划在未来的Android版本中修复?

提前致谢.

java android image

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

无法在Android测试应用中打开数据库

我试图SQLiteOpenHelper在Android应用程序中测试我的子类的插入和检索方法.SQLLiteHelper子类存在于测试中的应用程序中,并在安装文件夹中创建数据库.但是,单元测试存在于InstrumentTestCase测试应用程序中,我想在测试应用程序中创建一个测试数据库.

不幸的是,如果我尝试在测试应用程序中创建/打开数据库,我会收到以下异常:

android.database.sqlite.SQLiteException: unable to open database file
at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1584)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:638)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:168)
at com.kizoom.android.mybus.storage.MyStopsDatabase.getMyStops(MyStopsDatabase.java:63)
at com.kizoom.mybus.test.MyStopsDatabaseTest.testGetMyStops(MyStopsDatabaseTest.java:24)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:191)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:181)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:164)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:151)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:425)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1520)

The following information appears in LogCat.

02-21 11:52:16.204: ERROR/Database(1454): sqlite3_open_v2("/data/data/com.kizoom.mybus.test/databases/MyStops", &handle, 6, NULL) failed

02-21 11:52:16.204: ERROR/SQLiteOpenHelper(1454): Couldn't open MyStops for writing (will try read-only):

02-21 11:52:16.204: ERROR/SQLiteOpenHelper(1454): android.database.sqlite.SQLiteException: unable to open database file

02-21 11:52:16.204: ERROR/SQLiteOpenHelper(1454):     at android.database.sqlite.SQLiteDatabase.dbopen(Native Method) …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
2
解决办法
3841
查看次数

在java中限制应用程序的多个实例

我想阻止在java中启动多个应用程序实例.我知道2种方法:

  1. 锁定文件
  2. 锁定插座

但哪一种更有效,更好用?我应该使用哪一个?

任何其他做同样的解决方案也是受欢迎的.

java swing multiple-instances single-instance

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

android中的自定义对象点击问题

我在android中创建了一个自定义视图以在屏幕上显示球.现在我想要的是当我触摸那个球时它应该分成四个部分爆炸,每个部分应该向上,向下,向左,向右移动不同的四个方向.我知道我必须设置触摸侦听器以检测球上的触摸但是如何创建爆炸效果?这个问题现在解决了.我在屏幕上显示多个球,以便用户可以点击它并将其爆炸.

这是我的自定义视图:

public class BallView extends View {
    private float x;
    private float y;
    private final int r;
    public BallView(Context context, float x1, float y1, int r) {
        super(context);
        this.x = x1;
        this.y = y1;
        this.r = r;
    }
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawCircle(x, y, r, mPaint);
    }

}
Run Code Online (Sandbox Code Playgroud)

具有相似属性的SmallBall除了一个是方向和一个爆炸方法在方向和动画标志上移动它以阻止它移动.

private final int direction;
private boolean anim;

public void explode() {
    // plus or minus x/y based on direction and stop animation if anim flag …
Run Code Online (Sandbox Code Playgroud)

android click effect

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

Java:如何从重定向的URL中读取内容?

我在Bean中使用以下Java代码来读取URL的内容:

String url;
String inputLine;
StringBuilder srcCode=new StringBuilder();

public void setUrl (String value) {
    url = value; 
}

private void scanWebPage() throws IOException {
    try {
         URL dest = new URL(url);
         URLConnection yc =  dest.openConnection();
         yc.setUseCaches(false);
         BufferedReader in = new BufferedReader(new 
                        InputStreamReader(yc.getInputStream()));
         while ((inputLine = in.readLine()) != null)
            srcCode = srcCode.append (inputLine);
         in.close();
    } catch (FileNotFoundException fne) {
         srcCode.append("File Not Found") ;
    }
}
Run Code Online (Sandbox Code Playgroud)

该代码适用于大多数URL,但不适用于重定向的URL.如何更新上述代码以从重定向的URL中读取内容?对于重定向的网址,我知道"File Not Found".

java

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

Java重载概念

当我运行此代码时,它会打印出来String.我的问题是为什么没有编译时错误?Object的默认值以及String为null.然后为什么不编译说Reference to method1 is ambiguous.

public class Test11
{

   public static void method1(Object obj) {
      System.out.println("Object");
   }

   public static void method1(String str) {
      System.out.println("String");
   }

   public static void main(String[] arr ) {
      method1(null);    
   }
}
Run Code Online (Sandbox Code Playgroud)

java overloading

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

切换语句

对于switch语句,是否可以在switch语句中更改switch的值,以便它可以跳转到不同的情况?例如:

int w = 0;
switch(w)
{
   case 1:
     doSomething();
     w = 3;
   case 2:
     doSomething();
     break;
   case 3:
     doSomething();
     break;
}
Run Code Online (Sandbox Code Playgroud)

基本上我要问的是,如果我没有为一个案例放置一个break语句并且我在同一个案例中更改了switch的值,那么代码会执行这两种情况吗?

case break switch-statement

5
推荐指数
0
解决办法
2855
查看次数