Tag: jtable

在选择行然后单击按钮时从多个表中获取数据

我尝试运行下面的代码,但每次运行它,它都不起作用。 任何人都可以强调我做错了吗? 代码应该做的是: 我必须在数据库中调用表r,另一个名为sa,表r包含列称为外键。 在我的java前端,我在jpanel中有一个Jtable,在另一个jpanel中有一个更新按钮。 当用户在jtable中选择一行然后单击“更新”时。 如果jtable r中的选定行具有sa id作为外键,该工具将显示来自文本框中的r的数据以及来自sa的数据。 代码 if(updateClicked == true){ btnSubmit.setVisible(false); btnUpdate.setVisible(true); btnNew.setEnabled(false); Statement st; PreparedStatement ps; ResultSet rs; try { String rid = table.getValue(0); JOptionPane.showMessageDialog(null, rid); String rq =”SELECT * FROM `r` WHERE ‘r_id`=’ “+rid+”‘”; ps = Login.con.prepareStatement(rq); rs = ps.executeQuery(); String saID = rs.getString(2); String q = “SELECT sa.Argument FROM […]

如何读取文件,将数据放入JTable,然后修改单元格/删除行并将数据保存到文件中?

我需要从.txt文件中读取日期,将其放入我的GUI中的JTable中,然后修改一些记录或删除一些行并将新数据保存到文件中。 我可以读取并显示JTable但如何使用GUI编辑日期或删除JTable中的某些行然后将其保存到文件中?

我想在单击Button时更新表

我是Swing的新手。 我想在点击按钮(完成按钮)后更新表格。 我认为数据正确但屏幕不起作用。 以下是我的计划的解释 选中复选框并单击完成按钮 底层应该改变。 没有主要的 这是我的代码: import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableModel; import net.miginfocom.swing.MigLayout; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Gui extends JFrame { class Table extends JTable{ public Table(DefaultTableModel model) { super(model); } public […]

一起使用TableCellRenderer和getColumnClass

当我将getcolumn类添加到我的abstracttablemodel时,我无法使用我的自定义TableCellRenderer来设置背景颜色。 (我用它来排序,对齐数字列) public Class getColumnClass(int columnIndex) { Object o = getValueAt(0, columnIndex); if (o == null) { return Object.class; } else { return o.getClass(); } } 这充满了我的代码。 import java.awt.*; import java.text.DecimalFormat; import javax.swing.*; import static javax.swing.JFrame.EXIT_ON_CLOSE; import javax.swing.table.*; public class DemoRenderer extends JFrame { public static void main( String[] args ) { DemoRenderer frame = […]

着色JTable细胞

我无法为我的JTable单元着色。 我正在做一个俄罗斯方块游戏。 游戏的所有function都有效; 按下按钮,键盘交互以移动片段,删除完整的行等。现在出现的输出只是打印出的表格整数值(参见屏幕截图)。 这些整数值指的是颜色。 我有代码根据下面的MyRenderer类中的所述整数值更改单元格的颜色,但不会发生着色。 我想知道是否有一些“rerender”方法我只是没有找到或者我是否需要构建自己的paint方法来调用? 有什么建议? startGame.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { card3.remove(0); // Removes button model = new MyTableModel(); table = new JTable(model); table.setDefaultRenderer(int.class, new MyRenderer()); table.setRowHeight(GRID_ROW_HEIGHT); table.setFocusable(false); table.setRowSelectionAllowed(true); for (int i = 0; i < NUM_COLS; i++) { table.getColumnModel().getColumn(i) .setPreferredWidth(table.getRowHeight()); } card3.add(table); JButton pauseButton = new JButton("Pause"); card3.add(pauseButton); […]

JTable的单元格渲染器 – 彩色行

我一直在四处寻找解决方案,我不能从不同的地方做头或尾,如何让我的桌子做有色行而不问我自己的问题。 从我看过的每一个地方,我都需要使用一个细胞渲染器,但问题是我不知道如何将它应用到我自己的情况。 所以我有一个简单的JTable 3列,我只想让每一行以绿色,黄色或红色突出显示,具体取决于单独变量的值(表中未显示)。 看起来它应该非常简单,但我无法做到这一点。 如果它有助于我的表定义如下: studentTableModel = new DefaultTableModel(new Object[]{“Name”, “StudentNo”, “Part”}, 0); jt_studentTable = new JTable(studentTableModel); jt_studentTable.getColumnModel().getColumn(2).setPreferredWidth(10); studentTableModel.addRow(new Object[]{“(empty)”, “(empty)”, “(empty)”}); JScrollPane jsp_tableScroller = new JScrollPane(jt_studentTable); jsp_tableScroller.setPreferredSize(new Dimension(200,190)); middleCentrePanel.add(jsp_tableScroller); 表中的行根据combobox的选择而变化。 提前致谢。

如何使删除按钮删除JTable中的行?

我尝试按键删除,但是当我选择单元格并按删除按钮时,它会输入所选单元格而不是删除整行。 如何在选择单元格时禁用“删除”按钮不执行任何操作? 野应。 我的GUI上有删除按钮,但我想为此按钮设置键盘快捷键。 我想在键盘上设置删除按钮来调用删除方法。 但是当我在选择单元格时按下它时,它会输入单元格而不是删除整行

从给定的Form中提取值

我想在单击按钮save提取值。 从JTextField和JTable行和列中提取值。 只是想大致了解如何提取和保存不同变量中的值。 我想在按钮保存下执行这些保存操作。 package build; import java.awt.*; import javax.swing.*; import com.jgoodies.forms.layout.FormLayout; import com.jgoodies.forms.layout.ColumnSpec; import com.jgoodies.forms.layout.RowSpec; import com.jgoodies.forms.factories.FormFactory; import javax.swing.table.DefaultTableModel; import javax.swing.border.TitledBorder; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Table_Edit { private JTextField textField; private JTable table; private String Table_Name = new String(); public Table_Edit() { JFrame frame = new JFrame(“Table”); frame.setSize(600, 400); frame.getContentPane().setLayout(new FormLayout(new ColumnSpec[]{ […]

如何将水平/垂直滚动条添加到JScrollPane

我想在我的JScrollPane中添加水平滚动条,因为我的表现在看起来如下所示: 这是我创建表的代码: this.table = new JTable(); this.table.setShowGrid(false); this.table.getTableHeader().setFont(ReportViewConstants.TABLE_FONT); this.table.setFont(ReportViewConstants.TABLE_FONT); this.scrollPane = new JScrollPane(this.table); Dimension size = new Dimension(300, 400); this.scrollPane.setPreferredSize(size); this.scrollPane.setMinimumSize(size); this.scrollPane.getViewport().setBackground(Color.WHITE); 你能指出我做错了什么吗? 当我更改行以创建JScrollPane时: this.scrollPane = new JScrollPane(this.table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 滚动条在那里,但我仍然无法水平滚动。 请参见下面的屏幕截图 谢谢!

TableModel setCellEditable并自动将值设置回false

我正在尝试在我的JTable中实现一个JPopupMenu,允许解锁一个单元格进行编辑 @Override public void actionPerformed(ActionEvent e){ if(e.getActionCommand() == “Unlock”){ pTableModel.setCellEditable(this.getSelectedRow(), this.getSelectedColumn(), true); } } 这是TableModel中的相关方法 public void setCellEditable(int row, int col, boolean value) { editableCells[row][col] = value; this.fireTableCellUpdated(row, col); // I don’t think I actually need this //because nothing in the cell has changed yet? } 然后isCellEditable()返回editableCells [] []数组的值。 但是在我的代码中,当焦点丢失时,我应该将单元格更改为无法编辑? 在一个稍微相关的说明中,我也想让细胞立即获得焦点。 我已经阅读了关于getEditorComponent().requestFocus() – 但这似乎不太对,因为当时没有编辑任何内容,只选择了单元格(并使用该方法抛出nullpointerexception,这似乎支持我的想法处理)。 有人能指出我正确的方向吗? […]