您好如何将渐变背景设置为列标题?我有Jtable:
JTable table = new JTable(4, 5);
Run Code Online (Sandbox Code Playgroud)
并尝试setColor: table.getTableHeader().setBackground(Color.blue);
但没有成功的列标题的颜色仍然相同,这些只是一种颜色,我需要渐变thx的帮助
Jtable不显示列标题.我正在使用向量来填充JTable,但它似乎仍然不起作用.这是代码:
public class InsertFileToJtable extends AbstractTableModel{
Vector data;
Vector columns;
private String[] colNames = {"col1","col2","col3","col4","col5","col6","col7","col8"};
public InsertFileToJtable() {
String line;
data = new Vector();
columns = new Vector();
try {
FileInputStream fis = new FileInputStream("ProcessList.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
StringTokenizer st1 = new StringTokenizer(br.readLine(), " ");
while (st1.hasMoreTokens())
columns.addElement(st1.nextToken());
while ((line = br.readLine()) != null) {
StringTokenizer st2 = new StringTokenizer(line, " ");
while (st2.hasMoreTokens())
data.addElement(st2.nextToken());
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public int …Run Code Online (Sandbox Code Playgroud) 我的JTable标识符不会显示.我已经尝试了很多不同的东西但是甚至没有一点变化......所以现在我在这里问.
我的代码:
public void showTable() {
String[] heads = {"PersonID", "Name", "Date", "Age"};
DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(heads);
model.setRowCount(4);
JTable table = new JTable(model);
int row = 2;
table.setValueAt("Test1", row, 0);
table.setValueAt("Test2", row, 1);
table.setValueAt("Test3", row, 2);
table.setValueAt("Test4", row, 3);
mainBackgroundManager.add(table, BorderLayout.CENTER);
}
Run Code Online (Sandbox Code Playgroud)
显示的是:

我也试过写这个,但这也不会起作用:
public void showTable() {
DefaultTableModel model = new DefaultTableModel();
model.setRowCount(4);
model.setColumnCount(4);
JTable table = new JTable(model);
table.getColumnModel().getColumn(0).setHeaderValue("PersonID");
table.getColumnModel().getColumn(1).setHeaderValue("Name");
table.getColumnModel().getColumn(2).setHeaderValue("Date");
table.getColumnModel().getColumn(3).setHeaderValue("Age");
int row = 2;
table.setValueAt("Test1", row, 0);
table.setValueAt("Test2", row, 1);
table.setValueAt("Test3", row, 2);
table.setValueAt("Test4", …Run Code Online (Sandbox Code Playgroud) 我正在为我的朋友开发一个软件.我开发了90%的项目,我的问题是我有一个表格,我在数据库中填充数据.我使用自定义表格模型来填充jtable.它完全填充数据,但问题是它不包含正确的列标题,而不是包含列标题的A,B,C.
这是我的自定义表模型类.
public class SellUpdateModel extends AbstractTableModel
{
private Vector<Vector> data;
public SellUpdateModel(String Jid)
{
data = new Vector<>();
data = new JobDetailsDAO().get_ItemDescriptionAndQuantity(Jid); //Retrive data from databse and fill it to vector.
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex)
{
return false; // does not allowed to edit cells
}
@Override
public int getRowCount()
{
return data.size();
}
@Override
public int getColumnCount()
{
return 3;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex)
{
return data.elementAt(rowIndex).elementAt(columnIndex);
}
public SellUpdateModel …Run Code Online (Sandbox Code Playgroud) 我在GroupableHeader中实现代码并尝试启用允许的重新排序,但我有两个问题:
1:拖动列时,标题没有看到列
2:如何限制列 的拖动区域以防止列的列退出
我不明白为什么标题在列拖动时看不到,我读了表头api但没有找到任何解决方案.解决这些问题的任何想法?
我有一个Jtable,其中我使用setDataVector函数设置数据.它工作正常,但假设我只是通过使用鼠标拖动更改了一些列宽,然后在同一个表中加载新数据然后该列的宽度重置到它的默认位置.所以基本上我想保留那个宽度,即使新数据加载.
我的错误是我的两个表的表头没有显示.现在我正在设置标题new JTable(data, columnNames).
这是一个显示我的问题的例子:
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
import net.miginfocom.swing.MigLayout;
public class Test extends JFrame {
private static final long serialVersionUID = -4682396888922360841L;
private JMenuBar menuBar;
private JMenu mAbout;
private JMenu mMain;
private JTabbedPane tabbedPane;
public SettingsTab settings = new SettingsTab();
private void addMenuBar() {
menuBar = new JMenuBar();
mMain = new JMenu("Main");
mAbout = new JMenu("About");
menuBar.add(mMain); …Run Code Online (Sandbox Code Playgroud) 我正在使用swing创建用户注册表单.某些标签显示不正确,也不显示列名.
以下是我的代码:
import java.awt.EventQueue;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.JTextField;
import java.awt.Insets;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JCheckBox;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.Window.Type;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollBar;
import java.awt.Scrollbar;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.ListSelectionModel;
public class UserRegistration {
private …Run Code Online (Sandbox Code Playgroud)