首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在flowLayout java中组织jbuttons

在flowLayout java中组织jbuttons
EN

Stack Overflow用户
提问于 2014-04-21 07:24:20
回答 3查看 966关注 0票数 0

我在挣扎如何做一个漂亮的布局。

我试图添加一个按钮的左侧和2个按钮的右侧。我尝试了很多方法来获得这个好看的,因此,工作不太好。任何帮助都会很好。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JPanel btn1 = new JPanel();
btn1.setLayout(new FlowLayout(FlowLayout.RIGHT));
btn1.add(new JButton("btn1"));
JButton btn2 = new JButton("btn2");
btn1.add(btn2);
pane.add(btn1, BorderLayout.SOUTH);

由于我不允许张贴图片:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-----------------------------------------
| ------------------------------------- |
| |                                   | |
| |                                   | |
| |                                   | |
| |                                   | |
| ------------------------------------- |
| [ enter ]                [btn1][btn2] |
-----------------------------------------

我如何使进入按钮的左边。

谢谢。

企图3:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JPanel southPanel = new JPanel(new GridLayout(1,2));
    JPanel enter = new JPanel();
    JPanel btn1_btn2 = new JPanel();

    enter.add(new JButton("Enter"));
    enter.setLayout((new FlowLayout(FlowLayout.LEADING)));
    southPanel.add(enter);


    btn1_btn2.add(new JButton("btn1"));
    btn1_btn2.add(new JButton("btn2"));
    btn1_btn2.setLayout((new FlowLayout(FlowLayout.TRAILING)));

    southPanel.add(btn1_btn2);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-21 08:06:20

您可以嵌套具有不同FlowLayout方向的面板(引导,尾随)

票数 0
EN

Stack Overflow用户

发布于 2014-04-21 08:03:41

  1. 使用BorderLayout创建面板。
  2. 将“进入”按钮添加到西部。
  3. 创建第二个面板并将另外两个按钮添加到面板中。然后使用BorderLayout将该面板添加到面板的东部
  4. 将带有BorderLayout的面板添加到框架中。
票数 0
EN

Stack Overflow用户

发布于 2014-04-21 08:23:06

下面是您所要求的示例:

尽管GridBagLayout可能非常复杂,但它非常灵活。一旦你熟悉了自己的选择(重量、锚、ipadx等等),这也就没那么难了。

