Я пишу простое приложение Swing.Я не могу понять, почему имя столбца не отображается?Вот мой код:
public class HistoryFrame extends JFrame{
public JTable tbProducts=new JTable();
public JButton makePayButton;
public JPanel panel;
public PaymentServiceInterface paymentService=new PaymentService();
public HistoryFrame(){
setTitle("History of Payments");
setSize(500,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel=new JPanel();
this.add(panel);
DisplayData(paymentService.getData());
ActionListener makePayAction=new PayAction();
addRegUserButton("Make Payment",makePayAction);
setVisible(true);
}
public JButton addRegUserButton(String label, ActionListener listener){
makePayButton=new JButton(label);
makePayButton.addActionListener(listener);
panel.add(makePayButton);
return makePayButton;
}
private void DisplayData(List<Payment> objectList) {
DefaultTableModel aModel = new DefaultTableModel() {
//setting the jtable read only
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
//setting the column name
Object[] tableColumnNames = new Object[3];
tableColumnNames[0]="User";
tableColumnNames[1] ="Payment";
tableColumnNames[2]="Date";
aModel.setColumnIdentifiers(tableColumnNames);
if (objectList == null) {
this.tbProducts.setModel(aModel);
return;
}
Object[] objects = new Object[3];
ListIterator<Payment> lstrg = objectList.listIterator();
//populating the tablemodel
while (lstrg.hasNext()) {
Payment p = lstrg.next();
objects[0]=p.getUser().getName();
objects[1]=p.getPayment();
objects[2]=p.getDate();
aModel.addRow(objects);
}
//binding the jtable to the model
this.tbProducts.setModel(aModel);
panel.add(tbProducts);
}
Я хочу знать, как я могу обеспечить авторизацию пользователя и аутентификацию в свинг-приложении?Что-то вроде веб-приложений, когда есть сеанс, и я вставил в него, например, имя пользователя, и я смог получить его где угодно.В этом приложении одной из задач обеспечить зарегистрированного пользователя оплаты, но как я могу получить его имя после входа в систему?