Проблема JSplitPane SetDividerLocation

UDP быстрее, чем TCP, и простая причина состоит в том, потому что ее несуществующие подтверждают пакет (ACK), который разрешает непрерывный поток пакетов вместо TCP, который подтверждает ряд пакетов, вычисленных при помощи размера окна TCP и круговая задержка (RTT).

Для получения дополнительной информации я рекомендую простое, но очень понятный объяснение Skullbox (TCP по сравнению с UDP)

15
задан Goutham 10 December 2009 в 06:45
поделиться

3 ответа

Метод setDividerLocation (double) работает только с «реализованным» фреймом, то есть после того, как вы упаковали или сделали фрейм видимым.

Можно использовать метод setDividerLocation (int) в любое время.

17
ответ дан 1 December 2019 в 00:02
поделиться

Если вы довольны тем, что разделитель перемещается в середину каждый раз, когда вы изменяете размер панели, вы можете добавить ComponentListener и иметь его метод componentResized для вызова setDividerLocation (0.5).

2
ответ дан 1 December 2019 в 00:02
поделиться

это исправляет:

public class JSplitPane3 extends JSplitPane {
    private boolean hasProportionalLocation = false;
    private double proportionalLocation = 0.5;
    private boolean isPainted = false;

    public void setDividerLocation(double proportionalLocation) {
        if (!isPainted) {
            hasProportionalLocation = true;
            this.proportionalLocation = proportionalLocation;
        } else {
            super.setDividerLocation(proportionalLocation);
        }
    }

    public void paint(Graphics g) {
        super.paint(g);
        if (!isPainted) {
            if (hasProportionalLocation) {
                super.setDividerLocation(proportionalLocation);
            }
            isPainted = true;
        }
    }

}
3
ответ дан 1 December 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: