小编Ern*_*dis的帖子

如何正确处理图形上下文 - 我最后需要尝试吗?(Java 1.7)

如何正确处理图形上下文 - 我需要使用tryfinally吗?简单的例子:

public void paint(Graphics g) {

    Graphics2D g2d = (Graphics2D) g.create();

    try {

        g2D.drawLine(0, 0, 10, 0);

    } finally {
        g2d.dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑

这是java.awt.Window类的一个例子:

     /**
     * {@inheritDoc}
     *
     * @since 1.7
     */
    @Override
    public void paint(Graphics g) {
        if (!isOpaque()) {
            Graphics gg = g.create();
            try {
                if (gg instanceof Graphics2D) {
                    gg.setColor(getBackground());
                    ((Graphics2D)gg).setComposite(AlphaComposite.getInstance(AlphaComposite.SRC));
                    gg.fillRect(0, 0, getWidth(), getHeight());
                }
            } finally {
                gg.dispose();
            }
        }
        super.paint(g);
    }
Run Code Online (Sandbox Code Playgroud)

依我之见,用来构造非常简单,但tryfinally依然存在.所以我认为使用它们是一个好习惯.

java swing graphics2d try-finally java-7

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

SwingUtilities.invokeLater和SwingWorker <Void,Object>之间的区别?

有什么区别:

    //Some code, takes a bit of time to process
    (new SomeJFrame()).setVisible(true);

    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            (new SomeJWindow()).start();//Start a new thread
        }
    });
Run Code Online (Sandbox Code Playgroud)

和:

    class doGraphics extends SwingWorker<Void, Object> {

        @Override
        public Void doInBackground() {

           //Some code, takes a bit of time to process
            (new SomeJFrame()).setVisible(true);

            return null;
        }

        @Override
        protected void done() {

            (new SomeJWindow()).start();//Start a new thread

        }
    }
    (new doGraphics()).execute();
Run Code Online (Sandbox Code Playgroud)

哪种方法更好用?

java swing multithreading swingworker invokelater

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

C++:不推荐使用从字符串常量转换为'LPSTR {aka char*}'[-Wwrite-strings] - 警告.怎么避免?

在编译C++代码时,我收到此警告:

不推荐使用从字符串常量转换为'LPSTR {aka char*}'[-Wwrite-strings]
&pi))//指向PROCESS_INFORMATION结构的指针.
     ^

代码是:

STARTUPINFO si;
memset(&si, 0, sizeof (STARTUPINFO));
si.cb = sizeof (STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = FALSE;

PROCESS_INFORMATION pi;
memset(&pi, 0, sizeof (PROCESS_INFORMATION));

if (!CreateProcess("C:\\Program Files\\Java\\jre7\\bin\\javaw.exe",
        " -jar install.jar", // Command line.
        NULL, // Process handle not inheritable.
        NULL, // Thread handle not inheritable.
        0, // Set handle inheritance to FALSE.
        CREATE_NO_WINDOW, // ON VISTA/WIN7, THIS CREATES NO WINDOW
        NULL, // Use parent's environment block.
        NULL, // Use parent's starting directory.
        &si, // Pointer …
Run Code Online (Sandbox Code Playgroud)

c++ string

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

C++:使用wstring切换的替代方法

在C++中switch使用a 有什么替代方法wstring吗?在Java中没有问题 - switch接受String.

c++ switch-statement

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

如何将 JFileChooser 标签“查找于:”更改为“保存于:”(不是标题)?

如何将JFileChooser标签“查找于:”更改为“保存于:”(不是标题)?在这里你可以看到我想要改变的内容:

在此输入图像描述

java swing jfilechooser jframe

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

是否可以同时使用 GZIP 和字节范围发送 HTTP 响应?

要求:

...
Content-Range: bytes 27482871-41601067/41601068
...
Run Code Online (Sandbox Code Playgroud)

我试图从文件中读取字节,然后再读取到 GZIP。响应如下所示:

response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT);

...
Server: GlassFish Server Open Source Edition  4.1
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition  4.1  Java/Oracle Corporation/1.8)
Date: Thu, 26 Nov 2015 21:44:21 GMT
Accept-Ranges: bytes
Connection: keep-alive
Keep-Alive: timeout=1800
Content-Disposition: attachment;filename*=utf-8''Marq_Aurel_Rayman_Rave_-_Intdo_The_Blue_%28Max_R_remix%29.wav
ETag: Marq_Aurel_Rayman_Rave_-_Intdo_The_Blue_%28Max_R_remix%29.wav-41601068-1403655006000
Cache-Control: private,max-age=604800
Last-Modified: Wed, 25 Jun 2014 00:10:06 GMT
Content-Range: bytes 27482871-41601067/41601068
Content-Encoding: gzip
...
Run Code Online (Sandbox Code Playgroud)

如果我暂停并继续下载,下载将失败。也许我永远不应该在范围响应中使用 GZIP?

gzip http range

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

删除每个输入元素前的空格 - 由新行字符引起

我注意到,如果我用这两种方式编写HTML代码,浏览器行为会有所不同 - 第一种方式是没有换行:

<div class='sep'>&#9642;</div><input type='radio' id='uplToday' name='upldateRangeSel' value='1'><label for='uplToday'>Today</label>
Run Code Online (Sandbox Code Playgroud)

第二个:

<div class='sep'>&#9642;</div>
<input type='radio' id='uplToday' name='upldateRangeSel' value='1'>
<label for='uplToday'>Today</label>
Run Code Online (Sandbox Code Playgroud)

在第二个例子的情况下 - 我可以看到在输入元素之前添加了空白字符(在下面选择它 - 以蓝色显示):

在此输入图像描述

如何删除此空格?编写没有换行符的HTML代码不是一个好主意..

html css

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

如何知道paintComponent(Graphics g)已完成它的工作(Java)?

怎么知道它paintComponent(Graphics g)完成了它的工作?

我可以:

 @Override
 public void paintComponent(Graphics g) {
    try {
         //Paint some stuff
    } finally {
         //Do something after painting
    }
 }
Run Code Online (Sandbox Code Playgroud)

还有其他方法吗?

java graphics swing paintcomponent

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

如何声明KeyStroke - 按下并释放?

我想知道如何声明新的KeyStroke - 按下并释放?例如,我可以这样做:

KeyStroke.getKeyStroke("pressed F10");
KeyStroke.getKeyStroke("released F10");
Run Code Online (Sandbox Code Playgroud)

但是如何以这样的方式写作?:

KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0);
Run Code Online (Sandbox Code Playgroud)

java swing keystroke

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

如何以小写名称创建表 - JavaDB/Derby?

是否可以使用JavaDB/Derby以小写形式创建表及其名称?要检查表是否存在,我正在使用:

ResultSet rs = dbmd.getTables(null, "APP", "user_properties", null);
if (!rs.next()) {/*do something*/};
Run Code Online (Sandbox Code Playgroud)

但是表名'user_properties'必须在目录中加工.

java derby javadb

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