我正在創建一個涉及訪客和選項卡窗格的簡短程序。我想對JTabbedPane進行編程,因此當我單擊某個選項卡時,將使用JComponent的makeTextPanel函數顯示訪客的信息。但是,它似乎在運行時忽略'\ n'(新行)。有沒有什麼辦法解決這一問題?如何在JTabbedPane JComponent面板中創建新行?
這是我的GUI:
JTabbedPane overview= new JTabbedPane();
JComponent accountinfo= makeTextPanel (guest.toString());
overview.addTab ("Account Overview", accountinfo);
overview.setMnemonicAt(0, KeyEvent.VK_1);
JFrame tabbed= new JFrame("AIR Reservation");
tabbed.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tabbed.add(overview);
tabbed.setSize(500,300);
tabbed.setLocationRelativeTo(null);
tabbed.setVisible(true);
這是我的客戶類的toString方法:
public String toString()
{
customerstring= "Name: " + getName();
customerstring+= "\nGender: " + getGender();
customerstring+= "\nDate of Birth: " + getBirthDate();
customerstring+= "\nPassport number: " + getPassportNumber();
customerstring+= "\nBalance: " + getMoney();
return customerstring;
}
感謝您的幫助! 編輯:這裏的makeTextPanel方法:
protected JComponent makeTextPanel(String text)
{
JPanel panel = new JPanel(false);
JLabel filler = new JLabel(text);
filler.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1, 1));
panel.add(filler);
return panel;
}
JComponent.makeTextPanel()不存在。也許你向我們展示了這種方法的作用。 – 2013-04-04 17:52:40
哎呀,忘了包括。我編輯了我的帖子以包含該方法。謝謝! – nichi 2013-04-04 17:55:13