java swing panel问题_添加到JPanel时,Java Swing组件的大小不正确

这是我的第一篇帖子,请原谅我,如果我做错了.

我的问题是:

我正在尝试将组件添加到JPanel,并为Size等定义了值.

但是当我将它们添加到Panel时,它们绝对没有它们应该具有的大小和位置.

例如:

public class Console extends JFrame {

private JPanel mainPanel = new JPanel();

private JTextArea textField = new JTextArea();

private JTextArea textField2 = new JTextArea();

public Console() {

this.setSize(500,300);

this.mainPanel.setSize(this.getWidth(),this.getHeight());

this.textField.setEditable(false);

this.textField.setSize(this.mainPanel.getWidth(), 100);

this.textField.setPreferredSize(new Dimension(this.mainPanel.getWidth(),this.mainPanel.getHeight()));

this.textField.setLocation(0, 0);

this.textField.setText("some text");

this.textField.setVisible(true);

this.textField2.setSize(this.mainPanel.getWidth(),200);

this.textField2.setPreferredSize(new Dimension(this.getWidth(),this.getHeight()));

this.textField2.setLocation(0,this.mainPanel.getHeight()-this.textField.getHeight());

this.textField2.setText("blabla");

this.textField2.setVisible(true);

this.mainPanel.add(textField);

this.mainPanel.add(textField2);

this.mainPanel.setVisible(true);

this.add(this.mainPanel);

// I know you should not call setVisible() in the Constructor, just for making Code more simple here.

this.setVisible(true);

}

}

当我启动应用程序时,两个JTextArea都非常小,位于中间(不是上面设置),而mainPanel是正确的.我试图在代码中的不同位置调用setSize()和setPreferredSize(),但它没有’工作.据我所知,最好使用LayoutManager来做到这一点,但说实话,我不知道如何正确使用它.我在Oracle Doc上检查了它,但如果有人可以为此发布一个干净的解决方案我会很感激,谢谢你提前.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值