「java列表布局」java页面布局有哪些

博主:adminadmin 2022-11-29 03:18:07 46

今天给各位分享java列表布局的知识,其中也会对java页面布局有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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页面布局有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。