[英]How can I take the name of my Object and show it into the Title of the JFrame
我想在ArrayList中使用第一个对象的名称,但是我真的不知道该怎么做。 我使用的这个名称应该是我的JFrame的标题。
这是我的JFrame:
public class TransactionFrame extends JFrame implements ActionListener {
private Transaction trans;
private Bank bank;
private Customer customer;
private Account acc;
private Toolkit t;
private int x=0, y=0, width=800, height = 600;
public TransaktionFrame(Konto konto) throws HeadlessException {
super();
this.konto = konto;
t = Toolkit.getDefaultToolkit();
Dimension d = t.getScreenSize();
x = (int)((d.getWidth() - width) / 2);
y = (int)((d.getHeight()- height)/ 2);
setTitle("Application Java" );
setBounds(x, y, width, height);
setVisible(true);
}
}
下一个是我的类Menue,带有一个称为InitOfObjects的方法
public class Menue {
private Bank bank = new Bank();
private Account account = new Account();
private Customer customer= new Customer();
public void initOfObjects(){
Customer customer1 = new Privatecustomer("Ragnar", "Lothbrok", "017634456657", "Lothbrok@ragnar.de", "15.07.1979",
new Adress("Ragnarstraße", "22", "12159", "Berlin"), "2");
bank.addCustomer(customer1);
Kunde customer2 = new Companycustomer("Varian", "Lothbrok", "017634456657", "Lothbrok@ragnar.de", "15.07.1979",
new Adress("Ragnarstraße", "22", "12159", "Berlin"), "2");
bank.addCustomer(customer2);
Customer customer3 = new Privatecustomer("Rengar", "Lothbrok", "017634456657", "Lothbrok@ragnar.de", "15.07.1979",
new Adress("Ragnarstraße", "22", "12159", "Berlin"), "2");
bank.addCustomer(customer3);
}
}
我的银行课程:
public class Bank {
private String name;
private String bic;
private Adress adress;
private ArrayList<Customer> customerList;
public Bank() {
super();
this. customerList = new ArrayList<Customer>();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getbIC() {
return bic;
}// end of getbIC()
public void setbIC(String bic) {
this.bic = bic;
}
public Adress getAdress() {
return adress;
}
public void setAdress(Adress adress) {
this.adress = adress;
}
public int sizeOfArraylist(){
return customerList.size();
}
public Customer get(int index){
return customerList.get(index);
}
public ArrayList<Customer> getCustomerList() {
return customerList;
}// end of getCustomerList()
public void setCustomerList(ArrayList<Customer> customerList) {
this. customerList = customerList;
}
public boolean addAccount(Account account) {
for (Customer c : customerList) {
if (c.getCustomerNumber().equals(account.getCustomerNb())) {
boolean sucess = k.addAccount(account);
return sucess;
}
}
return false;
}
public void addCustomer(Customer customer) {
this.customerList.add(customer);
}
@Override
public String toString() {
return "Bank [Name= " + name + ", BIC= " + bic + ", Adress= " + adress + ", Customer= " + customerList + " ]";
}
}
我的客户类别:
public class Customer implements Comparator<Customer> {
protected String customerNumber;
private Adress adress;
protected ArrayList<Account> account;
public Customer(String cnb, Adress adress) {
super();
this.customerNumber = cnb;
this.adress = adress;
}
public Customer(String customerNumber) {
this.customerNumber = customerNumber;
}
public Customer() {
}
public Adress getAdress() {
return adress;
}
public void setAdress(Adress adress) {
this.adress = adress;
}
public String getCustomerNumber() {
return customerNumber;
}
public Customer setCustomerNumber(String customerNumber) {
this.customerNumber = customerNumber;
return this;
}
public ArrayList<Account> getAccount() {
return account;
}
public boolean addAccount(Account acc) {
if (account == null)
account = new ArrayList<Account>();
if (account.size() > 10)
return false;
account.add(k);
return true;
}
@Override
public int compare(Customer o1, Customer o2) {
return o1.customerNumber.compareTo(o2.customerNumber);
}
}
我的私人客户课程(相关课程的简称):
public class Privatecustomer extends Customer {
private String firstname;
private String lastname;
private Adresse adress;
private String customerNumber;
public Privatkunde(String firstname, String lastname, Adress adress, String kndnr) {
super(kndnr, adress);
this.firstname = firstname;
this.lastname = lastname;
this.adresse = adress;
this.customerNumber = cnb;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname () {
return lastname;
}
public void setLastname (String lastname) {
this.lastname = lastname;
}
public Adress getAdress() {
return adress;
}
public void setAdress(Adress adress) {
this.adress = adress;
}
}
我的公司客户类别(相关简称):
public class Companycustomer extends Customer {
private String companyName;
private Adresse adr;
public Companycustomer(String companyName, Adress adress, String customerNumber) {
super(customerNumber, adress);
this.companyName = firmenName;
this.adr = adress;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public Adresse getAdr() {
return adr;
}
public void setAdr(Adress adr) {
this.adr = adr;
}
私人客户和公司客户从客户扩展。 我只想说代码实际起作用。 我只想知道如何提取客户的姓名和姓氏以及公司客户的姓名。 我为什么使用Swing,因为老师说了。 我很想学习javafx,但是老师说不。 如果您需要更多代码,请给我写信。 我真的是Java新手。
最好的问候Maskulin
下面是相同的伪代码,
Menue menu = new Menue();
menu.initOfObjects();//populate list of customers
Bank bankObj=menu.getBank();
List<Customer> customers=bankObj.getCustomers();//get List of customers
if(customers!=null && customers.size()>0)
setTitle(customers.get(0).getCustomerName() );//get First customer details
我对您的完整问题不是很确定,但是我想我知道您想要什么,所以我会发挥一些想象力来回答您。
我假设您正在谈论的ArrayList位于Bank类的字段银行中,并且您正在通过Menue类存储所有帐户,所以第一步是在两个类中都创建一个getter:
public class Bank {
...
ArrayListz<Customer> list;
public int size()
{
return list.size();
}
// Notice that this WILL ASSUME that index is < than size
public Customer get(int index)
{
return list.get(index);
}
}
public class Menue {
...
public Customer getCustomer(int index)
{
// If element exists at 'index', return it. If it doesn't, return null
return index >= bank.size() ? null : bank.get(index);
}
}
您需要“ 客户”字段值,因此您需要在正确的类中执行上述类似操作。 现在,您可以访问所需的所有信息,因此,假设您已在JFrame类中正确初始化了字段库 ,则可以执行以下操作:
public class TransactionFrame extends JFrame implements ActionListener {
private Bank bank;
...
public TransaktionFrame(Konto konto) throws HeadlessException {
super();
...
//this will return the name of the first customer
Customer customer = bank.getCustomer(0);
String name = customer == null ? "" : customer.getName();
...
setTitle(name); //this will use the name of your the first customer as the title of the JFrame
}
}
我不确定这是否可以解决您的问题,但希望对您有所帮助:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.