我想在src文件夹的JTabbed Pane布局上实现一张200 * 200的图片。
我的问题是没有显示 - 没有错误没有异常,也没有图片。
我不认为我必须声明目录并设置为私有,因为它已经包含在src文件夹中。
import java.awt.*;
import javax.swing.*;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JFrame;
public class Example1
extends JFrame
{
private JTabbedPane tabbedPane;
private JPanel panel1;
public Example1()
{
// NOTE: to reduce the amount of code in this example, it uses
// panels with a NULL layout. This is NOT suitable for
// production code since it may not display correctly for
// a look-and-feel.
setTitle( "Program" );
setSize( 800, 400 );
setBackground( Color.gray );
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
getContentPane().add( topPanel );
// Create the tab pages
createPage1();
// Create a tabbed pane
tabbedPane = new JTabbedPane();
tabbedPane.addTab( "Tab Page", panel1 );
topPanel.add( tabbedPane, BorderLayout.CENTER );
}
public void createPage1()
{
panel1 = new JPanel();
panel1.setLayout( null );
ImageIcon pic = new ImageIcon("test.png");
JLabel label = new JLabel (pic);
panel1.add(label);
label.setVisible (true);
label.setBounds( 200, 200, 200, 400 );
}
// Main method to get things started
public static void main( String args[] )
{
// Create an instance of the test application
Example1 mainFrame = new Example1();
mainFrame.setVisible( true );
}
}
如果您希望我提供更多信息,请提出要求。
答案 0 :(得分:1)
请勿在面板上使用null布局(并获取setBounds())。
面板没有首选尺寸,所以Swing认为没有什么可以画的。
答案 1 :(得分:0)