个位大虾我有一个关于java gui在mac开发的问题
我的需求是这样的:
我要在一个jframe中加入一个JTabbedPane和一些JInternalFrame子窗体,主要的目的是让JTabbedPane来控制JInternalFrame之间的切换问题,下面是我写的一段代码:
import java.awt.BorderLayout;
import java.awt.Dimension;import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JTabbedPane;
public class Test extends JFrame {
/**
 * 
 */
private static final long serialVersionUID = 1802199483736051124L;
public Test (){
this.getContentPane().setLayout(new BorderLayout());

javax.swing.JTabbedPane tab = new JTabbedPane();
//int height = tab.getHeight();
javax.swing.JInternalFrame inte = new JInternalFrame();
inte.setSize(200, 200);
inte.setVisible(true);

for (int i = 0 ; i < 10; i++){
EmptyViewAdapter va = new EmptyViewAdapter(inte);
System.out.println(i);
tab.addTab(i + "", va);
}

//tab.setPreferredSize(new Dimension(0, 25));

this.getContentPane().add(tab, BorderLayout.NORTH);
this.getContentPane().add(inte, BorderLayout.CENTER);
}
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
Test t = new Test();
t.setSize(300, 300);
t.setVisible(true);
}}class EmptyViewAdapter extends JComponent {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;    private JComponent adaptedView;    private final static Dimension DEFAULT_SIZE = new Dimension(0, 0);    /**
     * Constructs default view adapter for the given view.
     * 
     * @param view the view to adapt
     */
    public EmptyViewAdapter(final JComponent view) {
        this.adaptedView = view;
        // this.setVisible(false);
    }    public JComponent getView() {
        return this.adaptedView;
    }    @Override
    public Dimension getPreferredSize() {
        return EmptyViewAdapter.DEFAULT_SIZE;
    }    @Override
    public Dimension getMinimumSize() {
        return EmptyViewAdapter.DEFAULT_SIZE;
    }    @Override
    public Dimension getMaximumSize() {
        return EmptyViewAdapter.DEFAULT_SIZE;
    }    @Override
    public Dimension getSize() {
        return EmptyViewAdapter.DEFAULT_SIZE;
    }
}每当我新添加一个size为0的子窗体到tab时候它就莫名奇妙在增大,改变循环的次数就可以看到效果。往tab里加入子窗体的目的在于对子窗体能有一个很好的控制。
我想要得是tab只显示它的标题,否则它回占用很大的空间,当让也不能直接定死它的size,因为在其他的操作系统中回出现问题,谢谢各位。