首页编程java编程java top panel是什么意思?Java中jpanel与panel有何区别

java top panel是什么意思?Java中jpanel与panel有何区别

编程之家2023-10-12102次浏览

大家好,关于java top panel是什么意思很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Java中jpanel与panel有何区别的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

java top panel是什么意思?Java中jpanel与panel有何区别

JAVA中的JPanel怎么使用呢

使用方法:

JPanel可以为添加到窗体中的轻型控件提供通用的容器。默认情况下,面板容器不会向控件添加任何除自身背景之外的颜色,但是,可以轻松地向其添加边框(borders)并根据需要改制样式。

在大多数Java GUI外观体验(look and feel)中,面板容器默认是不透明。不透明的面板容器跟普通的目录窗格功能差别不大,并且可以有效帮助样式改进。

java top panel是什么意思?Java中jpanel与panel有何区别

设置图层管理器

和其他容器(container)一样,面板容器panel也使用布局管理器(Layout Manager)对添加到容器中的组件(compnent)进行定位和设置尺寸大小。

默认情况下,面板容器的布局管理器是FlowLayout(流式布局)类的一个实例,这个类对放置在容器中的空间按行进行布局(从左到右诸行排列)。在创建面板容器时,你可以轻松地使用任何其他

java top panel是什么意思?Java中jpanel与panel有何区别

布局管理器通过调用setLayout方法或指定一个布局管理器。

如下是一个在创建面板容器时设置图层管理器的例子:

JPanel p=new JPanel(new BorderLayout());

但这种方法不能用在BoxLayout(盒子布局)中,因为BoxLayout构造器需要一个预留(pre-existing)容器。如下所示:

JPanel p=new JPanel();

p.setLayout(new BoxLayout(p,BoxLayout.PAGE_AXIS));

添加控件

向面板容器中添加组件时使用add()方法,而向add()方法中传递的参数决定于该面板容器使用哪个布局管理器。当所用的布局管理器是FlowLayout,BoxLayout,GridLayout,或SpringLayout时,像通常那样向add()方法传递单一的参数即可,如下所示:

aFlowPanel.add(aComponent);

aFlowPanel.add(anotherComponent);

而当布局管理器为BorderLayout时,还需要提供另一个参数来指定添加到容器中控件的位置,例如:

aBorderPanel.add(aComponent,BorderLayout.CENTER);

aBorderPanel.add(anotherComponent,BorderLayout.PAGE_END);

对于GridBagLayout布局管理器,可以使用上述任一方法,但必须以某种方式对每个组件指定GridBagConstraints,例如:

JPanel pane=new JPanel(new GridBagLayout());

GridBagConstraints c=new GridBagConstraints();

警告

Swing不是线程安全的。

此类的序列化对象与以后的Swing版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同Swing版本的应用程序之间进行RMI(Remote Method Invocation,远程方法调用)。

扩展资料:

JPanel一个面板也是一个容器JPanel Pan=new JPanel();

Pan.setLayout(null);//设置为空布局也就是自由布局

Pan.add(控件);//添加控件

JPanel是java图形化界面中最常使用的容器。实例:在窗体中添加一个蓝色的面板

//PanelDemo.java

import javax.swing.*;

import java.awt.*;//引入AWT包,因为要使用到颜色类

class PanelDemo{

public static void main(String[]args)throws Exception

{JFrame f=new JFrame("第一个Java窗口");

f.setSize(300,200);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setVisible(true);

f.setResizable(false);

f.setLocationRelativeTo(null);

f.setLayout(null);//设置窗体布局为空布局

JPanel p=new JPanel();//实例化一个面板

//设置面板背景色为蓝色,如果不引入AWT包,程序将出错,可以试试看

p.setBackground(Color.BLUE);

p.setSize(100,100);//设置面板对象大小

f.getContentPane().add(p);//将面板添加到窗体中

//如果使用下面添加面板的方法,面板将布满整个窗口,可以试试看

//f.setContentPane(p);

}

}

参考资料:

百度百科——JPanel

Java JPanel中,repaint(),paint(),方法的区别

repaint方法调用时会向你的程序发送一个消息,要求重绘你的程序的窗口的无效区域。

但这个消息会首先保存到应用程序的消息队列,并不会马上得到处理。

每个图形用户界面应用程序都有一个消息循环,作用是不断地从应用程序消息队列提取各种消息并交由指定的方法进行处理。

所以,repaint方法的作用就是发送一个刷新窗口的消息到消息队列,而消息循环时如果提取到了这个repaint方法发送的消息,就会调用paint方法来处理这个消息。

即repaint只负责发送消息,而消息的处理是由paint方法完成的。

所以,应该重写paint方法,将绘图逻辑放置其中。

JAVA中,Frame和Panel默认的布局管理器分别是什么类型

JAVA中,Framel默认的布局管理器是BorderLayout类型,Panel默认的布局管理器是FlowLayout类型。

FlowLayout是Panel和 Applet的默认布局管理器。在该布局管理器中,组件在容器中按照从上到下,从左到右的顺序进行排列,行满后则换行。

BorderLayout是Window、Frame和Dialog的默认布局管理器,其将容器分成North、South、East、West和Center 5个区域,每个区域只能放置一个组件。使用BorderLayout时,如果容器大小发生变换,组件的相对位置不变。

扩展资料:

其它相关的布局管理器:

1、网格布局管理器(GridLayout):

GridLayout可使容器中的各个组件呈网格状布局,平局占据容器的空间,即使容器的大小发生变化,每个组件还是平均占据容器的空间。和FlowLayout一样,GridLayout也是按照从上到下,从左到右的规律进行排列的。

2、卡片布局管理器(CardLayout):

CardLayout能够帮助用户处理两个乃至跟多的成员共享同一显示空间。它把容器分成许多层,每层的显示空间占据整个容器的大小,并且每层之允许反之一个组件,可以通过Panel来实现每层复杂的用户界面。

参考资料来源:百度百科-JPanel

参考资料来源:百度百科-AWT

Java中jpanel与panel有何区别

panel是包java.awt当中的类,Jpanel是包javax.swing当中的类,属于前者的升级。二者在本质上并没有太大的区别。

相对AWT图形用户界面而言,Swing图形用户界面不仅增强了功能,而且减弱了平台相关性,即Swing图形用户界面比AWT图形用户界面可以克服更多的由于操作系统不同所带来的在图形用户界面或交互方式上的差别。

因此建议使用swing当中的JPanel

关于java top panel是什么意思和Java中jpanel与panel有何区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

java动态绑定是什么(java 中什么是动态绑定!)伏地魔演员(年轻伏地魔演员)