gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 07:00:00 26 4
gpt4 key购买 nike

我必须使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com