【问题标题】:How to use GridBagConstraints in a JPanel class如何在 JPanel 类中使用 GridBagConstraints
【发布时间】:2014-04-15 11:08:52
【问题描述】:

我正在尝试在扩展 JPanel 的类中使用 gridbagconstraints,但在放置类似 ths 的代码之后:

    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 构造器中添加声明代码的位置,即 RightPanel rp = new RightPanel(new GridBagLayout());,但是 new GridBagLayout() 不起作用,请帮助

【问题讨论】:

  • 你能澄清你的问题吗? “不起作用”实际上是什么意思?您是否遇到任何错误/异常?

标签: java swing user-interface panel


【解决方案1】:
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())

【讨论】:

  • 感谢本,就像我是一个菜鸟,你让这个菜鸟开心
  • 您可以点击勾选将此答案设置为您接受的答案:) 哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 2012-02-19
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
相关资源
最近更新 更多