gpt4 book ai didi

java - paintComponent 不可见 java

转载 作者:行者123 更新时间:2023-11-29 07:30:42 25 4
gpt4 key购买 nike

我想将它添加到另一个 JPanel 中,但它在那里不可见。我的另一个 Jpanel 叫做 bottomPanel。 paintComponent 应该显示在底部面板中

 bottomPanel.setLayout(null);  
TestPane tp = new TestPane();
bottomPanel.add(tp);

我扩展了 Jpanel。

  public class TestPane extends JPanel {
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}


@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g.create();
int width = getWidth() - 100;
int height = getHeight() - 100;
int x = (getWidth() - width) / 2;
int y = (getHeight() - height) / 2;
g2d.setColor(Color.RED);
g2d.drawRect(x, y, width, height);
g2d.dispose();
}

}

最佳答案

问题开始于:

bottomPanel.setLayout(null);

Java GUI 必须在不同的操作系统、屏幕尺寸、屏幕分辨率等上工作,在不同的语言环境中使用不同的 PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或 combinations of them以及 white space 的布局填充和边框.

并且在未来,发布一个 MCVE 而不是 300 多行代码以及不相关的添加,如文件 I/O、表、行排序器等。

关于java - paintComponent 不可见 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43244058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com