java - 在核心java中创建GUI的问题

标签 java swing user-interface

我必须使用 swing 在核心 java 中创建这种 GUI:

enter image description here

在此 GUI 中:

1, 2, 3, 4... numbers are labels. These values are fixed.

A, B, C, D... are editable textfield. User can enter any value here.

我的方法:使用表格并在其中放入两个文本字段。但不知道如何做到这一点。

是否有其他简单的方法可以在核心java中实现这部分?

最佳答案

鉴于所示要求,nested网格可能是一个有用的起点。

image

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

/**
 * @see https://stackoverflow.com/a/41085019/230513
 */
public class GridTest {

    private static final int N = 12;

    private void display() {
        JFrame f = new JFrame("GridTest");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel(new GridLayout(3, 4));
        for (int i = 0; i < N; i++) {
            panel.add(createPanel(i));
        }
        f.add(new JScrollPane(panel));
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    private static JPanel createPanel(int i) {
        JPanel panel = new JPanel(new GridLayout(2, 2, 8, 8));
        panel.setBorder(BorderFactory.createLineBorder(Color.black));
        panel.add(new JLabel(String.valueOf(i)));
        panel.add(new JLabel());
        panel.add(new JLabel());
        panel.add(new JTextField(String.valueOf(Character.valueOf((char) ('A' + i)))));
        return panel;
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new GridTest()::display);
    }
}

关于java - 在核心java中创建GUI的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41084252/

相关文章:

java - Swing 按钮在执行操作之前不可见

c++ - Qt、小部件刷新和 ui 交互性

java - 如何更改 gui 中字符串的字体,然后将其恢复正常

java - 必须设置哪些 Maven XMLBeans 配置才能使用泛型?

java - java中如何动态显示流程图?

java - GridBagLayout对齐和Button样式

java - Android studio ConstraintLayout 调整大小问题

java - Spring Servlet 从 *.html 映射到 SO 类型映射

java - 如果冒泡排序的第一遍将最小的气泡放在第 0 个位置是对的吗?

java - 截图效果安卓