gpt4 book ai didi

java - 将外部类中的新数据插入 Jtable

转载 作者:行者123 更新时间:2023-12-04 05:13:29 25 4
gpt4 key购买 nike

我是 Stack Overflow 的新手,正在寻找有关我在大学一直在研究的 Java 应用程序的一些帮助。

我的问题是,如何使用按钮 Action 监听器事件将 Jtextfield(在外部类中)中的整数插入到 Jtable 中。

我的代码是:

外部类按钮代码将 jtextfield 整数插入表

   package banknew;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;



public class CheckingAccount extends BANKNEW
{

final JButton DepositAmount = new JButton("Deposit");
final JTextField tAmount = new JTextField();

public void CheckingAccount() {
String title = "Checking Account";
JFrame checkingAccount = new JFrame(title);

checkingAccount.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
checkingAccount.setSize(400, 200);
checkingAccount.setLocation(checkingAccount.getHeight() / 2, checkingAccount.getWidth() / 2);

final JLabel error = new JLabel("");
checkingAccount.add(error, BorderLayout.SOUTH);
error.setVisible(true);
error.setLocation(5, 600);


JMenuItem file1 = new JMenuItem("Checking Account");
JMenuItem file2 = new JMenuItem("Checking Accounts");
JMenuItem file3 = new JMenuItem("Checking Accounts");
JMenuItem file4 = new JMenuItem("Bank Account");
JMenuItem file5 = new JMenuItem("Close");



JMenu filemenu = new JMenu("File");
filemenu.add(file1);
filemenu.add(file2);
filemenu.add(file3);
filemenu.addSeparator();
filemenu.add(file4);
filemenu.addSeparator();
filemenu.add(file5);

JMenuBar menubar = new JMenuBar();
menubar.add(filemenu);
checkingAccount.setJMenuBar(menubar);
BorderLayout border = new BorderLayout();
filemenu.setLayout(border);
checkingAccount.setVisible(true);





/**
* ****************************************
* Create Second JPanel - Buttons & ComboBox .
*****************************************
*/
JPanel abuttons1 = new JPanel();
checkingAccount.add(abuttons1);
//abuttons1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
abuttons1.setBorder(BorderFactory.createTitledBorder(""));

JButton Withdraw = new JButton("Withdraw");
JLabel transBankName1 = new JLabel("Account Name:");
JLabel transAmount = new JLabel("Amount:");


final JTextField tBankName1 = new JTextField(20);
final JComboBox AccountName = new JComboBox();
AccountName.setEditable(false);
AccountName.setMaximumSize(new java.awt.Dimension(100, 20));
AccountName.setBorder(javax.swing.BorderFactory.createEtchedBorder());

transBankName1.setMaximumSize(new java.awt.Dimension(100, 20));
transAmount.setMaximumSize(new java.awt.Dimension(100, 20));
tAmount.setMaximumSize(new java.awt.Dimension(100, 20));
tBankName1.setMaximumSize(new java.awt.Dimension(00, 20));

abuttons1.setLayout(new GridLayout(5, 1, 5, 5));
abuttons1.add(transBankName1);
abuttons1.add(AccountName);
abuttons1.add(transAmount);
abuttons1.add(tAmount);

abuttons1.add(Withdraw);
abuttons1.add(DepositAmount);
abuttons1.setLocation(0, 0);
abuttons1.setSize(300,200);

DepositAmount.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (table.getSelectedRow() > -1) {
// assuming from your code that you want to set the
// textfield's value at the table's selected row
try {
Integer amount = Integer.parseInt(tAmount.getText());
table.getModel().setValueAt(amount, table.getSelectedRow(), 4);
} catch (NumberFormatException nfe) {
// User did not provide a number.
// do nothing? show dialog? you name it!
}
}
}
});
}


}
  • External 类有一个带有文本字段和“存款”按钮的 GUI。
  • 主类有一个带有 5 列 JTable 的 GUI

  • 我想要做的就是拥有一个带有 Button 的外部扩展类,然后单击按钮将数量从本地文本字段插入到主 Jtable 中,如带有“abc”表模型的代码所示。

    我搜索过谷歌和堆栈溢出,但大多数帖子都与 SQL 或数据库链接有关。

    如果有人能指出我正确的方向,我将不胜感激。

    谢谢

    编辑 2:复制并粘贴代码,然后尝试上传主类,复制后告诉我...

    最佳答案

    我有点不确定您的类(class)的全局设置。
    但是,如果 CheckingAccount 应该写入该表,则需要在其构造函数中提供对该表的引用。

    public class CheckingAccount {
    final JButton depositAmount = new JButton("Deposit");
    final JTextField tAmount = new JTextField();

    //Provide the JTable to the CheckingAccount when you construct it!
    public CheckingAccount(final JTable table) {
    depositAmountButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    if (table.getSelectedRow() > -1) {
    // assuming from your code that you want to set the
    // textfield's value at the table's selected row
    try {
    Integer amount = Integer.parseInt(textField.getText());
    table.getModel().setValueAt(amount, table.getSelectedRow(), 4);
    } catch (NumberFormatException nfe) {
    // User did not provide a number.
    // do nothing? show dialog? you name it!
    }
    }
    }
    });
    }
    }

    要了解有关如何使用 Swing 的更多信息,请查看 Oracle tutorials

    关于java - 将外部类中的新数据插入 Jtable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14601985/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com