Изменение размера элемента управления с помощью Java JSplitPane - PullRequest
4 голосов
/ 24 ноября 2011

Пожалуйста, посмотрите мое изображение ниже по ссылке, а затем прочитайте ниже для получения более подробной информации о моей проблеме.

Sample image

Представьте, что это базовая рамка, разделенная на две части с помощью JSplitPaneпо умолчанию, когда вы изменяете размер рамки, серая часть меняет свой размер, но я бы хотел, чтобы белая часть изменяла размеры в соответствии с изменением размера рамки.

Любая помощь в правильном направлении будет оценена, так как я работаю надпроект сейчас, и я пробую все странные вещи, чтобы подготовиться к моему самому большому проекту, запланированному на новый год.:)

С уважением, Терон

1 Ответ

10 голосов
/ 24 ноября 2011

Вам нужно использовать setResizeWeight, чтобы получить левую и правую часть, занять дополнительное место или уменьшить размер при изменении размера JFrame, пример кода ниже:

    import java.awt.BorderLayout;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JSplitPane;

    public class TestJSplitPane {
    private void init(){
        JFrame frame = new JFrame();
        frame.setLayout(new BorderLayout());
        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        splitPane.setRightComponent(new JButton("Here I Am"));
        splitPane.setLeftComponent(new JButton("Me Too"));
        splitPane.setResizeWeight(0.5);
        frame.add(splitPane, BorderLayout.CENTER);
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new TestJSplitPane().init();
    }
}

Java Doc для setResizeWeight .

Надеюсь, это поможет.

...