问题列表 - 第19685页

如果Swing模型的getter不是线程安全的,你如何处理它们?

众所周知,更新Swing GUI必须仅在EDT中完成.较少的广告是从GUI 中读取内容必须/也应该在EDT中完成.例如,让我们使用ButtonModel的isSelected()方法,它告诉(例如)ToggleButton的状态("向下"或"向上").

在我看过的每个例子中,isSelected()都是从主要或任何一个线程中自由地查询.但是当我查看DefaultButtonModel的实现时,它没有同步,并且值不是volatile.因此,严格地说,isSelected()如果从任何其他线程读取它而不是从其设置的线程(当用户按下按钮时是EDT),则可以返回垃圾.还是我弄错了?

当Bloch的Effective Java中的第66项震惊时,我最初想到这个,这个例子:

public class StopThread {
    private static boolean stopRequested;

    public static void main(String[] args) throws InterruptedException {
        Thread backgroundThread = new Thread(new Runnable() {
            public void run() {
                int i = 0;
                while(!stopRequested) i++;
            }
        });
        backgroundThread.start();

        TimeUnit.SECONDS.sleep(1);
        stopRequested = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

与看起来相反,该程序永远不会终止,至少在某些机器上.stopRequested从主线程更新标志对后台线程是不可见的.可以使用同步的getter和setter或通过设置标志来修复这种情况volatile.

所以:

  1. 在EDT之外查询Swing模型的状态(严格来说)是错误的吗?
  2. 如果没有,怎么样?
  3. 如果是的话,你如何处理它?运气好,还是通过一些聪明的解决方法?InvokeAndWait?

java swing thread-safety

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

构造函数异常对象中的异常

考虑以下课程:

class C1 : IDisposable {...}

class C2 : IDisposable {...}

sealed class C3 : IDisposable
{
   public C3()
   {
      c1 = new C1();
      throw new Exception(); //oops!
   }
   ~C3()
   {
      //What can we do???
   }
   public void Dispose()
   {
      if ( c1 != null ) c1.Dispose();
      if ( c2 != null ) c2.Dispose();
   }

   private C1 c1;
   private C2 c2;
   //assume that this class does not contains native resources
}
Run Code Online (Sandbox Code Playgroud)

现在,假设我们正确地使用一次性物体:

using (var c3 = new C3())
{
} …
Run Code Online (Sandbox Code Playgroud)

c#

8
推荐指数
2
解决办法
3173
查看次数

表单提交错误403

我的网站管理区域中的表格存在问题。我用它来更改显示的HTML文本,它是用PHP编写的,并连接到MySQL数据库。

echo "<form action=\"index.php?kat=infos&aktion=upd&kategorie=$kategorie\" method=\"POST\" enctype=\"application/x-www-form-urlencoded\">\n";
echo "<table border=\"0\">\n";
echo "<b>$kategorie</b>\n";
echo "<tr><td><b>Information:</b></td><td><textarea name=\"info\" cols=\"50\" rows=\"7\">$info</textarea></td></tr>\n";
echo "<tr><td><input type=\"submit\" value=\"Editieren\" /></td></tr>\n";
echo "</table>\n";
echo "</form>\n";
Run Code Online (Sandbox Code Playgroud)

如果我输入一些小句子,例如“这仅是测试文本”。并单击提交按钮,index.php接受数据并将其按原样插入数据库。但是,如果我输入了更长的文本,例如来自http://www.juraforum.de/disclaimer_muster/的免责声明,则会在表单提交时收到错误403。我不认为这是因为文本较长,因为如果我在其中写入一些较长的随机文本,它也会起作用。

希望您能帮我这个忙。

html php

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

AWS简单数据库管理工具

我正在将Amazon SimpleDB用于我的Web应用程序.我正在寻找像phpMyAdmin这样的工具,它允许我从一个地方管理数据库(查看我的所有域名,查看所有记录 - 运行测试查询等)但我能找到的只是来自Bizo的免费firefox插件

http://dev.bizo.com/2008/12/open-source-simple-db-firefox-plugin.html
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为它不会让我指出它的简单DB的欧洲主机sdb.eu-west-1.amazonaws.com

如果有必要,我不介意付钱买东西.

amazon-simpledb

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

asp.net mvc:如何模拟Url.Content("〜")?

谁知道如何嘲笑Url.Content("~")

(顺便说一句:我正在使用Moq)

asp.net-mvc unit-testing moq

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

在Eclipse中使用和测试Web服务

你能说出如何在Eclipse中测试和使用Web服务的最佳方法吗?

我对Web服务没什么经验,也就是说,我使用了生成客户端存根的Apache Axis插件.

我现在不需要编写自己的Web服务,只使用现有的Web服务.我有Eclipse Java EE,我可以下载任何插件.你会建议什么?

java eclipse web-services

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

tcpdf Pagebreak的问题

我的网页破解有点问题.Multicell显示在第一页的页脚上,然后它中断:如何设置页面的下边距,以便在上面发生中断?这是示例PDF:示例,这里是源代码:

<?php require_once('../tcpdf/config/lang/eng.php'); 
  require_once('../tcpdf//tcpdf.php'); 

  class MYPDF extends TCPDF {
    public function Header() { 
      $auto_page_break = $this->AutoPageBreak;
      $this->SetAutoPageBreak(false,0); 
      $this->setJPEGQuality(100); $img_file = 'images/mandanten/ce_background.jpg';       
      $this->Image($img_file, $x=160, $y=72, $w=36, $h=200, $type='', $link='', $align='', $resize=true, $dpi=150, $palign='', $ismask=false, $imgmask=false, $border=0);        
      $this->SetAutoPageBreak($auto_page_break); } 
   }

 $pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
 $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('tmpAutor');  
 $pdf->SetTitle('tmpTitle'); $pdf->SetSubject('tmpSubject'); 
 $pdf->SetKeywords('tmp');   $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 
 $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));                
 $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 
 $pdf->SetMargins(PDF_MARGIN_LEFT, 10, PDF_MARGIN_RIGHT);                                   
 $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);  
 $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);             
 $pdf->SetAutoPageBreak(True, PDF_MARGIN_BOTTOM); 
 //set image scale factor 
 $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 
 //set some language-dependent strings 
 $pdf->setLanguageArray($l); $pdf->AddPage(); 
 $pdf->SetFont('freesans', …
Run Code Online (Sandbox Code Playgroud)

php tcpdf

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

JavaScript警报后页面重新加载/刷新 - 不要这样做!

我的JavaScript函数正在运行,但出于某种原因,在我的IF语句中显示警报后,页面重新加载/刷新,我不希望它.为什么这样,我如何更改我的功能,以便它不会这样做?

我的功能

function valSubmit(){    
    varName = document.form1.txtName.value;
    varSurname = document.form1.txtSurname.value;
    varEmail = document.form1.txtEmail.value;
    varOrg = document.form1.txtOrg.value;

    if (varName == "" || varSurname == "" || varEmail == "" || varOrg == "" ) 
    {

     alert("Please fill in all mandatory fields");  

    }
    else
    { 
        document.body.style.cursor = 'wait';
        document.form1.btnSubmit.style.cursor = 'wait';
        document.form1.action = "http://now.eloqua.com/e/f2.aspx"
        document.form1.submit();
        return true;    
    }

 }
Run Code Online (Sandbox Code Playgroud)

ps我正在使用ASP.NET 3.5

javascript

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

自定义身份验证与服务层?

我有一个3"层"的应用程序,第一个"数据层",第二个"businesslayer",第三个是asp.net mvc网站.我正在尝试以正确的方式添加表单身份验证.

我应该以某种方式配置它以使用业务层?获取/添加/更新作为身份验证一部分的用户?

我应该在哪个项目中添加用户验证?

/ M

asp.net-mvc

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

为什么Android教程中的大多数字段(类成员)都以`m`开头?

我知道骆驼案例规则,但我对这个规则感到困惑.它代表什么?我是一名PHP开发人员."我们"使用变量的第一个字母作为类型的指示,如"b"表示布尔值,"i"表示整数,依此类推.

是'Java'吗?它代表移动吗?混合使用吗?

android coding-style

425
推荐指数
7
解决办法
8万
查看次数