当前位置: 首页 > 编程笔记 >

JFrame中添加和设置JPanel的方法实例解析

邢法
2023-03-14
本文向大家介绍JFrame中添加和设置JPanel的方法实例解析,包括了JFrame中添加和设置JPanel的方法实例解析的使用技巧和注意事项,需要的朋友参考一下

Swing 程序用JFrame 对象实现了它们的窗口。JFrame 类是AWT Frame 类的一个子类。它还加入了一些Swing 所独有的特性。与 Frame 的使用十分相似。唯一的区别在于,你不能将组件加入到JFrame中。你可以或者将组件加入到JFrame 的content pane(内容面板) 中,或者提供一个新的content pane(内容面板)。

面板与顶层容器的不同点:面板不能独立存在,必须被添加到其他容器内部(面板可以嵌套)。

  JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法: getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane 的。  

对JFrame添加组件有两种方式:

  1)用 getContentPane ()方法获得JFrame的内容面板,再对其加入组件:frame. getContentPane ().add(childComponent)

  2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:

    JPanel contentPane = new JPanel();
    ……//把其它组件添加到Jpanel中;
    frame.setContentPane(contentPane);
    //把contentPane对象设置成为frame的内容面板 

实例程序:

import java.awt.*; 
import javax.swing.*; 
 
public class JFrameWithPanel { 
   
  public static void main(String[] args) { 
     
    JFrame frame = new JFrame("Frame With Panel"); 
    Container contentPane = frame.getContentPane(); 
    contentPane.setBackground(Color.CYAN); // 将JFrame实例背景设置为蓝绿色 
    JPanel panel = new JPanel(); // 创建一个JPanel的实例 
    panel.setBackground(Color.yellow); // 将JPanel的实例背景设置为黄色 
    JButton button = new JButton("Press me"); 
    panel.add(button); // 将JButton实例添加到JPanel中 
 
    contentPane.add(panel, BorderLayout.SOUTH); // 将JPanel实例添加到JFrame的南侧 
    frame.setSize(300, 200); 
    frame.setVisible(true); 
  } 
} 

截图:

总结

以上就是本文关于JFrame中添加和设置JPanel的方法实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

 类似资料:
  • 我正在尝试将此 JPanel 添加到 JFrame 中,但我看不到他。当我创建新的 java 类并自己制作这个框架时,一切都很好。 来自JFrame表单的代码。 来自 JPanel 的代码: 来自Java类的代码。 我想不出区别在哪里。有人能帮我吗?

  • 我试图添加一个imagepanel,将JPanel扩展到另一个JPanel。这对我来说不太好。图像面板的绘制功能在Jpanel中不会被调用,但在JFrame中可以正常工作。任何想法或帮助都将不胜感激。

  • 我一直在使用JFrame进行我的项目,但遇到了一个问题。这是我的代码: 还有,这是我的主要。java: 我想做的是向面板添加文本字段和标签。但是,当我运行此代码时,它会显示:结果 如果我在框架中添加标签和文本字段,效果很好。你能帮我解决这个问题吗?非常感谢你。

  • 我是新来的Java,刚刚开始学习图形用户界面组件。所以,我正在阅读HeadfirstJava,有一个代码解释了的方法。只要用户点击“改变颜色”按钮,它就可以改变椭圆形的颜色。- MyDrawPanel类- 我从这个例子中得到了所有的东西,除了我们调用方法的部分。 书中提到,只需覆盖的方法,当您调用时,它将调用来呈现内容(因为我们不直接调用)。 现在,我通过扩展创建了类,并覆盖了它的方法。现在,当我

  • 问题内容: 我现在有一个发送HTTP请求的SwingWorker,并且我重写了SwingWorker的done()方法来更改JFrame中的内容。我想基本上删除所有内容,并根据服务器返回的值在JFrame上添加一个新的成员面板。 现在,我面临的问题是,当我在JFrame上调用以下方法时,它不会从JFrame中删除任何内容,也不会更改它在Frame中包含的内容。 我当前的修复方法如下,但我宁愿更改J

  • 我有一个JFrame,里面装满了JPanel(下面的代码)。 我正在使用JPanel在里面画东西,例如,我可以在任何我喜欢的地方画线,但是当添加JLabel到它的时候,我不能把它移动到它卡住的任何地方 但问题是他们建议的解决方案对我不起作用。 很抱歉,如果我不清楚,我试图在创建Surface之前和之后在函数initUI()中添加上面的内容。 但是在那之后,框架显示几乎(1,1)大小和它的空(如果我