MigLayout에서 양식을 작성하려고합니다. 모든 텍스트 필드 앞에 작은 JLabel 레이블을 지정하고 텍스트 필드를 사용할 수있는 공간으로 늘려야합니다. 나는 성공적으로 다음 코드에서이 작업을 수행 할 수 있어요 :MigLayout에서 JLabel이 커지지 않도록 방지
이JFrame frame = new JFrame("Test");
JPanel panel = new JPanel(new MigLayout("", "fill", ""));
panel.add(new JLabel("Testing"));
panel.add(new JTextField(), "growx, pushx, wrap");
frame.setContentPane(panel);
frame.pack();
frame.setMinimumSize(new Dimension(400, 100));
frame.setPreferredSize(new Dimension(400, 100));
frame.setVisible(true);
결과는 예상대로 인이처럼 보인다
합니다 (JLabel의 최소 필요 크기의 JTextField는,이 지역의 나머지 부분을 차지) :
그러나, 나는이 아래의 JEditorPane를 넣고는 전체 창 길이에 걸쳐있는 경우, JLabel의 큰되고 난 창을 확대하면 커집니다. 내가 기대하지 않는 결과가 발생
는...
panel.add(new JTextField(), "growx, pushx, wrap");
//New line of code here:
panel.add(new JEditorPane(), "growx, pushx, span");
frame.setContentPane(panel);
...
합니다 (JLabel의 성장했습니다) : 코드의 변화는 다음과 같습니다
내가 MigLayout 매개 변수를 추가하여이 문제를 해결하기 위해 노력했습니다 JLabel의 경우 "growx 0"
및 "shrink"
과 같지만 레이블의 크기에는 영향을주지 않습니다.
이런 상황에서 JLabels가 커지지 않게하려면 어떻게해야합니까?
당신이 "w 분"시도? –
나는 가지고있다. 그러나 나는 크기를 하드 코드 할 필요가없는 대답을 선호한다. – Thunderforge