java - 将 JPanel 定位在 JFrame 中的特定位置

标签 java swing jpanel

我需要帮助将 JPanel 定位到 Jframe 的特定位置。

我在扩展 JFrame 的类中有一个 JPanel,我需要将这个 JPanel 放在特定的 x,y 位置。

是这样的:

public class Frame extends JFrame {

    public Frame(){

        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLocation(250, 250);
        this.setSize(300,300);
        this.setVisible(true);

        JPanel panel = new JPanel();
        this.add(panel);
        panel.setLocation(150, 150);
        panel.add(new JButton("Hello!")); // just to show JPanel

    }//Frame()
}//Frame

我不需要为 JPanel 的位置设置 LayoutManager,因为我需要将该 JPanel 放在特定位置(例如示例中的 150,150)。 但是,如果我像上面的代码那样执行 panel.setLocation(150,150),则什么也不会发生,并且 JPanel 会保留在框架的北部中心(如果我更改 x,y 数字而不是 150,150)。

它显示如下:

http://i.imgur.com/Te3z0kv.png

最佳答案

在框架的内容面板中,布局管理器默认为 BorderLayout (NWSE+C)。做:

this.getContentPanel().setLayout(null);

关于java - 将 JPanel 定位在 JFrame 中的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20196403/

相关文章:

java - 仅绘制和重绘/更新 JPanel 的内容(而不是背景)组件的方法?

java - 调整多个 JPanel 的大小以适应窗口

java - 在 Netbeans 8.0.2 和 Java 8 中使用 Apache Tika 1.9 会生成巨大的可执行文件。怎么做才能缩小尺寸?

java - 为什么我们使用 if,else if 而不是多个 if block 如果主体是返回语句

java - getClass().getName() 如何返回泛型的类名?

java - 如何让 JPanel 在调整面板大小时记住用户绘制的图形?

java - 如何循环数据json/一一返回/一一分割

java - 如何从另一个类访问 JButton

java - 根据 JList 值将 JButton 动态添加到 JPanel

java - JScrollPane 不显示滚动条