[Java] 创建一个JTabbedPane面板,为每一个标签设置一个名称 →→→→→进入此内容的聊天室

来自 , 2020-09-09, 写在 Java, 查看 102 次.
URL http://www.code666.cn/view/a5e0ff62
  1. package three;
  2.  
  3. //这段程序主要是创建一个JTabbedPane面板,为每一个标签设置一个名称
  4. import javax.swing.*;
  5. import java.awt.*;
  6. public class test7
  7. {
  8.  public static void main(String[] args)
  9.  {
  10.   try
  11. {//显示外观风格
  12.           UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  13. }
  14. catch(Exception e){
  15.         e.printStackTrace();
  16. }
  17.   JFrame frame = new JFrame ("资金状况");
  18.   frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
  19.   frame.setVisible (true);//默认为false
  20.   JTabbedPane tp=new JTabbedPane();//创建一个选项卡容器,将之添加到顶层容器内
  21.   frame.setContentPane(tp);
  22.   JPanel panel1 = new JPanel ();
  23.   JPanel panel2 = new JPanel ();
  24.   JPanel panel3 = new JPanel ();
  25.   JPanel panel4 = new JPanel ();
  26.   JPanel panel5 = new JPanel ();
  27.   tp.addTab("panel1", panel1); //添加选项卡容器,并且设置其中每个选项卡的标签以及其是否可启用
  28.   tp.setEnabledAt(0,true);
  29.   tp.setTitleAt(0,"个人收入状况");
  30.  
  31.   tp.addTab ("panel2", panel2);
  32.   tp.setEnabledAt (1, true);
  33.   tp.setTitleAt (1,"工资");
  34.  
  35.   tp.addTab ("panel3", panel3);
  36.   tp.setEnabledAt (2, true);
  37.   tp.setTitleAt (2,"奖金");
  38.  
  39.   tp.addTab ("panel4", panel4);
  40.   tp.setEnabledAt(3,true);
  41.   tp.setTitleAt(3,"津贴");
  42.  
  43.   tp.addTab ("panel5", panel5);
  44.   tp.setEnabledAt(4,true);
  45.   tp.setTitleAt(4,"社保");
  46.  
  47. ///设置其大小以及其选项卡的位置方向
  48.   tp.setPreferredSize (new Dimension (500,200));
  49.  tp.setTabPlacement (JTabbedPane.TOP);
  50. ///设置选项卡在容器内的显示形式
  51.   tp.setTabLayoutPolicy (JTabbedPane.SCROLL_TAB_LAYOUT);
  52.   frame.pack();
  53.  }
  54. }
  55.  
  56. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  57.     at javax.swing.plaf.basic.BasicTabbedPaneUI.rotateInsets(BasicTabbedPaneUI.java:1920)
  58.     at javax.swing.plaf.basic.BasicTabbedPaneUI.getTabAreaInsets(BasicTabbedPaneUI.java:1579)
  59.     at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneScrollLayout.calculateTabRects(BasicTabbedPaneUI.java:2792)
  60.     at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout.calculateLayoutInfo(BasicTabbedPaneUI.java:2263)
  61.     at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneScrollLayout.layoutContainer(BasicTabbedPaneUI.java:2596)
  62.     at java.awt.Container.layout(Container.java:1401)
  63.     at java.awt.Container.doLayout(Container.java:1390)
  64.     at java.awt.Container.validateTree(Container.java:1473)
  65.     at java.awt.Container.validateTree(Container.java:1480)
  66.     at java.awt.Container.validateTree(Container.java:1480)
  67.     at java.awt.Container.validate(Container.java:1448)
  68.     at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:379)
  69.     at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:109)
  70.     at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
  71.     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
  72.     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
  73.     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
  74.     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
  75.     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
  76.     at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
  77.  
  78.  
  79. 初次接触swing 。。完全看不懂这个异常从哪里出来的。。
  80.  
  81. 求讲解。~//源代码片段来自云代码http://yuncode.net
  82.                        

回复 "创建一个JTabbedPane面板,为每一个标签设置一个名称"

这儿你可以回复上面这条便签

captcha