我从别人那里偷了个代码过来如下(注意中间注释掉的那两句):import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;/**
* @author bzwm
*
*/
public class A extends JFrame{
public A(){
final JPanel p1 = new JPanel();
final JPanel p2 = new JPanel(new FlowLayout());
JButton b = new JButton("ts...");
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
p2.add(new JButton("....."));
p2.validate();
}
});
p1.add(b);
//javax.swing.GroupLayout showGraphLayout = new //javax.swing.GroupLayout(p2);
//p2.setLayout(showGraphLayout);
add(p1, BorderLayout.NORTH);
add(p2, BorderLayout.CENTER);
setVisible(true);
setSize(300, 300);
}
public static void main(String args[]){
new A();
}
}这个代码的作用是:点击那个按钮,则在另一个panel上出现一个新的按钮。
如果把那两句去掉,这个代码就不能实现我想要的功能。这是为什么啊?如果以后我一定要用那两句,怎么修改才能得到我想要的东西啊?
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;/**
* @author bzwm
*
*/
public class A extends JFrame{
public A(){
final JPanel p1 = new JPanel();
final JPanel p2 = new JPanel(new FlowLayout());
JButton b = new JButton("ts...");
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
p2.add(new JButton("....."));
p2.validate();
}
});
p1.add(b);
//javax.swing.GroupLayout showGraphLayout = new //javax.swing.GroupLayout(p2);
//p2.setLayout(showGraphLayout);
add(p1, BorderLayout.NORTH);
add(p2, BorderLayout.CENTER);
setVisible(true);
setSize(300, 300);
}
public static void main(String args[]){
new A();
}
}这个代码的作用是:点击那个按钮,则在另一个panel上出现一个新的按钮。
如果把那两句去掉,这个代码就不能实现我想要的功能。这是为什么啊?如果以后我一定要用那两句,怎么修改才能得到我想要的东西啊?
//p2.setLayout(showGraphLayout); //这句不要代码的作用就可以了!