Изменение размера элемента управления с помощью Java JSplitPane
Пожалуйста, посмотрите мое изображение ниже по ссылке, а затем прочитайте под ней для более подробной информации о моей проблеме.
Представьте, что это базовая рамка, разделенная на две части с помощью JSplitPane, по умолчанию при изменении размера рамки серая часть меняет свой размер, но я бы хотел, чтобы белая часть изменяла размеры в соответствии с изменением размера рамки.
Буду признателен за любую помощь в правильном направлении, так как я сейчас работаю над проектом, и я пробую всевозможные странные вещи, чтобы подготовиться к моему самому большому проекту, запланированному на новый год.:)
С уважением Терон
1 ответ
Вам нужно использовать 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.
Надеюсь это поможет.