java的panel是什么(Java中jpanel与panel有何区别)
大家好,java的panel是什么相信很多的网友都不是很明白,包括Java中jpanel与panel有何区别也是一样,不过没有关系,接下来就来为大家分享关于java的panel是什么和Java中jpanel与panel有何区别的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
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
JPanel的定义及作用是什么,清楚举例子解释一下更好
JPanel是什么?
答: Java图形用户界面工具包swing中的面板容器类,是一种轻量级的容器,可以加入到JFrame, JDialog等容器中。JPanel默认的布局管理器流式布局(FlowLayout).
JPanel作用?
答:可以把其他的组件添加到JPanel里,比如按钮JButton,标签JLabel,文本框JTextField等添加到JPanel里,变成复杂的面板.
例子:下面的窗口,我们可以解析成为2个JPanel面板
第一个面板添加了文本框,标签等组件
第二个面板添加了按钮组件
具体的代码
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassAddFrameextendsJFrameimplementsActionListener{
JTextFieldjtf1,jtf2,jtf3;//文本框
JButtonjbAdd,jbClear;//按钮
StringdefNum="0.0";//默认值
publicAddFrame(){
//jp1显示加法算式用
JPaneljp1=newJPanel();//面板1
jtf1=newJTextField(8);
JLabeljl1=newJLabel("+");
jtf2=newJTextField(8);
JLabeljl2=newJLabel("=");
jtf3=newJTextField(8);
jtf3.setEditable(false);//结果文本框,禁止编辑
jp1.add(jtf1);
jp1.add(jl1);
jp1.add(jtf2);
jp1.add(jl2);
jp1.add(jtf3);
clearText();//设置文本默认值
//jp2用于显示按钮
JPaneljp2=newJPanel();//面板2
jbAdd=newJButton("相加");
jbAdd.addActionListener(this);
jbClear=newJButton("清空");
jbClear.addActionListener(this);
jp2.add(jbAdd);
jp2.add(jbClear);
add(jp1);
add(jp2);
setLayout(newGridLayout(2,1));//布局,2行1列
setTitle("加法计算器");//标题
setSize(360,128);//窗口大小
setLocationRelativeTo(null);//窗口居中
setResizable(false);//窗口禁止缩放
setDefaultCloseOperation(EXIT_ON_CLOSE);//窗口点击关闭时,退出程序
}
publicstaticvoidmain(String[]args){
newAddFrame().setVisible(true);//创建窗口实例并可见
}
privatevoidclearText(){//设置文字为初始化的0.0
jtf1.setText(defNum);
jtf2.setText(defNum);
jtf3.setText(defNum);
}
@Override
publicvoidactionPerformed(ActionEvente){
//如果点击的是相加按钮.
if(e.getSource()==jbAdd){
doubled1,d2=0;
try{
d1=Double.parseDouble(jtf1.getText().trim());//从文字到数字的转换
d2=Double.parseDouble(jtf2.getText().trim());
}catch(Exceptionex){
jtf3.setText(defNum);
JOptionPane.showMessageDialog(null,"Sorry!不能输入字母汉字等.\n请输入合法的数字.","错误提示",JOptionPane.ERROR_MESSAGE);
return;
}
jtf3.setText((d1+d2)+"");
}elseif(e.getSource()==jbClear){//如果点击的时清空按钮
clearText();
}
}
}
JAVA中的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布局管理器,可以使用上述任一方法,但必须以某种方式对每个组件指定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与panel有何区别
panel是包java.awt当中的类,Jpanel是包javax.swing当中的类,属于前者的升级。二者在本质上并没有太大的区别。
相对AWT图形用户界面而言,Swing图形用户界面不仅增强了功能,而且减弱了平台相关性,即Swing图形用户界面比AWT图形用户界面可以克服更多的由于操作系统不同所带来的在图形用户界面或交互方式上的差别。
因此建议使用swing当中的JPanel
关于java的panel是什么和Java中jpanel与panel有何区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。