小编nig*_*elg的帖子

为什么执行 Mockito 模拟的性能如此不稳定?

为什么执行 Mockito 模拟所花费的时间如此不稳定?我能想到的最简单的 SSCCE 如下:

import static org.mockito.Mockito.mock;

public class TestSimpleMockTiming
{
    public static final void main (final String args [])
    {
        final Runnable theMock = mock (Runnable.class);

        int tookShort = 0;
        int tookMedium = 0;
        int tookLong = 0;
        int tookRidiculouslyLong = 0;
        long longest = 0;

        for (int n = 0; n < 2000000; n++)
        {
            final long startTime = System.nanoTime ();
            theMock.run ();
            final long duration = System.nanoTime () - startTime;

            if (duration < 1000000)                 // 0.001 …
Run Code Online (Sandbox Code Playgroud)

java performance mockito

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

在不重新验证布局的情况下隐藏摆动组件?

如果我设置了一个带有一些组件和布局管理器的 JFrame,它最初看起来非常好,然后由于某些条件(例如,单击一个按钮)我隐藏了其中一个组件 - 布局管理器再次将所有组件打乱.

查看示例代码 - 最初出现 3 个按钮。当您单击“隐藏”按钮时,“隐藏”按钮将被隐藏 - 但两个外部按钮随后会挤压在一起。当您单击显示按钮时,它们会再次分开以腾出空间。我怎样才能阻止这种情况发生,以便在我调用 pack() 之后,无论组件以后是否隐藏,它们都将保持原样?

在我的实际代码中,我使用 GridBagLayout 执行此操作,但在下面的示例中使用 FlowLayout,因为它更简单且代码更少,并且显示的行为完全相同。

我只能想到这样做的讨厌的方法,比如使用 .setEnabled (false) 而不是 .setVisible (false),然后覆盖组件的paintComponent()方法以在组件被禁用时不绘制组件。

这似乎完全相反的问题在这里-隐藏布局的Java Swing的按钮-其中抱怨隐藏按钮仍然占用空间:)但是,没有任何示例代码有显示它以这种方式工作。

非常感谢您的任何建议:)

例子:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class RevalidateWhenSetChildInvisibleExample
{
    private JButton button1;
    private JButton button2;
    private JButton button3;

    public void run ()
    {
        // Set up action
        Action hideButtonAction = new AbstractAction ()
        {
            @Override
            public void actionPerformed …
Run Code Online (Sandbox Code Playgroud)

java layout swing invisible hide

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

标签 统计

java ×2

hide ×1

invisible ×1

layout ×1

mockito ×1

performance ×1

swing ×1