Tag: jtable

水平滚动条在Java Swing中不能与JTable一起使用

我有一个JTable ,我在JScrollPane传递。 垂直滚动条显示正常,但水平滚动条不起作用。 我提供的代码是可编译的,只需将您的路径放在InputFile1字符串中并在该位置创建一个长文件。 我尝试了很多解决方案,但没有任何工作。 我有一个只有一列的表,该列包含文档中的行。 我需要垂直和水平滚动条。 请提出一些解决方案。 其他尝试: 案例1 : tab.setPreferredSize(new Dimension(400,400)); 如果我设置此项,垂直滚动条不起作用。 案例2: tab.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 如果我设置它,列宽会变得非常小。 如果我试图使它变大,那么它也不起作用,只显示水平滚动条但没有视口。 您可以取消注释并检查它们。 码: public class tablecreate extends JFrame implements ActionListener { JPanel mainPanel; tablecreate() throws IOException { mainPanel=new JPanel(); String InputFile1 = “/home/user/Desktop/a.txt”; BufferedReader breader1 = new BufferedReader(new FileReader(InputFile1)); String line1 = “”; line1 = breader1.readLine(); DefaultTableModel model1 […]

如何从jtextfield和comboboxes接收的值向Jtable添加数据行

我有一个JFrame表单,它有JTextField , JCombobox等,我能够将这些值接收到变量,现在我想在用户单击Add或类似的东西时将接收到的数据添加到新行中的JTable 。 我使用net-beans创建了JTable ,问题是将这些变量中的数据添加到表行的代码。 一个基本的例子将不胜感激。 我已经尝试过很多例子,并且已经将代码添加到了JButton ActionListener中,但没有发生任何事情。 我试过的例子是。 如何在JTable中添加行? 以及如何使用AbstractTableModel方法向JTable添加行? 任何帮助,将不胜感激。

JTable与复杂的编辑器

我有很多针对JTable的自定义编辑器,并且认为可用性,特别是关于使用键盘编辑的可用性是缺乏的,这是轻描淡写的。 这样做的主要原因是我的编辑器总是创建一个类似的(虽然通常更复杂)的情况: @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { JPanel container = new JPanel(); container.setLayout(new BorderLayout()); container.add(field, BorderLayout.CENTER); field.setText((String) value); container.add(new JButton(“…”), BorderLayout.EAST); return container; } IE是一个内部有多个组件的面板。 实际的文本编辑器是作为编辑器返回的组件的后代。 所以,从我所知的问题来看,除了渲染问题之外,JTable正在关注getTableCellEditorComponent方法返回的组件,因此当你按下一个突出显示单元格的键时,它会将焦点和按键按下到面板,认为是编辑器。 无论如何我可以通知JTable“真正的”编辑器是JTextfield吗? 在正确的组件上添加hacky requestFocusInWindow是不够的,因为按键不会被传递。

TableModel removeRow()定义

这是我的tableModel: public class d9tableModel extends AbstractTableModel { ArrayList cols = new ArrayList(); ArrayList<ArrayList> data = new ArrayList(); public d9tableModel() { // initial cols and data with database } @Override public int getRowCount() { return data.size(); } @Override public int getColumnCount() { return cols.size(); } @Override public Object getValueAt(int rowIndex, int columnIndex) { ArrayList selectedRow = […]

可编辑的JTable教程

是否有任何好的书籍或网站可以创建一个JTable ? 我想让一列可编辑。 我想实际将一个inheritance的JCheckBox组件(我们在这里创建)放入其中一个表列中,而不是仅仅将表放入JCheckBox ,因为它是一个可编辑的boolean字段。 我有JFC Swing Tutorial第二版的书,但我想知道是否有其他的例子我可以看一下并学习如何更好地处理表格。 这本书似乎只是把java的“踪迹”放在网上并把它放在书中。 我正在重新阅读这些东西,只是好奇是否有人找到了可能有助于更多的东西。

每次在JTable中添加新行时计算小计

如何在每次在JTable添加新行时计算小计? DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); int i = 0; double total123 = 0.0; int Row = model.getRowCount(); Payment pm = new Payment(); double sub_total123; //calculate sub_total;;; sub_total123 = Double.parseDouble(unit_price.getText()) * Integer.parseInt(order_quantity.getText()); pm.setSub_total(sub_total123); sub_total.setText(Double.toString(pm.getSub_total())); if (Row < 10) { model.addRow(new Object[]{product_id.getText(), product_name.getText(), Integer.parseInt(order_quantity.getText()), Double.parseDouble(unit_price.getText()), Double.parseDouble(sub_total.getText())}); } for (i = 0; i < Row; i++) { […]

如何在单击JButton时删除JTable中的当前行?

我在JTable有很多行,每行都有删除按钮。 我想在单击该行的删除按钮时删除当前行。 我怎样才能做到这一点? private JButton button; public MyTableButtonEditor1() { button = new JButton(“REMOVE”); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { DbUtility ViewEmployee =new DbUtility(); ViewEmployee.loadDriver(); ViewEmployee.connect(); ResultSet rs= ViewEmployee.executeDeleteQuery(Employeeid); JOptionPane.showMessageDialog(null, “Employee Removed”); } }); } 数据库连接 public ResultSet executeDeleteQuery(String Employeeid ) { PreparedStatement pstmt ; try { pstmt = conn.prepareStatement(“DELETE FROM employee WHERE […]

调整JTable的大小以适应行数

我有一个动态填充的JTable ,我希望表总是resize以适应行数。 我不希望任何滚动,因为表格在面板中,需要打印面板的内容。 我试过这个: Dimension d = itemsTable.getPreferredSize(); //scrollPane.setPreferredSize(new Dimension(d.width,itemsTable.getRowHeight()*itemsTable.getRowCount()+10)); itemsTable.setPreferredScrollableViewportSize(new Dimension(d.width,itemsTable.getRowHeight()*itemsTable.getRowCount()+1)) 但它似乎没有用。 public void getDetails(PosView pv){ Connection con = con(); DefaultTableModel model = (DefaultTableModel)pv.getItemsTable().getModel(); String date = null; double total = 0.0, paid = 0.0; try{ ps = con.prepareStatement(“SELECT DISTINCT AMOUNT_PAYABLE, AMOUNT_PAID, BALANCE, DATE FROM SALES WHERE PAYMENT_ID = ?”); ps.setString(1, paymentId); rs = […]

如何“动画”将行添加到JTable

我想在每次添加行时显示JTable。 我在下面写的代码向表添加一个新行,然后显示jtable 2秒,然后添加另一行,然后显示表。 但是jtable没有显示,它只在添加所有行后显示 Vector rowVector = null; while(rs.next()){ rowVector = new Vector(); for(int i=1;i<=columnCount;i++){ rowVector.add(rs.getString(i)); //System.out.print(rs.getString(i)); } System.out.println(rowVector.toString()); //data.add(rowVector); model.addRow(rowVector); JTable table1 = new JTable(model); JTableHeader header1 = table1.getTableHeader(); table1.setEnabled(false); header1.setResizingAllowed(false); header1.setReorderingAllowed(false); header1.setForeground(Color.white); header1.setBackground(Color.black); jpanedisplay.setViewportView(table1); jpanedisplay.getViewport().setBackground(Color.white); jpanedisplay.setBorder(BorderFactory.createLineBorder(Color.black)); Thread.sleep(3000); }

如何在jtable中添加图像旁边的文本?

我有一个三列jtable,并希望前两列有一个Imageicon和一个紧挨着它的字符串。 目前我正在展示ImageIcons DefaultTableModel model = new DefaultTableModel(rows, columns) { @Override public Class getColumnClass(int column) { switch (column) { case 0: case 1: return ImageIcon.class; case 2: return String.class; default: return Object.class; } } }; jTable.setModel(model); 我确实找到了这个,但不知道是什么…或者如何在jtable中设置ImageIcon和字符串: Java – 是否可以将图像和String放在同一个JTable单元中? 任何帮助将不胜感激。