当前位置: 首页 > 面试题库 >

如何在其JSplitPane中使此FlowLayout换行?

贺俊杰
2023-03-14
问题内容

我编写了此代码示例以说明我的程序遇到的问题。

我希望能够将JSplitPane的滑动条向左滑动,超出按钮的边缘,从而压缩该JPanel,并使FlowLayout将按钮包装到第二行。

相反,JSplitPane不允许我将滑块移过屏幕上最右边的按钮,并且如果我调整整个JFrame的大小以强制压缩,则这些按钮(我认为)只是在JPanel的右侧下方运行滑块(我想是因为我显然看不到它们)。

我究竟做错了什么?

import java.awt.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class Driver implements Runnable {
    public static void main(String[] args) {
        (new Driver()).run();
    }
    public void run() {
        try {
            go();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(-1);
        }
    }
    private void go() throws Exception {
        JFrame jframe = new JFrame("FlowLayoutTest");
        JPanel left = new JPanel();
        left.setBackground(Color.RED);
        left.setLayout(new BorderLayout());
        JPanel right = new JPanel();
        right.setBackground(Color.BLUE);
        right.setLayout(new BorderLayout());
        JSplitPane topmost =
            new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left, right);
        jframe.setContentPane(topmost);
        JPanel bottomleft = new JPanel();
        bottomleft.setBackground(Color.GREEN);
        bottomleft.setLayout(new FlowLayout());
        left.add(bottomleft, BorderLayout.PAGE_END);
        for (int i = 0; i < 10; i++) {
            bottomleft.add(new JButton("" + i));
        }
        jframe.pack();
        jframe.setVisible(true);
        jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

问题答案:

除了FlowLayout之外,还有其他布局管理器可以满足我的需求吗?

换行布局应该工作。



 类似资料:
  • 问题内容: 我要转换: 变成“ 5小时前” 如何用Java做到这一点? 问题答案: JodaTime支持从用户定义的格式进行解析。请参见DateTimeFormatterBuilder和DateTimeBuilder.parseDateTime()。 一旦有了DateTime,就可以从该时间和当前时间创建一个Duration或Period,并使用另一个格式化程序进行漂亮的打印。[请参阅上面的注释中

  • 介绍 (Introduction) 从左到右流程中的FlowLayout类组件。 类声明 以下是java.awt.FlowLayout类的声明: public class FlowLayout extends Object implements LayoutManager, Serializable 字段 (Field) 以下是java.awt.BorderLayout类的字段

  • 介绍 (Introduction) 从左到右流程中的FlowLayout类组件。 Class 声明 (Class Declaration) 以下是java.awt.FlowLayout类的声明 - public class FlowLayout extends Object implements LayoutManager, Serializable 字段 (Field) 以下

  • 问题内容: 我在阅读有关挥杆的书时编写了一个小程序,该程序在两个标签之间创建了一个JSplitPane。问题在于,几乎看不到JSplitPane(至少在我的操作系统- MAC OS Lion中),并且在其上设置某些属性(如前景色)似乎不起作用。 这是代码: 有什么方法可以改变它的颜色,使其真正脱颖而出吗?谢谢。 问题答案: 是默认设置,简单是透明的,您可以 更改为或可能更好 通过改变不透明度

  • 我在读一本关于swing的书时编写了一个小程序,它在两个标签之间创建了一个JSplitPane。问题是,JSplitPane几乎看不见(至少在我的操作系统MAC OS Lion中是这样),而且在它上面设置一些属性(如前景色)似乎不起作用。 代码如下: 有没有什么办法可以改变它的颜色,让它真正脱颖而出?非常感谢。

  • 我试图在CSS/HTML和JavaScript中重新创建这种切换。当关闭时,切换显示标题:“Stap 2 Implementatie in de Organizatie”和一个图标(圆圈中有加号)。当打开时,它会显示一些文本,下面是一个带有可下载工具的部分,它们可以被实现为相邻的图像,但如果图标和文本分开,它可能更多用途。 我已经设法创建了标题,它下面的文本,我只是需要帮助: 关闭切换和打开切换的