jpanel类(Java中jpanel与panel有何区别)
本文目录
- Java中jpanel与panel有何区别
- J**A中的JPanel怎么使用呢
- java jpanel类中怎么调用jframe方法 比如把setTitle方法写在jpanel里
- JPanel类型的数组循环如何添加JLabel标签
- java两个类一个类继承了JFrame,一个类继承了JPanel,怎样让这两类一起工作
- java 种 final修饰JPanel类有什么作用
- JPanel的函数说明,详细些
Java中jpanel与panel有何区别
panel是包java.awt当中的类,Jpanel是包javax.swing当中的类,属于前者的升级。二者在本质上并没有太大的区别。
相对AWT图形用户界面而言,Swing图形用户界面不仅增强了功能,而且减弱了平台相关性,即Swing图形用户界面比AWT图形用户界面可以克服更多的由于操作系统不同所带来的在图形用户界面或交互方式上的差别。
因此建议使用swing当中的JPanel
J**A中的JPanel怎么使用呢
使用方法:
JPanel可以为添加到窗体中的轻型控件提供通用的容器。默认情况下,面板容器不会向控件添加任何除自身背景之外的颜色,但是,可以轻松地向其添加边框(borders)并根据需要改制样式。
在大多数Java GUI外观体验(look and feel)中,面板容器默认是不透明。不透明的面板容器跟普通的目录窗格功能差别不大,并且可以有效帮助样式改进。
设置图层管理器
和其他容器(container)一样,面板容器panel也使用布局管理器(Layout Manager)对添加到容器中的组件(compnent)进行定位和设置尺寸大小。
默认情况下,面板容器的布局管理器是FlowLayout(流式布局)类的一个实例,这个类对放置在容器中的空间按行进行布局(从左到右诸行排列)。在创建面板容器时,你可以轻松地使用任何其他
布局管理器通过调用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布局管理器,可以使用上述任一方法,但必须以某种方式对每个组件指定GridBagC***traints,例如:
JPanel pane=new JPanel(new GridBagLayout());
GridBagC***traints c=new GridBagC***traints();
警告
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(Stringargs)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类中怎么调用jframe方法 比如把setTitle方法写在jpanel里
如果是自定义JPanel 可以将 JFrame 传递给 JPanel, 然后可以在 JPanel 需要的时候调用 JFrame 中的方法,如下代码:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
class MyPanel extends JPanel {
public MyPanel(JFrame frame) {
frame.setTitle("在MyPanel设置JFrame标题");
}
}
public class App extends JFrame {
public App() {
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel panel = new MyPanel(this);
this.add(panel, BorderLayout.CENTER);
}
public static void main(String args) {
new App().setVisible(true);
}
}
JPanel类型的数组循环如何添加JLabel标签
for ( int x = 0; x 《 10; x++ )
{
if (null == xianshi)
{
xianshi = new JPanel ();
}
xianshi.add (new JLabel ("我是第" + ( x + 1 ) + "个标签"));// 这里不出问题了
shang.add ("" + x, xianshi);
}
java两个类一个类继承了JFrame,一个类继承了JPanel,怎样让这两类一起工作
jframe是窗口的概念,jpanel是面板的概念,面板是存在于窗口容器中的,所以通过调用继承自jframe类的实例的add方法,把继承自jpanel类的实例加进来,这两类即可一起工作。
请采纳,谢谢。
java 种 final修饰JPanel类有什么作用
一、Java中final修饰符既可以修饰类、方法,也可以修饰变量,基本规则如下:
1)用final修饰的类不能被扩展,也就是说不可能有子类;
2)用final修饰的方法不能被替换或隐藏:
①使用final修饰的实例方法在其所属类的子类中不能被替换(overridden);
②使用final修饰的静态方法在其所属类的子类中不能被重定义(redefined)而隐藏(hidden);
3)用final修饰的变量最多只能赋值一次,在赋值方式上不同类型的变量或稍有不同:
①静态变量必须明确赋值一次(不能只使用类型缺省值);作为类成员的静态变量,赋值可以在其声明
中通过初始化表达式完成,也可以在静态初始化块中进行;作为接口成员的静态变量,赋值只能在其
声明中通过初始化表达式完成;
②实例变量同样必须明确赋值一次(不能只使用类型缺省值);赋值可以在其声明中通过初始化表达式
完成,也可以在实例初始化块或构造器中进行;
③方法参数变量在方法被调用时创建,同时被初始化为对应实参值,终止于方法体(body)结束,在此
期间其值不能改变;
④构造器参数变量在构造器被调用(通过实例创建表达式或显示的构造器调用)时创建,同时被初始化
为对应实参值,终止于构造器体结束,在此期间其值不能改变;
⑤异常处理器参数变量在有异常被try语句的catch子句捕捉到时创建,同时被初始化为实际的异常对象
,终止于catch语句块结束,在此期间其值不能改变;
⑥局部变量在其值被访问之前必须被明确赋值;
JPanel的函数说明,详细些
构造方法详细信息
JPanel
public JPanel(LayoutManager layout,
boolean isDoubleBuffered)创建具有指定布局管理器和缓冲策略的新 JPanel。
参数:
layout - 要使用的 LayoutManager
isDoubleBuffered - boolean 值,true 表示双缓冲,双缓冲使用更多内存空间实现快速、无闪烁的更新
--------------------------------------------------------------------------------
JPanel
public JPanel(LayoutManager layout)创建具有指定布局管理器的新缓冲 JPanel。
参数:
layout - 要使用的 LayoutManager
--------------------------------------------------------------------------------
JPanel
public JPanel(boolean isDoubleBuffered)创建具有 FlowLayout 和指定缓冲策略的新 JPanel。如果 isDoubleBuffered 为 true,则 JPanel 将使用双缓冲。
参数:
isDoubleBuffered - boolean 值,true 表示双缓冲,双缓冲使用更多内存空间实现快速、无闪烁的更新
--------------------------------------------------------------------------------
JPanel
public JPanel()创建具有双缓冲和流布局的新 JPanel。
方法详细信息
updateUI
public void updateUI()利用当前外观的值重置 UI 属性。
覆盖:
类 JComponent 中的 updateUI
另请参见:
JComponent.updateUI()
--------------------------------------------------------------------------------
getUI
public PanelUI getUI()返回呈现此组件的外观 (L&F) 对象。
返回:
呈现此组件的 PanelUI 对象
从以下版本开始:
1.4
--------------------------------------------------------------------------------
setUI
public void setUI(PanelUI ui)设置呈现此组件的外观 (L&F) 对象。
参数:
ui - PanelUI L&F 对象
从以下版本开始:
1.4
另请参见:
UIDefaults.getUI(javax.swing.JComponent)
--------------------------------------------------------------------------------
getUIClassID
public String getUIClassID()返回指定呈现此组件的 L&F 类名的字符串。
覆盖:
类 JComponent 中的 getUIClassID
返回:
"PanelUI"
另请参见:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)
--------------------------------------------------------------------------------
paramString
protected String paramString()返回此 JPanel 的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可以为空,但不可以为 null。
覆盖:
类 JComponent 中的 paramString
返回:
此 JPanel 的字符串表示形式。
--------------------------------------------------------------------------------
getAccessibleContext
public AccessibleContext getAccessibleContext()获取与此 JPanel 关联的 AccessibleContext。对于 JPanel,AccessibleContext 采取 AccessibleJPanel 的形式。必要时要创建新的 AccessibleJPanel 实例。
指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
类 JComponent 中的 getAccessibleContext
返回:
一个 AccessibleJPanel,它充当此 JPanel 的 AccessibleContext
============================================================
自己下个API帮助文档就什么都有了。
更多文章:
c数组复制到另一个数组((C语言)从键盘上输入一个字符数组,并将其复制到另一个字符数组)
2026年4月11日 23:20
excel表格常用函数sum(excel中sum函数进行累计求和的方法)
2026年4月11日 22:20
jpanel类(Java中jpanel与panel有何区别)
2026年4月11日 21:40
mysql using btree(using btree 什么意思)
2026年4月11日 20:20







