Java JPanel运行时GUI上的附加列?
在学校的一个项目中,我和我的小组正在制作一个带有GUI的幸运轮游戏。在为要显示的拼图创建新的列时,我遇到了创建附加列的问题。也有可能只是一片空白,但不管怎样,我想知道如何摆脱它。下面是运行在Java JPanel运行时GUI上的附加列?,java,swing,jpanel,jtextfield,2d-games,Java,Swing,Jpanel,Jtextfield,2d Games,在学校的一个项目中,我和我的小组正在制作一个带有GUI的幸运轮游戏。在为要显示的拼图创建新的列时,我遇到了创建附加列的问题。也有可能只是一片空白,但不管怎样,我想知道如何摆脱它。下面是运行在wheelGUI类中的letterBoard类的代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class letterBoard extends JPanel
wheelGUI
类中的letterBoard
类的代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class letterBoard extends JPanel
implements ActionListener
{
private JTextField[] fields = new JTextField[TEXT_FIELD_COUNT];
private Box[] boxes = new Box[SUIT_COUNT];
private static int TEXT_FIELD_COUNT = 14;
private static int SUIT_COUNT = 1;
Color datGreen=new Color(0, 180, 100);
public letterBoard()
{
setBackground(Color.GRAY);
JPanel panel = new JPanel(new GridLayout(4,1));
panel.setBackground(datGreen);
for(int t=0; t<4; t++)
{
for (int i =0; i < boxes.length; i++)
{
boxes[i] = Box.createHorizontalBox();
for (int j=0; j< TEXT_FIELD_COUNT/SUIT_COUNT; j++)
{
int index = i * (TEXT_FIELD_COUNT/SUIT_COUNT) + j;
fields[index] = new JTextField(" ");
fields[index].setEditable(false);
fields[index].setPreferredSize(new Dimension(50, 50));
fields[index].setBorder(BorderFactory.createLineBorder(Color.BLACK,1));
panel.add(fields[index]);
panel.add(boxes[i]);
panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.BLACK,3),"WHEEL OF FORTUNE"));
}
}
}
Box b1 = Box.createVerticalBox();
b1.add(panel);
b1.add(Box.createVerticalStrut(5));
b1.add(Box.createHorizontalStrut(5));
add(b1);
}
public void actionPerformed(ActionEvent e)
{
}
}
import java.awt.*;
导入java.awt.event.*;
导入javax.swing.*;
公营信笺扩展JPanel
实现ActionListener
{
私有JTextField[]字段=新JTextField[TEXT_FIELD_COUNT];
私人包厢[]包厢=新包厢[诉讼数量];
私有静态整型文本\字段\计数=14;
私有静态int_计数=1;
颜色数据绿色=新颜色(0、180、100);
公众信箱()
{
挫折背景(颜色:灰色);
JPanel面板=新JPanel(新网格布局(4,1));
面板.立根背景(绿色);
对于(int t=0;t也许我没有抓住要点,但我认为没有必要使用所有的框
属性
我只是简单地修改了GridLayout
,将14列作为优先于行的布局,并删除了所有框
内容
public LetterBoard() {
setBackground(Color.GRAY);
JPanel panel = new JPanel(new GridLayout(0, 14));
panel.setBackground(datGreen);
for (int t = 0; t < 4; t++) {
for (int i = 0; i < boxes.length; i++) {
for (int j = 0; j < TEXT_FIELD_COUNT / SUIT_COUNT; j++) {
int index = i * (TEXT_FIELD_COUNT / SUIT_COUNT) + j;
fields[index] = new JTextField(" ");
fields[index].setEditable(false);
fields[index].setPreferredSize(new Dimension(50, 50));
fields[index].setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
panel.add(fields[index]);
}
}
}
panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.BLACK, 3), "WHEEL OF FORTUNE"));
add(panel);
}
公共信箱(){
挫折背景(颜色:灰色);
JPanel面板=新JPanel(新网格布局(0,14));
面板.立根背景(绿色);
for(int t=0;t<4;t++){
对于(int i=0;i
所有的框
都在每行末尾添加了一个额外的“列”…您是否尝试过打包您的board容器?