如何在JPanel类中使用GridBagConstraints

时间:2014-03-11 17:43:45

标签: java swing user-interface panel

我正在尝试在扩展JPanel的类中使用gridbagconstraints,但在将这些代码放在这样的代码之后:

    import java.awt.Insets;
    import java.awt.Toolkit;

    import javax.swing.JLabel;
    import javax.swing.JPanel;

    public class RightPanel extends JPanel {

private static final long serialVersionUID = 2L;

JLabel start;
JLabel first;

GridBagConstraints c;

public RightPanel() {

    setVisible(true);

    c = new GridBagConstraints();
    c.insets = new Insets(10 ,10, 10, 10);

    start = new JLabel("Start");
    start.setFont(new Font("comic sans ms", Font.PLAIN, 20));
    start.setForeground (new Color(111,0,0));

    c.gridx = 0;
    c.gridy = 5;

    add(start, c);

    first = new JLabel("About");
    first.setFont(new Font("comic sans ms", Font.PLAIN, 20));
    first.setForeground (new Color(111,0,0));

    c.gridx = 0;
    c.gridy = 5;
    add(first ,c);
}

public void paint(Graphics g) {
    Image a = Toolkit.getDefaultToolkit().getImage("C:\\Users\\Favour's Computer\\workspace\\Physics Calculator\\src\\res\\rightside.PNG");
    g.drawImage(a, 0, 0, getSize().width, getSize().height, this);
    super.paint(g);
}

    }

现在问题是在jpanel constucter中添加声明代码,即RightPanel rp = new RightPanel(new GridBagLayout());,但新的GridBagLayout()剂量工作,请帮忙

1 个答案:

答案 0 :(得分:0)

RightPanel rp = new RightPanel(new GridBagLayout());

上面的代码不起作用,因为你的构造函数中没有任何参数..

public class RightPanel extends JPanel

//codes...

public RightPanel() //You don't have any parameter in your constructor

如果您尝试设置课程布局,请使用

setLayout(new GridBagLayout())