2016-12-11 53 views
1

我使用擺動核心Java創建這種GUI的:問題在創作核心Java的GUI

enter image description here

在這個GUI:

1,2,3, 4 ...數字是標籤。這些值是固定的。

A,B,C,D ...是可編輯的文本框。用戶可以在此輸入任何值。

我的方法:使用表格並在其中放置兩個textfeild。但不知道如何做到這一點。

是否有任何其他簡單的方法來實現這個部分在覈心Java?

+0

任何代碼到目前爲止尚未有? – msagala25

+0

還沒有進展。嘗試將textfeild放在表格中。但不起作用 – Sarvesh

+1

*「是否有任何其他** easy **方法在覈心Java中實現此部分?」*聘請某人。如果你決定投入自己的努力,請回到我們這裏。 –

回答

1

根據顯示的要求,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); 
    } 
}