JPanel不显示图形



我有一个扩展自JPanel的java类。从JPanel扩展这个类的基本目的是我想在这个JPanel中绘制一些图形。这个类的代码如下:

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class ObjectViewer extends JPanel {
    public void paintComponent(Graphics g) {
        //just for testing
        g.drawRect(0, 0, 100, 10);
        g.drawLine(150, 150, 250, 150);
    }
}

现在我正在JScrollPane中加载这个JPanel,通过使用下面的代码。

JPanel jpnl = new ObjectViewer();
jScrollPane2.add(jpnl);//Note: I drag and drop this JScrollPanel at desired location from NetBeans gui.

但我无法看到任何图形(矩形和线)在JScrollPane,我做错了什么建议?

永远不要将JPanel直接添加到JScrollPane中,而是添加到它的viewport中。例如,not

jScrollPane2.add(jpnl);

而不是像

jScrollPane2.setViewportView(jpnl);

jScrollPane2.getViewport().add(jpnl);

或者,可以将JPanel作为参数添加到滚动窗格的构造函数中。

相关内容

  • 没有找到相关文章

最新更新