java - 使用 SpringUtilities 和 SpringLayout 无法将另一个组件(JPanel)添加到 JFrame
问题描述
panel
代码派生自 oracle 文档(https://docs.oracle.com/javase/tutorial/uiswing/layout/spring.html)。我想在同一个框架中添加一个清除按钮,所以我创建了另一个面板:panel1
. 现在的情况是panel
and panel1
,代码只会显示其中一个面板。在运行代码时,我想要panel1
在panel
. 请告诉我如何实现它?和工作SpringLayout
得 SpringUtilities
很好。
import javax.swing.*;
import java.awt.*;
public class SpringDemo1 {
public static void createAndShowGUI() {
JFrame springlayoutFrame = new JFrame("Springlayout Demo");
JPanel panel = new JPanel(new SpringLayout());
JPanel panel1 = new JPanel(new SpringLayout());
JRadioButton jRadioButton = new JRadioButton("Clear");
panel1.add(jRadioButton);
int rows = 5;
int cols = 10;
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
int anInt = (int) Math.pow(r, c);
JTextField jTextField1 = new JTextField(Integer.toString(anInt));
panel.add(jTextField1);
}
}
SpringUtilities.makeCompactGrid(panel, //parent
rows, cols,
10, 50, //initX, initY
3, 3); //xPad, yPad
//SpringUtilities.makeCompactGrid(panel1,1,1,0,50,5,5);
panel.setOpaque(true);
panel1.setOpaque(true);
//springlayoutFrame.setContentPane(panel);
springlayoutFrame.getContentPane().add(panel);
//springlayoutFrame.getContentPane().add(panel1);
springlayoutFrame.pack();
springlayoutFrame.setVisible(true);
}
}
解决方案
推荐阅读
- exe - Pyinstaller EXE 集成了 PNG 背景和 ICO 作为图标
- java - 当我查询大量数据时,hazelcast 查询变慢,如何改进?
- pandas - 如何使用 Pandas 连接多行的值?
- typescript - 在可视代码中使用打字稿编码装饰器时出现错误:TS1219:
- python-3.x - 为什么这个情节没有像预期的那样变大?
- ms-access-2010 - 以连续形式控制单个文本框
- javascript - 如何让 onClick() 从我的 javascript 文件中读取?
- javascript - 如何以编程方式获取 indexedDB 中每个 objectStore 的当前数据大小?
- python - 仅当数据指定特定条件时才从 pytorch 中的 Custom Data-Loader 加载数据
- sql - 如何对 SQL Server 中的递归查询进行排序?