我强烈建议您在GridBagLayout上阅读并学习它带来的特性。与其他布局不同,GridBagLayout依赖于另一个对象(调用约束)来为组件设置属性。所有组件通常共享相同的GridBagConstraints,以避免不必要的对象赞扬。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.lang.reflect.InvocationTargetException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class App {

    private static JFrame frame;
    public static void main(String[] args) {
        initFrame();
    }

    private static void initFrame() {
        try {
            SwingUtilities.invokeAndWait(new Runnable() { //all swing actions should be handled on EDT
                public void run() {
                    frame = new JFrame();
                    frame.setSize(500, 500);
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //close process on X

                    addComponents(frame.getContentPane()); //add components to frame

                    frame.setLocationRelativeTo(null); //set frame in center of screen
                    frame.setVisible(true);
                }
            });
        } catch (InvocationTargetException | InterruptedException e) {
            e.printStackTrace();
        }
    }

    private static void addComponents(Container pane) {
        pane.setLayout(new GridBagLayout());
        GridBagConstraints gbc = new GridBagConstraints();

        JButton button = new JButton("button1");
        JButton button2 = new JButton("b2");
        JButton button3 = new JButton("b3");

        //we are anchroing our button to the bottom-left side of the screen
        gbc.anchor = GridBagConstraints.SOUTHWEST;

        //weightx and y specifiy that our comp isn't just mindlessly floating around
        //for weightx, if there is any extra space on the X axis, fill ass needed
        //same for weighty. if we didnt have these vars, our comp will float in the middle
        //basically, if you dont have these, your "anchor" wont be noticed
        gbc.weighty = .5;
        gbc.weightx = .5; 
        pane.add(button, gbc);

        //since we are now working with the other 2 buttons, make it south east
        //we must change our weightx back to 0, to ensure there will be no spacing between
        //our two buttons (even if there is extra space, dont use it)
        gbc.anchor = GridBagConstraints.SOUTHEAST;
        gbc.weightx = 0;
        pane.add(button2, gbc);
        pane.add(button3, gbc);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23200328

复制
相关文章
Java开发GUI之FlowLayout流布局
    FlowLayout顾名思义,即流式布局。其默认以行进行布局,可以设置对齐模式,当一行的距离不够组件进行排列时,FlowLayout会自行进行换行。
珲少
2018/08/15
1.1K0
Java开发GUI之FlowLayout流布局
自定义FlowLayout,android flowLayout实现
我想大家在开发过程中都碰到过这样的需求,类似标签展示,要展示如上图效果,这里面的数据不确定每项字数,有的非常长,有的很短,数据动态填充。
再见孙悟空_
2023/02/10
3500
自定义FlowLayout,android flowLayout实现
在MySQL中处理组织层次(中文路径)
假设有这样的组织层次,“某某局”,“某某局>某某部”,“某某局>某某部>某某下属组织”, “某某局”是一级组织所以他的组织层次就是他自己的组织名字,而类似“某某部”这样的二级组织,他们的组织层次就是“某某局>某某部”,中间用“>”(大于号)分隔,从一级组织一直到他自己的组织名字连接起来。
用户3579639
2018/10/19
1.2K0
在 monorepo 中怎么组织和优化研发流程?
本文是基于Vite+AntDesignVue打造业务组件库[2]专栏第 10 篇文章【在 monorepo 中怎么组织和优化研发流程?】,前面几篇都在说函数库开发的相关内容,所以本文接着围绕这块说,主要是把研发流程梳理清楚,方便后续更多内容的铺开。
程序员白彬
2023/03/02
1.1K0
在 monorepo 中怎么组织和优化研发流程?
Fabric进阶(二)—— 在已有组织中增加节点
fabric网络在创建时就已经确定了初始的节点数量,而在实际应用场景中可能会需要在某个组织中动态增加节点。这里以balance-transfer v1.0为例(2 Org,4 Peer),介绍如何在org1中加入第3个peer节点。
zhayujie
2020/04/29
2.4K0
Android - 居中的FlowLayout
前言 因为需求的原因,需要去使用流式布局,但是这次我们的需求,和我之前的见到的流式布局不太一样。因为我们的是居中显示的流式布局。这时候,就得自己去自定义了。 老规矩,先看图。 这里说一下,我的实现思路
code_horse
2018/07/02
1.4K0
在Java中调用Python
在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢。当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单。恰好我在项目中就遇到了这个问题,需要在Java程序中调用Python程序。关于在Java中调用Python程序的实现,根据不同的用途可以使用多种不同的方法,在这里就将在Java中调用Python程序的方式做一个总结。
编程随笔
2019/09/11
5.1K0
在Java中调用Python
脑组织中的梯度
近年来,研究脑组织空间变化或梯度的新方法和应用兴起,补充了在识别和绘制离散脑区和宏观功能社区方面取得的进展。在人类和非人灵长类动物死后细胞结构的早期分析中已经强调了这一点,最近的神经影像学和网络神经科学研究在绘制人类和非人类大脑的空间梯度方面取得了重大进展。
悦影科技
2022/06/20
5650
在大型项目中组织CSS
这句话你之前可能听过100次了。 原因是CSS中的一切都默认为全局的。如果你是一个C程序员你就知道全局变量不好。如果你是任何一种程序员,你都知道隔离和可组合的模块是构建可维护系统的关键。
疯狂的技术宅
2019/03/27
8130
在大型项目中组织CSS
在gradle中构建java项目
之前的文章我们讲到了gradle的基本使用,使用gradle的最终目的就是为了构建java项目。今天本文将会详细的讲解如何在gradle中构建java项目。
程序那些事
2021/02/20
1.8K0
Java 在PDF中添加表格
本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等。 通过maven导入 地址 代码如下:
崔笑颜
2020/06/08
4.7K0
在 Java 中如何使用 transient
Java语言的transient不像class、synchronized和其他熟悉的关键字那样众所周知,因而它会出现在一些面试题中。这篇文章我将为大家讲解transient。
哲洛不闹
2018/09/18
6.1K0
在 Java 中如何使用 transient
在gradle中构建java项目
之前的文章我们讲到了gradle的基本使用,使用gradle的最终目的就是为了构建java项目。今天本文将会详细的讲解如何在gradle中构建java项目。
程序那些事
2021/02/25
1.4K0
在gradle中构建java项目
之前的文章我们讲到了gradle的基本使用,使用gradle的最终目的就是为了构建java项目。今天本文将会详细的讲解如何在gradle中构建java项目。
子润先生
2021/06/21
1.7K0
在 Java 中如何比较日期?
在 Java 中有多种方法可以比较日期,日期在计算机内部表示为(long型)时间点——自1970年1月1日以来经过的毫秒数。在Java中,Date是一个对象,包含多个用于比较的方法,任何比较两个日期的方法本质上都会比较日期的时间。
武培轩
2019/10/19
4.7K0
class文件中的方法表集合--method方法在class文件中是怎样组织的
        了解JVM虚拟机原理是每一个Java程序员修炼的必经之路。但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的。
亦山
2019/05/25
1.7K0
如何组织PHP中的异常
本文的主题是怎么组织php的异常?在大型项目中异常往往被我们忽略,但是如果前期没有很好的规划好,越到项目后期,重构的成本会越大。
zhuanxu
2018/08/23
1.4K0
如何组织PHP中的异常
深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局
在讨论每个Swing组件(例如文本域和单选按钮)之前,首先介绍一下如何把这些组件安排在一个框架内。与Visual Basic不同,JDK没有表单设计器,需要通过编写代码来定制(布局)用户界面组件所在的位置。
愿天堂没有BUG
2022/10/28
3.7K0
深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局
Rust中的代码组织:package/crate/mod
刚接触Rust遇到一堆新概念,特别是package, crate, mod 这些,特别迷糊,记录一下
菩提树下的杨过
2021/11/10
1.7K0
点击加载更多

相似问题

在一个专栏中组织JButtons?

22

Java FlowLayout

40

Java在jbuttons中滚动

14

在Java中创建JButtons

20

FlowLayout还是BoxLayout?在JAVA中

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文