当按下按钮2改变按钮1的大小的时候,如何刷新JPanel,使得这两个按钮重新排列,代码如下。public class FrameTest {
private JFrame jframe;
JButton jbutton1;
JButton jbutton2;
JPanel jj ; /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new FrameTest();
} public FrameTest() {
init();
}
public void init(){
jj = new JPanel();
jframe = new JFrame("mytreedemo");
jbutton1 = new JButton("RED");
jbutton2 = new JButton("BLUE");
jbutton2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jbutton1.setSize(new Dimension(100,28));
}
});
jj.add(jbutton1);
jj.add(jbutton2);
jframe.getContentPane().add(jj,BorderLayout.NORTH);
FontPanel fp = new FontPanel();
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension dm = kit.getScreenSize();
jframe.setBounds(dm.width/4,dm.height/4,400,300);
jframe.setExtendedState(JFrame.MAXIMIZED_HORIZ);
System.out.println(jframe.getExtendedState());
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try{
UIManager.setLookAndFeel(new MetalLookAndFeel());
}catch(Exception e){
e.printStackTrace();
}
}
}
private JFrame jframe;
JButton jbutton1;
JButton jbutton2;
JPanel jj ; /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new FrameTest();
} public FrameTest() {
init();
}
public void init(){
jj = new JPanel();
jframe = new JFrame("mytreedemo");
jbutton1 = new JButton("RED");
jbutton2 = new JButton("BLUE");
jbutton2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jbutton1.setSize(new Dimension(100,28));
}
});
jj.add(jbutton1);
jj.add(jbutton2);
jframe.getContentPane().add(jj,BorderLayout.NORTH);
FontPanel fp = new FontPanel();
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension dm = kit.getScreenSize();
jframe.setBounds(dm.width/4,dm.height/4,400,300);
jframe.setExtendedState(JFrame.MAXIMIZED_HORIZ);
System.out.println(jframe.getExtendedState());
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try{
UIManager.setLookAndFeel(new MetalLookAndFeel());
}catch(Exception e){
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent e){
jbutton1.setPreferredSize(new Dimension(100,28));
jj.revalidate();
// jbutton1.revalidate();
}
});
public void actionPerformed(ActionEvent e){
jbutton1.setSize(new Dimension(100,28));
jj.revalidate();
}
});
不行