swing 页面跳转 下一步怎么显示新页面
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class NewJFrame extends JFrame{
private JFileChooser chooser;
private JTextField testfield;
JPanel card;
public NewJFrame(){
this.setTitle("aaa");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createPanel(this.getContentPane());
}
private void createPanel(Container pane){
card = new JPanel();
JButton button0 = new JButton("xxxxxxxxx");
card.add(button0);
JPanel card2 = new JPanel();
testfield = new JTextField("",20);
card2.add(testfield);
JButton button = new JButton("选择文件目录");
button.addActionListener(new CreateAdd_field_actionAdapter(this));
card2.add(button);
JButton button2 = new JButton("下一步");
button2.addActionListener(new CreateAdd_next_actionAdapter(this));
card2.add(button2);
pane.add(card2);
}
void field_actionPerformed(ActionEvent e){
chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
//
// disable the "All files" option.
//
chooser.setAcceptAllFileFilterUsed(false);
//
if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
testfield.setText(chooser.getSelectedFile().toString());
System.out.println("getCurrentDirectory(): "
+ chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : "
+ chooser.getSelectedFile());
} else {
System.out.println("No Selection ");
}
}
void next_actionPerformed(ActionEvent e){
System.out.println("xxxxxxxxxxxxxx");
this.getContentPane().removeAll();//删去前一个JPanel
this.getContentPane().add(card);//添加新的界面
this.getContentPane().repaint();
}
public static void main(String arg[]){
NewJFrame frame = new NewJFrame();
frame.setLocation(300, 200);
frame.setSize(400, 300);
frame.setVisible(true);
}
}
class CreateAdd_field_actionAdapter implements ActionListener{
private NewJFrame adaptee;
CreateAdd_field_actionAdapter(NewJFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.field_actionPerformed(e);
}
}
class CreateAdd_next_actionAdapter implements ActionListener{
private NewJFrame adaptee;
CreateAdd_next_actionAdapter(NewJFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.next_actionPerformed(e);
}
}