Tag: grid layout

有没有办法强制GridLayout留下空单元格?

我有一个JTabbedPane,其中2个JPanels设置为GridLayout(13,11)。 第一个JPanel有足够的单元格填充它离开空单元格。 第二个JPanel填充的单元格明显减少,这导致每个按钮被拉伸以填满整行。 有没有办法让GridLayout尊重空单元格,所以两个JPanels中的按钮大小相同?

你能为JFrame中的JPanel设置一个永久大小吗?

我目前的问题是我有一个带有2×2 GridLayout的JFrame。 在其中一个正方形内,我有一个显示网格的JPanel。 我正在与java swing库进行实地考察……看一看 图片 Java会自动扩展每个JLabel以适应屏幕。 我希望它只是那些蓝色方块(水)和黑色边框而不是那个灰色空间。 有没有办法我可以永久设置JPanel的大小,这样我就不必在获得精确尺寸之前将JFrame的大小改变一百万次,以便灰色空间消失? 我也想设置这些按钮的大小,因此它们不是那么大( BorderLayout用于按钮和TextField)

如何使用MouseListener查找网格中的特定单元格

我正在尝试创建一个由单元格组成的10 x 10网格的Java游戏。 网格看起来像这样: public class Grid extends JPanel implements MouseListener { public static final int GRID_SIZE = 10; public Grid() { setPreferredSize(new Dimension(300, 300)); setLayout(new GridLayout(GRID_SIZE, GRID_SIZE)); for (int x = 0; x < GRID_SIZE; x++) for (int y = 0; y < GRID_SIZE; y++) add(new Cell(x, y)); addMouseListener(this); } // All Mouse Listener […]

Java:无法将Gridlayout应用于Jscrollpane。 获取java.lang.ClassCastException

我使用Gridlayout将4个元素放在一行中。 首先,我有一个JPanel,一切正常。 对于行数变大而我必须能够向下滚动的情况,我改变了一点。 现在我的JPanel上添加了一个JScrollPane 。 我使用了相同的代码,现在我只是将元素添加到Jscrollpane的视口中,但现在我得到了这个exceptionGet java.lang.ClassCastException: layout of JScrollPane must be a ScrollPaneLayout: at javax.swing.JScrollPane.setLayout(Unknown Source)我不确切知道为什么。 为什么不应该为Jscrollpane不知道Jscrollpane ? 这是代码: public objectDetails() { setTitle(“LLI_MC_Solver”); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); contentPane = new JPanel(); contentPane.setLayout(new GridLayout()); setBounds(100, 100, 510, 401); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setVisible(true); contentPane.setPreferredSize(new Dimension(500, 390)); JScrollPane scrollPane = new JScrollPane(); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setViewportBorder(new LineBorder(new Color(0, 0, […]

我们如何在GridLayout中显示网格线?

我们如何在GridLayout中显示网格线? 在Java? JPanel panel = new JPanel(new GridLayout(10,10)); panel.setBorder(BorderFactory.createEmptyBorder(2,2,2,2)); for (int i =0; i<(10*10); i++){ panel.add(new JLabel("Label")); }

哪种布局可以做到这一点?

我正在尝试在我的应用程序中布局一些JLabel,如下例所示: 我总是把这个JLabel放在中间,其他JLabel的数量是可变的,它可以从1到30.我通过选择大量的列/行并在白色空间中设置一些空的JLabel来尝试网格布局但是我无法获得良好的结果,并且无法找到如何使用MigLayout ,任何人都有一个良好的布局解决方案或任何其他解决方案。 PS :我不想展示圆圈,只是为了表明JLabel排成一个圆圈。

Java:使用GridLayout输入矩阵

我正在尝试编写一个可以使用GridLayout输入任意大小的矩阵的函数,但是因为我找不到一个合适的方法来提取JTextField值来填充’mat’var(参见下面的FIXME) 。 /** * @mat: matrix declared in main (eg: mat[][] = new int[3][3];) * @rows: number of matrix rows (eg: int rows = 3;) * @columns: number of matrix columns (eg: int columns = 3;) */ public static int[][] inputMatrix(int[][] mat, int rows, int columns) { JPanel panel = new JPanel(); panel.setLayout(new GridLayout(rows,columns)); for […]

在GridLayout JPanel中访问本地定义的JButton

假设您在NxN网格中有一个JButtons的GridLayout,代码如下: JPanel bPanel = new JPanel(); bPanel.setLayout(new GridLayout(N, N, 10, 10)); for (int row = 0; row < N; row++) { for (int col = 0; col < N; col++) { JButton b = new JButton("(" + row + ", " + col + ")"); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); […]