我想在JFrame里添加2个JPanel,一开始第1个JPanel是显示的,第2个JPanel是隐藏的,然后在第一个JPanel里加入一个按钮,在按了这个按钮之后可以让第1个JPanel隐藏,第2个JPanel显示,可是我做的代码总是有错!哪位高人能帮我修改一下啊?
代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test extends JFrame{
JFrame jf;
JPanel jp1;
JPanel jp2;
JButton jb1;
JLabel jl;
JLabel jll;
BorderLayout br;
public void test(){
jf=new JFrame("²âÊÔ");
jf.setSize(400,300);
br=new BorderLayout();
jp1=(JPanel) jf.getContentPane();
jl = new JLabel("²»ÖªµÀ");
jll=new JLabel("Ëæ±ã");
jb1=new JButton("µãÎÒ");
jb1.add(jp1);
jl.add(jp1);
jll.add(jp2);
jf.add(jp1);
jf.add(jp2);
jf.setVisible(true);
jp1.setVisible(true);
jp2.setVisible(false);
jb1.addActionListener(new my());
}
class my implements ActionListener{
public void actionPormed(ActionEvent e){
jp1.setVisible(false);
jp2.setVisible(true);
}
}
public static void main (String [] args){
test ts=new test();
}
}
----------------解决方案--------------------------------------------------------
你直接把这两个JPanel加到窗体里面去不就可以了吗
点按钮加另外一个
----------------解决方案--------------------------------------------------------
我不是把2个JPanel加进去了吗!可是他报错我不会改啊!
----------------解决方案--------------------------------------------------------
public void actionPormed(ActionEvent e){
对吗|||||||???
是actionPerformed
----------------解决方案--------------------------------------------------------
代码改过来了,错误是没有了,可是我要的功能却没有!是我的思路错了吗?
----------------解决方案--------------------------------------------------------
更新一些比较大的组件,你要更新整个组件树才能完成更新的效果
可以调用
SwingUtilities.updateComponentTreeUI(Component c) 就可以了
----------------解决方案--------------------------------------------------------
我要更新的只是一个JPanel啊!要用到那个吗??为什么要用到那个啊??这是在哪个类里的组件啊??也是JFrame里的吗??
[此贴子已经被作者于2006-9-21 9:23:37编辑过]
----------------解决方案--------------------------------------------------------
SwingUtilities.updateComponentTreeUI(Component c)
c是最顶级的组件引用
----------------解决方案--------------------------------------------------------
不会用!
----------------解决方案--------------------------------------------------------