学着写了个程序,就是一个 JFrame 里面放了一个 JTabbedPane 的东东,但是大小和位置不太确定怎么调整?比如,JFrame的大小是800*600,里面的 JTabbedPane 想设定为 700*500,并且剧中,可是程序不太听话的,我的代码如下,请各位帮忙看看了。
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.io.IOException;
import java.util.Vector;import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;import org.yawlfoundation.yawl.resourcing.rsInterface.WorkQueueGatewayClient;
import org.Foundation.simulator.foundations.xmlschema.MsgParse;
public class testfunction { public static void main(String[] args) throws IOException {

JTabbedPane tabbedPane = new JTabbedPane();

        JComponent panel1 = new JPanel();
        
        JComponent panel2 = new JPanel();        tabbedPane.addTab("Tab 1", null, panel1, "tip");
        tabbedPane.addTab("Tab 2", null, panel2, "tip2");
        panel1.setSize(400, 600);
        panel2.setSize(400, 600);
        tabbedPane.setSize(700, 500);
        
        JFrame frame = new JFrame("TabbedPaneDemo");
/
        
        // this makes frame in the center of the screan
        frame.setSize(800, 600);
        frame.setResizable(false);
                frame.setLocationRelativeTo(frame.getOwner());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         //Make the center component big, since that's the
        //typical usage of BorderLayout.
                frame.getContentPane().add( tabbedPane, BorderLayout.CENTER);        //Add content to the window.        //Display the window.
       //frame.pack();
        frame.setVisible(true);
}}

解决方案 »

  1.   

    JTabbedPane tabbedPane = new JTabbedPane();
            
            JComponent panel1 = new JPanel();
            JComponent panel2 = new JPanel();        tabbedPane.addTab("Tab 1", null, panel1, "tip");
            tabbedPane.addTab("Tab 2", null, panel2, "tip2");
            panel1.setSize(400, 600);
            panel2.setSize(400, 600);
            tabbedPane.setPreferredSize(new Dimension(700, 500));
    tabbedPane.setBorder(BorderFactory.createEmptyBorder(50,50,50,50));
            
            JFrame frame = new JFrame("TabbedPaneDemo");
            
    frame.setPreferredSize(new Dimension(800, 600));
    frame.setResizable(false);
    frame.setLocationRelativeTo(frame.getOwner());
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    frame.getContentPane().add( tabbedPane, BorderLayout.CENTER);
    frame.pack();
    frame.setVisible(true);
      

  2.   

    楼上的办法可以,还想问一下,里面那个JTabbedPane的大小,是通过哪个来控制的呢?一个设置成了400*600,一个是700*500,哪个是具体控制大小的呢?
      

  3.   

    tabbedPane.setPreferredSize(new Dimension(700, 500));