标签: border-layout

在Ext.Viewport的anchorlayout面板中折叠嵌套的borderlayout面板

我开始学习Ext并坚持这样的问题.我有一个带代码的视口

Ext.define('WIMM.view.Viewport', {
extend: 'Ext.container.Viewport',
autoScroll: true,
layout: 'anchor',
items: [
    {
        border: false,
        title: 'Header',
        layout: 'fit',
        xtype: 'container',
        html: 'Header block. We\'ll try to do this again'
    },{
        layout: 'border',
        items: [
            {
                collapsible: true,
                width: 240,
                title: 'Aside Column',
                region:'west',
                layout: 'fit',
                html: 'Aside widgets (news, balance, budget, goals) would be here.'
            },{
                title: 'Main Block',
                border: false,
                region:'center',
                layout: 'fit',
                html: 'Main block were tabPanel would be nested in.'
            }
        ]
    },{
        title: 'footer',
        xtype: 'container', …
Run Code Online (Sandbox Code Playgroud)

nested extjs collapse border-layout extjs4

5
推荐指数
1
解决办法
1080
查看次数

无法在BorderLayout中更改块的大小

我创建了带边框布局的简单应用程序,并在其中添加了两个按钮和JTable.我在button2和JTable之间使用JSplitPane.我想重新定义块的默认大小,其中位于button1.我该如何解决这个任务?

这是我的代码:

package test;

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;

public class Sample {

    public Sample() {
        JFrame app = new JFrame("Sample");
        app.setSize(new Dimension(800,600));

        JPanel panel = new JPanel();
        app.add(panel);

        BorderLayout borderlayout = new BorderLayout();
        panel.setLayout(borderlayout);

        JButton but1 = new JButton("1");
        JButton but2 = new JButton("2");
        but2.setMinimumSize(new Dimension(250,0));
        String[] colNames = {"Name","Number","Scores"};
        Object[][] data = {
                { "Mark",11,12},
                {"Tommy",23,34},
                {"John",34,45}
        };
        JTable table = new JTable(data, colNames);

        JScrollPane …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jbutton border-layout

5
推荐指数
2
解决办法
2万
查看次数

JFrame的contentPane的LayoutManager

如上所述:向内容窗格添加组件,

默认内容窗格是一个简单的中间容器,它继承自JComponent,并使用BorderLayout作为其布局管理器.

这是一个证据:

JFrame frame = new JFrame();
LayoutManager m = frame.getContentPane().getLayout();
System.out.println(m instanceof BorderLayout); // prints true
Run Code Online (Sandbox Code Playgroud)

但是,您能解释下面代码的输出吗?

JFrame frame = new JFrame();

LayoutManager m = frame.getContentPane().getLayout();
System.out.println(m);
System.out.println(m.getClass().getName());

LayoutManager m2 = new BorderLayout();
System.out.println(m2);
System.out.println(m2.getClass().getName());
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

javax.swing.JRootPane$1[hgap=0,vgap=0]
javax.swing.JRootPane$1
java.awt.BorderLayout[hgap=0,vgap=0]
java.awt.BorderLayout
Run Code Online (Sandbox Code Playgroud)

java swing jframe border-layout contentpane

4
推荐指数
1
解决办法
1582
查看次数

我需要做什么才能让Border Layout让West容器的视口全高?

我想使用Border的ExtJS的4.2.1,布局时,我指定North和South他们展开容器,并在视口中充满整个水平空间,我希望他们能够让West面板是全高度来代替.

这是我想要实现的一些简单的ASCII艺术版本.

-----------------
|W|____North____|
|E|    Center   |
|S|_____________|
|T|    South    |
-----------------
Run Code Online (Sandbox Code Playgroud)

extjs border-layout extjs4.2

4
推荐指数
1
解决办法
1636
查看次数

如何禁用拖动JToolbar?

如何禁用拖动JToolbar?我把它放在BorderLayout中.我试着找一个方法.有这样的方法吗?谢谢

java user-interface swing jtoolbar border-layout

4
推荐指数
1
解决办法
2185
查看次数

为什么我的Jpanel borderlayout不按预期工作?

我在JPanel,JLabel和JButton中添加了2个元素.我希望它们彼此叠加,所以我使用BorderLayout.NORTH和SOUTH添加它们.

我遇到的问题是JLabel JButton并排坐在彼此旁边,而不是像预期的那样彼此叠加.这个问题可能与我使用borderlayout将其他面板添加到框架的事实有关,如下所示.

这是一个SSCE来演示我的问题.您会注意到,如果展开窗口,您将看到JLabel左侧的JButton.

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Question {
    /**
     * @param args
     */
    public static void main(String[] args) {
        gui();
    }

    public static void gui() {

        final JFrame theFrame = new JFrame();
        theFrame.setSize(550, 290);

        theFrame.setLocationRelativeTo(null);

        // options for the JComboBox
        String[] options = { ("1"), ("2"), ("3") };

        final JPanel thePanel = new JPanel();
        JLabel aMessage = new JLabel(
                "<html>Lorem ipsum dolor …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel layout-manager border-layout

4
推荐指数
1
解决办法
324
查看次数

如何在JFrame中围绕特定JPanel设置边框?

我解释不好,但我会尽我所能.

我基本已经尝试添加在我的边框JLabel,JTextField和JButton我的内的组件JPanel,但边境根据规模不断扩大.

这是我的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class LoginPanel
{
    private JPanel loginPanel = new JPanel();
    private JFrame loginFrame = new JFrame();

    public LoginPanel()
    {
        loginPanel.setLayout(new GridBagLayout());

        GridBagConstraints gridBagConstraints = new GridBagConstraints();

        JTextField textLogin = new JTextField(10);
        JPasswordField password = new JPasswordField(10);

        JButton login = new JButton("Login");
        JButton register = new JButton("Register");

        gridBagConstraints.insets = new Insets(0,0,0,0);

        gridBagConstraints.gridy = 0;
        gridBagConstraints.gridx = 0;

        loginPanel.setBorder(BorderFactory.createTitledBorder("Login"));

        loginPanel.add(new JLabel("E-Mail"), gridBagConstraints);
        gridBagConstraints.gridy++;
        loginPanel.add(textLogin, gridBagConstraints); …
Run Code Online (Sandbox Code Playgroud)

java swing layout-manager gridbaglayout border-layout

4
推荐指数
1
解决办法
1663
查看次数

如何在其中自动调整视口子面板?

我在ExtJS4工作.我陷入了一个我想要自动高度边界布局的东部区域的点.实际上我的要求是根据其中的子元素内容自动增加任何区域的高度.我尝试了很多,但我没有得到它的解决方案.请给我一些建议.

在我的代码中,我只是在东区域测试一个包含5个面板的简单代码,在这四个面板中显示.第五个面板未显示,如何使其可见?我只是使用示例代码作为参考.

这是我的视口代码:

Ext.define('Am.view.Viewport', {
    extend: 'Ext.container.Viewport',
    layout: 'border',
    id:'viewportId',
    alias:'widget.Viewport',
    autoScroll:true,

       //        closable:true,
               items: [
                       {
                           region:'north',
                                       items:[
                                  {
                                      xtype:'panel',
                                      flex:.2,
                                      title:'north region',
                                      html:'<p>north region'
                                  }

                                  ]//end of items

                       },
                       {
                           region:'west',
                           id:'westId',
                           //margins:'0 5 5 5',
                           flex:.3,
                           //layout:'accordion',
                           items:[
                                              {
                                      title:'This day in a history',
                                      xtype:'Content'
                                  }

                                  ]//end if items
                       },// end of region west
                       {
                           //title:'center',
                           region:'center',
                           id:'centerId',
                           //html:'center region',
                           items:[
                                  ]//End of itmes
                       },// end of region center
                       {
                           region:'east',
                           id:'eastId',
                           //margins:'0 5 0 5',
                           flex:.3, …
Run Code Online (Sandbox Code Playgroud)

extjs border-layout extjs4 extjs4.1 extjs4.2

3
推荐指数
1
解决办法
1万
查看次数

如何在 JToolBar 中的两个按钮之间添加间隙?

我需要添加一个简单的间隙/空间/边距,以便在这两个按钮之间留出空间。不幸的是我不能让它工作。谁能给我一些建议?

它基于BorderLayout,按钮位于JToolBar

在此处输入图片说明

java layout swing jtoolbar border-layout

3
推荐指数
1
解决办法
4616
查看次数

为什么添加到框架的第一个面板消失了?

下面是将两个面板添加到框架的示例.仅出现一个面板(第2个红色面板).

消失的面板在框架中

为什么第一个面板消失了?

import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;

public class DisappearingPanelInFrame {

    DisappearingPanelInFrame() {
        JFrame f = new JFrame(this.getClass().getSimpleName());
        f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

        f.add(new ColoredPanel(Color.GREEN));
        f.add(new ColoredPanel(Color.RED));

        f.pack();
        f.setVisible(true);
    }

    public static void main(String[] args) {
        Runnable r = new Runnable() {
            @Override
            public void run() {
                new DisappearingPanelInFrame();
            }
        };
        SwingUtilities.invokeLater(r);
    }
}

class ColoredPanel extends JPanel {

    ColoredPanel(Color color) {
        setBackground(color);
        setBorder(new EmptyBorder(20, 150, 20, 150));
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing jframe layout-manager border-layout

3
推荐指数
1
解决办法
1841
查看次数