2
다양한 탭 수가있는 JTabbed 창이 있습니다. 탭 수가 4보다 크면 각 탭 패널의 아래쪽에 여분의 간격/패딩이 생깁니다. 아래 그림은 이것을 보여줍니다 (왼쪽에는 여분의 간격이 보이고 오른쪽에는 여분의 간격이 없습니다). 나는 많은 다른 레이아웃 매니저 등 다양한 일을 시도했습니다JTabbedPane 왜 여러 개의 탭이있을 때만 여분의 패딩이 있습니까? (코드 및 그림)
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
public class DialogTest {
public static void main(String[] args) {
new DialogTest();
}
public DialogTest() {
JDialog dialog = new MyDialog();
dialog.pack();
dialog.setVisible(true);
}
class MyDialog extends JDialog {
public MyDialog() {
super(null, ModalityType.APPLICATION_MODAL);
final JTabbedPane tabs = new JTabbedPane();
final int numTabs = Integer.parseInt(JOptionPane.showInputDialog("Number of tabs:"));
setPreferredSize(new Dimension(400, 200));
for (int i = 1; i <= numTabs; i++) {
tabs.addTab("Tab"+i, new MyPanel(i));
}
setLayout(new BorderLayout());
add(tabs, BorderLayout.NORTH);
}
}
class MyPanel extends JPanel {
public MyPanel(int text) {
final JLabel label = new JLabel("THIS IS A PANEL" + text);
label.setFont(label.getFont().deriveFont(18f));
label.setBackground(Color.cyan);
label.setOpaque(true);
add(label);
setBackground(Color.red);
}
}
}
:
는 여기에 내가 그 사진을 얻기 위해 사용되는 정확한 코드입니다. 나는 내 인생이 그 여분의 간격을 없앨 수는 없다. 어떤 도움이라도 좋을 것입니다.
감사합니다. – Smitty
반갑습니다. 문제의 SSCCE 게시에 좋은 작업. 그걸 실행하고 문제를보고 내 솔루션을 테스트하는 것이 매우 쉬워졌습니다. :) –