JTable без заголовка - PullRequest
       5

JTable без заголовка

17 голосов
/ 27 марта 2010

Может кто-нибудь сказать мне, как создать таблицу без заголовка таблицы?

Я создаю головоломку Судоку и хочу создать таблицу без заголовка таблицы на Java. Возможно ли это?

Ответы [ 5 ]

29 голосов
/ 27 марта 2010

Я не думаю, что вы хотите, чтобы ваше судоку прокручивалось, поэтому самый простой способ должен быть , а не , чтобы поместить ваш стол в JScrollPane, который отвечает за отображение заголовок:

alt text


Другой способ - позвонить

table.setTableHeader(null);
5 голосов
/ 24 сентября 2016

Если у вас есть проблемы с предлагаемыми методами, попробуйте следующее:

jTable.getTableHeader().setUI(null);

Это протестировано с Java 8.

3 голосов
/ 27 сентября 2015

Таким образом, хитрость заключается в том, чтобы сначала установить заголовок с помощью конструктора DefaultTableModel, а затем вызвать setTableHeader (null);

enter image description here

Вот демонстрационный код:

package net.raysforge.visual.demo;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class JTableAndGBC {

    private String[] columnNames = {"Source", "Hit", "Last", "Ur_Diff"};
    private JTable table;
    private Object[][] data = {{"Swing Timer", 2.99, 5, 1.01},
        {"Swing Worker", 7.10, 5, 1.010}, {"TableModelListener", 25.05, 5, 1.01}};
    private DefaultTableModel model = new DefaultTableModel(data, columnNames);

    public JTableAndGBC() {
        JPanel panel = new JPanel(new GridBagLayout());
        table = new JTable(model);
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.weightx = 1.0;
        gbc.fill = GridBagConstraints.HORIZONTAL;
        JScrollPane pane = new JScrollPane(table);
        table.setPreferredScrollableViewportSize(table.getPreferredSize());
        table.setTableHeader(null);
        panel.add(pane, gbc);
        JFrame frame = new JFrame();
        frame.add(panel, BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String args[]) throws Exception {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new JTableAndGBC();
            }
        });
    }
}
1 голос
/ 22 марта 2018

Манекены как я: сделайте это:]

jTable.setTableHeader(null);
0 голосов
/ 23 июня 2017

Попробуйте эти шаги :

JtableProperties> TableHeader> CustomCode> Null

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...