问题列表 - 第6386页

AffineTransform:从中心缩放形状

我正在尝试使用AffineTransform从其中心缩放矩形.我确信解决方案很明显,但我不能让它发挥作用!这是我到目前为止测试过的...

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;

import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Test extends JPanel {
    Test()
        {
        super(null);
        setOpaque(true);
        setBackground(Color.WHITE);
        setPreferredSize(new Dimension(200,200));
        }
    @Override
    protected void paintComponent(Graphics g1) {
        super.paintComponent(g1);
        Rectangle r= new Rectangle(5,5,getWidth()-10,getHeight()-10);
        double cx= r.getCenterX();
        double cy= r.getCenterY();
        Graphics2D g=(Graphics2D)g1;
        g.setColor(Color.BLACK);
        AffineTransform old= g.getTransform();
        for(double zoom=0.9; zoom>=0.5; zoom-=0.1)
            {
            AffineTransform tr2= new AffineTransform(old);
            tr2.translate(-cx, -cy);
            tr2.scale(zoom, zoom);
            tr2.translate(cx/zoom,cy/zoom);
            g.setTransform(tr2);
            g.draw(r);
            g.setTransform(old);
            }
        }


    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, …
Run Code Online (Sandbox Code Playgroud)

java geometry swing shape affinetransform

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

为什么Objective-C使用YES和NO而不是1和0?

Objective-C使用YES和NO代替1和0是否有任何技术原因,或者仅仅是为了使其更具可读性?

objective-c

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

获取鼠标点击DoubleClick事件的位置/按钮

有没有一种方法可以在控件DoubleClick事件中获取鼠标光标的(x,y)坐标?

据我所知,这个位置必须从全球获得:

Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y

另外,有没有一种方法可以获得哪个按钮产生了双击?

.net double-click winforms

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

如何在vim搜索中找到'-s'

我使用Vim来阅读手册页.但是我在搜索变量时遇到了麻烦.例如,我使用:

/\<-s\>
Run Code Online (Sandbox Code Playgroud)

搜索'-s',但它找不到任何东西.哎呀.我在文件中看到了它.我究竟做错了什么?

vim

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

何时实施Ajax的最佳实践?

在这个Microsoft教程中,他们在最后一步实现了Ajax:"步骤7.实现Ajax"

我知道它只是一个教程,所以它保持简单,但我也在其他地方看到了这个想法,构建应用程序,然后在适当的地方撒上ajax.

我在去的时候实现了ajax,但我想知道人们认为这是一个最好的做法.是最好在最后抛出ajax还是你应该随时实现它?有人遇到过这样或那样的麻烦吗?

ajax

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

如何减少Perl CGI脚本的启动时间?

我正在开发一些CGI脚本,我正在尝试找到一种解决方案,以减少使用"use"导入大量模块时产生的"开始时间".

更新:

提供的解决方案很不错,但我正在使用的脚本在控制台和CGI模式下运行,检查是否存在一些典型的HTTP环境变量.

在"控制台模式"中,它们"正常"转储数据,在"html模式"下,它们进行一些实时替换并将其他HTTP标头发送到客户端.

我想在两种情况下改善启动时间.

perl performance cgi initialization

5
推荐指数
4
解决办法
1427
查看次数

为什么添加@符号可以使这个工作?

我正在使用asp.net mvc并创建一个表单.我想在form标签中添加一个class属性.

我在这里找到了一个添加enctype属性并尝试与类交换的示例.访问视图时出现编译错误.

然后我找到了一个例子,有人在属性名称的开头添加@符号并且有效.伟大的它是有效的,但我是一个需要知道原因,快速的谷歌搜索没有帮助.我知道C#允许在字符串前加上@来忽略转义字符.为什么它在这种情况下有效?@告诉编译器什么?

产生编译错误的代码?

 <% Html.BeginForm("Results", "Search", 
    FormMethod.Get, new{class="search_form"}); %>
Run Code Online (Sandbox Code Playgroud)

有效的代码:

 <% Html.BeginForm("Results", "Search", 
    FormMethod.Get, new{@class="search_form"}); %>
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

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

如何在基础构造函数中分配基于派生类的大小的数组?

我有一个类的层次结构.基类使用一些可从文件加载的调整参数(并在运行时可重新加载).每个派生类可以添加一些额外的参数.我正在寻找一种方法在基础构造函数中分配一个正确大小的参数数组,这样我就不必在派生类中释放和重新分配.我希望这样的东西,但它不起作用(参数总是有2个元素):

   class Base
   { static int nParms;
     virtual int getNParms() { return nParms;}
     float *parameters;
   public:
     Base() 
     { parameters= new float[this->getNParms()];
       parameters[0] = globalReloadableX;
       parameters[1] = globalReloadableY;
     }
   };
   int Base::nParams =2;

   class Derived : public Base
   { static int nParms;
     virtual int getNParms() { return nParms;}
   public:
     Derived() : Base()
     { parameters[2] = globalReloadableZ;
     }
   }
   int Derived::nParams =3;
Run Code Online (Sandbox Code Playgroud)

我已经看到了这个问题,但那里的解决方案并不适合我.我还尝试在每个类中使参数成为常规数组:

  class Base
  {  float parameters[2]
    ...
  class Derived : public Base
  {  float parameters[3]
    ...
Run Code Online (Sandbox Code Playgroud)

但这使Derived有2个独立的数组.

有任何想法吗?

c++ inheritance static constructor

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

无法在SQL Server镜像方案中设置见证错误

我有三个Windows服务器(data1,data2和datawitness)不属于任何域,不使用AD.我正在尝试根据http://alan328.com/SQL2005_Database_Mirroring_Tutorial.aspx上的说明设置镜像.我已经成功,直到最后一组指令,我告诉data1使用datawitness作为见证服务器.该步骤失败,并显示以下消息:

alter database MyDatabase set witness ='TCP://datawitness.somedomain.com:7024'

无法将ALTER DATABASE命令发送到远程服务器实例"TCP://datawitness.somedomain.com:7024".数据库镜像配置未更改.验证服务器是否已连接,然后重试.

我使用telnet测试了端口7024和1433,两个服务器确实可以相互连接.我还能够从主服务器上的SQL Server Manager添加到见证服务器的连接.我已经在两台服务器上使用配置管理器来启用命名管道并验证IP流量是否已启用并默认使用端口1433.

还有什么呢?我需要打开任何其他端口才能使用吗?(防火墙规则非常严格,但我知道前面提到的端口上的流量是明确允许的)

值得一提的注意事项:

  • 每个服务器都在不同的网段中

  • 服务器不使用AD,也不属于域

  • 没有为这些服务器配置DNS服务器,因此我使用HOSTS文件将域名映射到IP地址(使用telnet,ping等进行验证).

  • 防火墙规则非常严格,我无法直接调整它们,但我可以根据需要调用更改

  • Data1和Data2使用SQL Server 2008,Datawitness使用SQL Express 2005.所有这些都使用默认实例(即它们都不是命名实例)

certificate sql-server-2005-express mirroring sql-server-2008

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

SQL JOIN:ON vs Equals

以下是否有任何显着差异?

SELECT a.name, b.name FROM a, b WHERE a.id = b.id AND a.id = 1

SELECT a.name, b.name FROM a INNER JOIN b ON a.id = b.id WHERE a.id = 1

SO用户是否优先选择其中一个?

sql join equals

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