gridlayout에 요소를 추가하여 세로로 추가하지 않고 가로로 추가하는 방법이 있습니까? 기본적으로 다음 요소로 시작하기 전에 전체 행을 요소로 채 웁니다.Java GridLayout
희망 사항을 명확히했습니다.
gridlayout에 요소를 추가하여 세로로 추가하지 않고 가로로 추가하는 방법이 있습니까? 기본적으로 다음 요소로 시작하기 전에 전체 행을 요소로 채 웁니다.Java GridLayout
희망 사항을 명확히했습니다.
내가 뭔가를 GridBagLayout 및 GridBagConstraints
의 제안. GridLayout과 비슷하지만 GridBagConstraints를 사용하면 구성 요소의 x 및 y 좌표를 지정할 수 있으며 열과 행의 간격을 지정할 수 있습니다.
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
JPanel panel = new JPanel();
JLabel label = new JLabel("foo");
panel.setLayout(layout);
c.gridx = 0;
c.gridy = 0;
panel.add(label, c);
그 은how GridLayout works입니다.
GridLayout은 이름에 따라 constructor에서 지정한 열과 행의 수에 따라 구성 요소를 배치하고 지정된 수의 구성 요소를 추가하자 마자 다음 행으로 이동합니다.
귀하의 질문에 따르면, FlowLayout은 찾고있는 라인에 더 가깝습니다.
편집 : 나는 왜,하지만 당신은 (0으로 행의 수를 지정하는 경우, 예를 들어 new GridLayout(0, 9)
을, 제대로 작동하는 것 같다 모르겠어요
글쎄, 나는 9x9 그리드 레이 아웃에 5 텍 텍스 필드를 추가하려고 시도했다. 그리고 그것들은 나란히 있지 않고 서로 위에있다. 그래서 먼저 coloumn을 채운 다음 다음 coloumn로 이동, 내가 뭘 원하는 행을 먼저 채우기 : D – ev00l
다음 열로 이동하기 전에 열에있는 모든 행을 채우고 싶다고 가정합니다. 그렇다면, 사용자 정의 레이아웃 매니저 VerticalGridLayout
를 사용하는 경우 실제로는 그것은 새로운 GroupLayout 사용해야 꽤 멋진 (JDK 1.6부터). 레이아웃에 대한 유연성을 제공합니다.
팁 주셔서 감사합니다 : D – ev00l
GridLayout의 작동 방식입니다. 각 열은 다음 행이 시작되기 전에 채워집니다. 물론 단일 열을 지정하지 않으면 모든 구성 요소가 서로 아래에 추가됩니다. 더 많은 도움이 필요하시면 SSCCE에 게시하십시오. (http://sscce.org) – camickr