添加JTabbedPane的新選項卡我在這裏有兩個類:MainScreen和QueryScreen。 MainScreen已經在int上實現了一個JTabbedPane。 QueryScreen擴展了MainScreen。我嘗試通過QueryScreen添加一個調用一個事件的選項卡,但它不會在應用程序中顯示。結帳請示例代碼:通過事件
QuerryScreen:
public class QueryScreen extends MainScreen {
private JSplitPane engineList;
final JPanel queryList = new JPanel();
public QueryScreen(){
tabbedPane.addTab("Query List", queryList);
add(tabbedPane, BorderLayout.CENTER);
}
}
MainScreen:
public class MainScreen extends JFrame implements ActionListener {
/**
*
*/
JMenuBar bar;
JMenu file, register;
JMenuItem close, search;
ImageIcon image1= new ImageIcon("rsc/img/logo.jpg");
JLabel lbImage1;
JTabbedPane tabbedPane = new JTabbedPane();
final JPanel entrance = new JPanel();
/**
*
*/
public MainScreen()
{
lbImage1= new JLabel(image1, JLabel.CENTER);
entrance.add(lbImage1);
tabbedPane.addTab("Entrance", entrance);
add(tabbedPane, BorderLayout.CENTER);
bar= new JMenuBar();
file= new JMenu("File");
register= new JMenu("Search");
close= new JMenuItem("Close");
close.addActionListener(this);
search= new JMenuItem("Request Query");
search.addActionListener(this);
//Keyboard Shortcut
register.setMnemonic(KeyEvent.VK_S);
file.setMnemonic(KeyEvent.VK_F);
search.setMnemonic(KeyEvent.VK_R);
//Ibimage1.setVerticalTextPosition(SwingConstants.CENTER);
bar.add(file);
bar.add(register);
file.add(close);
register.add(search);
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); // Maximized Window or setSize(getMaximumSize());
setTitle("SHST");
setJMenuBar(bar);
setDefaultCloseOperation(0);
WindowListener J=new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
};
addWindowListener(J);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==close){
System.exit(0);
}
if(e.getSource()==search){
Search s= new Search();
s.setVisible(true);
}
}
}
PS:在MainScreen對象,從它的調用setVisible從只具有通話的運行類來臨這個MainScreen。
我該如何添加這個新選項卡?
在此先感謝
編輯一:
這是一個完整的[示例](http://stackoverflow.com/a/15715096/230513)。 – trashgod
爲了更好地提供幫助,請發佈[SSCCE](http://sscce.org/)。 –