gpt4 book ai didi

Java代码需要限制用户输入

转载 作者:行者123 更新时间:2023-12-02 07:01:25 26 4
gpt4 key购买 nike

我的代码遇到严重问题。

我有一个 swing JDBC 代码,我需要填充一个包含姓名、地址和 ID 的表,该表与表的 ID 不同。我为它创建了一个 Swing 输入代码,但是,我希望它不包含 ID 号的可能性 - 因此,为了使 Swing 除了名称和地址能够由用户设置之外什么都没有,而不是显示根本没有ID。

有可能吗?

创建新的合作伙伴,其中包含名称、地址和 IdentityNumber 字符串,所有这些都是私有(private)的,并且它们的 getter 和 setter 是公开的。

{

protected final String FRAME_TITLE = "Vehicle Repository";
private DatabaseHandler dbHandler;
private JTabbedPane tabbedPane;
private JTable partnerTable;
private JpaControlledTableModel<Partner> partnerTableModel;

@Override
public void onCreate() {
setDefaults(FRAME_TITLE);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
dbHandler = new DatabaseHandler();
dbHandler.open();
tabbedPane = new JTabbedPane();

partnerTableModel = new AsyncFullQueryingTableModel<>(dbHandler.getPartnerJpaController(), dbHandler.getEntityClassesToControllersMap());
parterTable = new JTable(partnerTableModel);

tabbedPane.addTab("Partners", new JScrollPane(parterTable));
getContentPane().add(tabbedPane, BorderLayout.CENTER);
}

@Override
public JMenuBar createJMenuBar() {
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Data");
menuBar.add(menu);
JMenuItem menuItem;
menuItem = new JMenuItem(newPartnerAction);
menu.add(menuItem);
return menuBar;
}
private Action newPartnerAction = new AbstractAction("New parnter") {
@Override
public void actionPerformed(ActionEvent e) {
Partner partner = new Partner();
EntityEditorDialog<Partner> editorDialog = EntityEditorDialogFactory.createEditorDialog(partner, dbHandler.getPartnerJpaController());
editorDialog.setVisible(true);
if (partner.getId() != null) {
partnerTableModel.refresh();
}
}
};

private String getString(String message) {
return JOptionPane.showInputDialog(rootPane, message, "Data input", JOptionPane.QUESTION_MESSAGE);
}

private Partner getPartner(String message) {
Object[] partners = dbHandler.getPartnerJpaController().findEntities().toArray();
if (partners.length == 0) {
return null;
} else {
return (Partner) JOptionPane.showInputDialog(rootPane, message, "Data input", JOptionPane.QUESTION_MESSAGE, null, partners, partners[0]);
}
}

@Override
public void dispose() {
dbHandler.close();
super.dispose();
}
}

};

最佳答案

and not to show the ID at all

您可以从 JTable 中的显示中删除列:

table.removeColumn( table.getColumn(...) );

关于Java代码需要限制用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16625451/

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