私のSwingアプリケーションには、「顧客の追加」ボタンのあるメインフレームがあります。「顧客の追加」ボタンをクリックすると、メインフレームが消えるときに顧客フォームが表示されます。顧客フォームには JTabbedPane しかありません。AddCustomerPanel は、キャンセル ボタンのみを持つ別のクラスです。AddCustomerPanel は、Customer フォームの JTabbedPane にタブとして追加されました。キャンセルボタンをクリックすると、Customer フレームが消え、メインフレームが再び表示されます。setVisible() メソッドを使用してみました。しかし、うまくいきませんでした。これを行うのを手伝ってください。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MainFrame extends JFrame{
private JButton btnMain;
MainFrame(){
setSize(400,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new FlowLayout());
btnMain = new JButton("Add Customer");
btnMain.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new Customer().setVisible(true);
this.setVisible(false); // Not working
}
});
add(btnMain);
}
public static void main(String args[]){
new MainFrame();
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Customer extends JFrame{
private JTabbedPane tabMain;
Customer(){
setSize(500,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new FlowLayout());
tabMain = new JTabbedPane();
tabMain.setPreferredSize(new Dimension(490,290));
tabMain.add("Add Customer",new AddCustomerPanel());
add(tabMain);
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class AddCustomerPanel extends JPanel{
private JButton btnCancel;
AddCustomerPanel(){
setSize(400,200);
setVisible(true);
setLayout(new FlowLayout());
btnCancel = new JButton("Cancel");
btnCancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
this.setVisible(false); // Not working
new MainFrame().setVisible(true);
}
});
add(btnCancel);
}
}