「java列表布局」java页面布局有哪些
今天给各位分享java列表布局的知识,其中也会对java页面布局有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA中提供了几种布局管理器?简述他们之间的区别?紧急
- 2、java有几种布局方式
- 3、如何设置java控件的位置和大小
- 4、什么是容器的布局,试列举并简述java中常用的几种布局策略
- 5、java 自定义布局
- 6、java swing布局
JAVA中提供了几种布局管理器?简述他们之间的区别?紧急
java中提供了5种布局管理器,1.Borderlayout 这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件;2.Flowlayout 这个按照上面横排布局,流布局用于安排有向流中的组件,这非常类似于段落中的文本行;3.Gridlayout 它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件;4.Cardlayout 它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件;5.Boxlayout 允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。 用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂。该图显示了两个水平排列的面板,每个面板都包含 3 个垂直排列的组件。
java有几种布局方式
共有6中布局
FlowLayout(流式布局) Panel的默认布局
BorderLayout(边界布局)window的默认布局 Frame和Dialog
GridLayo(网格布局)
CardLayout(卡片布局)
BoxLayout(盒式布局)
null布局GridLayo(网格布局)
java学习交流群 194252842 137104136 你可以加一下
如何设置java控件的位置和大小
把java控件所在的容器(比如:JFrame,JPanel)的布局设为空布局。(比如:jp.setLayout(null);
然后用java控件的setBounds函数设置java控件的位置和大小。(比如:JTextField jtf=new JTextField(5); jtf.setBounds(100,100,30,20);//100,100是在容器中的相对位置坐标x和坐标y
30,20是Java控件的大小,30是长,20是高。)
我给你个Java语言的例子,你看看吧。
import javax.swing.JButton;
import javax.swing.JFrame;
public class B {
B(){
JFrame jf=new JFrame();
jf.setLayout(null);
JButton jb=new JButton("确定");
jb.setBounds(25, 20, 60, 20);
jf.add(jb);
jf.setSize(200,100);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
public static void main(String[] args) {
new B();
}
}
运行结果:
什么是容器的布局,试列举并简述java中常用的几种布局策略
容器的布局是指对添加的各个组件进行有序的、统一的对位置进行编排,使其更加美观。
JavaFX典型的布局策略:
1、lowPane面板
它采用的布局策略是:按照控件的添加次序按个摆放,按照从上到下、从左到右的次序摆放。当窗口的大小发生变化后,场景的大小也自动跟着变化,面板的大小也跟着变化,并且会重新计算各个控件的位置,重新摆放各个控件的位置。
2、GridPane面板
它采用的布局策略是:将整个面板划分为若干个格子,每个格子的大小是一样的,每个格子中可以放置一个控件,类似于表格的方式。
3、BorderPane面板
它采用的布局策略是:将整个面板划分五个区域,分别是上、下、左、右、中,每个区域可以放置一个控件。
4、HBox面板
HBox是将所有的控件放在同一行,无论有多少个控件都是放在同一行。
5、Box面板
VBox的布局策略与HBox类似,不过VBox是将所有的控件放在同一列。
扩展资料:
容器没有布置它自己构件的功能,而把这个责任授权给一个布局管理器。
顺序布局是最基本的一种布局,面板的默认布局就是顺序布局。顺序布局指的是把图形元件一个接一个地放在面板上。
边界布局包括5个区:北区、南区、东区、西区和中区。这5个区在面板上的分布规律是“上北下南,左西右东”。
参考资料:百度百科-java软件开发
java 自定义布局
楼主,程序如下:
public class LayoutDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("网格包布局管理器例程");
frame.setLayout(new BorderLayout(3,3));
frame.add(new JButton("按钮1"),BorderLayout.WEST);
frame.add(new JButton("按钮2"),BorderLayout.NORTH);
frame.add(new JButton("按钮3"),BorderLayout.CENTER);
frame.add(new JButton("按钮4"),BorderLayout.SOUTH);
frame.add(new JButton("按钮5"),BorderLayout.EAST);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
有问题欢迎提问,满意请采纳!
java swing布局
null layout不是很好,所有的东西都要自己定义,一旦窗口大小变化就要重新计算。我建议使用MigLayout。上手慢,但很强大。
而且,就算你要用内建的Layout Manager,还有一个GridBag Layout,比Grid Layout更强大一点。
接下来,那个边框,不是JSeparator, 而是一个边框。我猜是
Border result = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "修改信息: ");
如果是我,使用MigLayout,以上代码还是比较简单的:
import java.awt.event.KeyEvent;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
import net.miginfocom.swing.MigLayout;
public class MyFrame extends JFrame {
public MyFrame() {
begin();
}
private void begin() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new MigLayout("insets 10, fill", "[]", "[]5[]"));
//first panel
JPanel first = new JPanel();
//first这个panel有5像素的边缘,2列,3行。第一列右对齐,占40%宽度;第二列默认,左对齐,占据剩余所有空间。
first.setLayout(new MigLayout("insets 5, fill", "[right, 40%]5[fill, grow]", "[]5[]5[]"));
first.setOpaque(false);
//这个面板的border有些特殊:createTitledBorder()方法的签名可以有两个:前一个是线的类型,后面一个是标题文本。
Border result = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "修改信息: ");
first.setBorder(result);
//把first加到contentPane里面
add(first, "cell 0 0, grow");
JLabel original = new JLabel("输入原密码: ");
JLabel newPass = new JLabel("输入新密码: ");
JLabel confirm = new JLabel("确认新密码: ");
JTextField orig_field = new JTextField();
JTextField new_field = new JTextField();
JTextField confirm_field = new JTextField();
//miglayout的核心就是网格排布。用坐标来定义添加元素的位置
first.add(original, "cell 0 0, w 100!"); //add to col 0, line 0, min:pref:max width all set to 100
first.add(newPass, "cell 0 1, w 100!"); //add to col 0, line 1
first.add(confirm, "cell 0 2, w 100!"); //add to col 0, line 2
first.add(orig_field, "cell 1 0, w 150!"); //add to col 1, line 0, min:pref:max width all set to 150
first.add(new_field, "cell 1 1, w 150!"); //add to col 1, line 1
first.add(confirm_field, "cell 1 2, w 150!"); //add to col 1, line 2
//按钮面板
JPanel buttons = new JPanel();
buttons.setOpaque(false);
//边缘为5像素;有两列,中间是10像素的间距,列内元素居中;有一行,行中上下对齐也是居中
buttons.setLayout(new MigLayout("insets 5, fill", "[center]10[center]", "[center]"));
JButton yes = new JButton("Y. 确定");
//快捷键设为虚拟键Y,得到下划线效果
yes.setMnemonic(KeyEvent.VK_Y);
JButton quit = new JButton("Q. 退出");
//快捷键设为虚拟键Q,得到下划线效果
quit.setMnemonic(KeyEvent.VK_Q);
//把yes按钮加到第一列第一行,min:pref:max的大小都设为100像素
buttons.add(yes, "cell 0 0, w 100!");
//把quit按钮加到第二列第一行,min:pref:max的大小都设为100像素
buttons.add(quit, "cell 1 0, w 100!");
//把按钮面板加到contentPane里面
add(buttons, "cell 0 1, grow");
pack();
setBounds(0, 0, 500, 400);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyFrame frame = new MyFrame();
}
});
}
}
效果是这样:
MigLayout还允许你使用辅助线来debug。把这一行:
first.setLayout(new MigLayout("insets 5, fill", "[right, 40%]5[fill, grow]", "[]5[]5[]"));
改成:
first.setLayout(new MigLayout("insets 5, fill,debug", "[right, 40%]5[fill, grow]", "[]5[]5[]"));
你就可以看到first面板里面的辅助线了。
关于java列表布局和java页面布局有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。