我有2個類,mainFrame和panel。通過單擊mainFrame上的按鈕,我可以從另一個類調用面板,並將其設置在JFrame(mainFrame類)中的選項卡式窗格中。現在,我在面板類的面板上還有另一個按鈕(btnRemove)。所以當我點擊那個按鈕時,我想從mainFrame類的選項卡窗格中移除我的面板。我如何正確編寫我的聽衆?通過面板上的按鈕從JTabbedPane中移除面板
大型機級:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class MainFrame extends JFrame {
JTabbedPane tPane = new JTabbedPane();
JButton btn = new JButton("Add panel");
public MainFrame(){
setSize(400,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setLayout(new BorderLayout());
add(tPane, BorderLayout.CENTER);
add(btn,BorderLayout.NORTH);
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
panel p = new panel();
tPane.add("Panel",p);
}
});
}
public static void main(String[] args){
new MainFrame();
}
}
面板類:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Panel extends JPanel{
JButton btnRemove = new JButton("Remove panel");
public Panel(){
setLayout(new FlowLayout());
add(btnRemove);
btnRemove.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
}
});
}
}
你想刪除面板,,或整個標籤?順便說一句,不要擴展'JFrame'或'JPanel' - 而應該有一個框架實例和一個產生'JPanel'的方法。2)不要調用setSize()。3)使用'JFrame.DISPOSE_ON_CLOSE' 4)在添加組件並調用pack()後,不要調用'setVisible(true)'。 5)應該在EDT上創建和更改GUI。 6)請學習常見的[Java命名約定](http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#73307)(具體用於名稱的情況) ,方法和屬性名稱並一致使用。 –