확실하지.
구성 요소를 동적으로 추가하면 런타임에 런타임에 추가됩니다. 버튼을 세 가지 라벨이 있습니다, 시작시
package com.zetcode;
import java.awt.event.ActionEvent;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import net.miginfocom.swing.MigLayout;
/*
Demonstrating dynamic addition of labels
with MigLayout manager.
Author: Jan Bodnar
Website: zetcode.com
*/
public class MigLayoutDynamicLabelsEx extends JFrame {
private int counter = 0;
public MigLayoutDynamicLabelsEx() {
initUI();
}
private void initUI() {
MigLayout layout = new MigLayout("wrap 4");
setLayout(layout);
JButton addBtn = new JButton("Add");
addBtn.addActionListener((ActionEvent e) -> {
JLabel lbl = createLabel();
add(lbl, "w 100lp, h 30lp");
pack();
});
add(addBtn);
add(createLabel(), "w 100lp, h 30lp");
add(createLabel(), "w 100lp, h 30lp");
add(createLabel(), "w 100lp, h 30lp");
pack();
setTitle("MigLayout dynamic example");
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private JLabel createLabel() {
counter++;
String text = "#table no." + counter;
JLabel lbl = new JLabel(text);
lbl.setBorder(BorderFactory.createEtchedBorder());
return lbl;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
MigLayoutDynamicLabelsEx ex = new MigLayoutDynamicLabelsEx();
ex.setVisible(true);
});
}
}
: 다음 예는 MigLayout
관리자와이 방법을 보여줍니다. 버튼의 을 클릭하면 레이아웃에 새 레이블이 추가됩니다. wrap 4
제약 조건 은 행당 4 개의 열을 만듭니다. 창은 pack()
방법으로 재구성됩니다.
스크린 샷 : 당신은 당신이 얻는 무엇을 추가 할 경우
어쩌면, 사람들이 당신을 도움이 될 수 있습니다. – Harald