JTabbedPane main_tabbedPane = new JTabbedPane( JTabbedPane.TOP );
main_tabbedPane.setBorder( new EmptyBorder( 0, 0, 0, 0 ) );
main_tabbedPane.setBounds( 10, 76, 665, 473 );
main_tabbedPane.setVisible(false);
main_content.add( main_tabbedPane ); // main_content is a jpanel
然后我调用一个扩展JPanel的类构造函数
alphaStarter_tab = new AlphaStarterPnl();
其中包括TextArea(来自Java AWT而不是JTextArea)
public class AlphaStarterPnl extends JPanel {
private TextArea outputTxtA;
public AlphaStarterPnl(){
outputTxtA = new TextArea("",4,50,TextArea.SCROLLBARS_VERTICAL_ONLY);
outputTxtA.setFont(new Font("Tahoma", Font.PLAIN, 13));
outputTxtA.setEditable(false);
outputTxtA.setBackground(new Color(179,190,201));
outputTxtA.setForeground(new Color(34,64,132));
outputTxtA.setBounds(15, 133, 630, 300);
add(outputTxtA);
}
}
然后我将这个面板添加到选项卡式窗格
,这个面板(除了粘贴代码之外还有更多内容,但这并不重要)main_tabbedPane.addTab( "Copy Files", null, alphaStarter_tab, null );
当我这样做时,尽管main_tabbedPane已设置为setvisible false,但TextArea不仅会弹出,而且还会出现在三个位置。 (也许在0,0坐标处出现一次,然后在设定的x,0坐标处出现,然后在设定的x,y坐标处出现。当我继续进行程序时,当第二个标签出现时,这个“丑陋内容的闪光”消失了补充说。
有什么想法吗?
答案 0 :(得分:0)
这里的问题可能是您正在混合轻量级组件(即JTabbedPane等Swing组件,带有'J'前缀的组件)和重量级组件(即AWT组件,如TextArea)。将这两种类型的组件一起使用可能会导致渲染问题。