모든 조합을 시도하고 모든 문서를 살펴 봤지만 GridBagLayout 사용법을 알 수 없습니다.GridBagLayout 지원
JPanel의 LayoutManager 인 GridBagLayout과 3 개의 구성 요소에서 GridBagConstraints를 사용하는 JPanel에는 3 개의 구성 요소가 있습니다.
아래 코드와 같이 3 개의 요소가 올바르게 표시됩니다. 문제는 첫 번째 구성 요소가 때로는 꽤 긴 JLabel이며,이 경우 JLabel은 확장되어 다른 두 구성 요소를 더 작게 만듭니다.
내 목표는 첫 번째 요소가 첫 번째 2 개 열을 차지하고 나머지 두 요소가 나머지 2 개를 차지하는 GridBagLayout이 1 행 4 열인 JPanel을 갖는 것입니다. 그들의 칼럼 밖으로 확장하십시오.
private static void setConstraints(GridBagConstraints constraints, int gridx, int gridy, int weightx, Insets insets) {
constraints.gridx = gridx;
constraints.weightx = weightx;
constraints.insets = insets;
}
gridBagLayout = new GridBagLayout();
constraints = new GridBagConstraints();
centerPanel = new JPanel(gridBagLayout);
constraints.fill = GridBagConstraints.HORIZONTAL;
fileNameLabel = new JLabel("Resolving: '" + EngineHelpers.trimStringToFitPanel(urlTextField.getText(), 70) + "'");
setConstraints(constraints, 0, 0, 2, new Insets(0, 5, 5, 0));
gridBagLayout.setConstraints(fileNameLabel, constraints);
progressBar = new JProgressBar();
progressBar.setStringPainted(true);
setConstraints(constraints, 1, 0, 1, new Insets(0, 5, 5, 0));
gridBagLayout.setConstraints(progressBar, constraints);
cancelDownloadButton = new JButton("Cancel");
setConstraints(constraints, 2, 0, 1, new Insets(0, 0, 0, 0));
gridBagLayout.setConstraints(cancelDownloadButton, constraints);
centerPanel.add(fileNameLabel);
centerPanel.add(progressBar);
centerPanel.add(cancelDownloadButton);
미리 감사드립니다. 바보 같은 질문에 사과드립니다.
지금 사용해 보겠습니다. 감사합니다. – Cristian
지금은 감사합니다. – Cristian