这个问题应该是很简单的,仔细掌握了SWING包,这个问题就自动解决了
----------------解决方案--------------------------------------------------------
10楼的看不起人干什么 你懂你了不起啊
我刚学的是来解决问题的 你告诉我就不要说话
----------------解决方案--------------------------------------------------------
我自己再看看吧
----------------解决方案--------------------------------------------------------
[CODE]import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Untitled1 extends JFrame implements ActionListener
{
JPanel jp1,jp2,jp3;
JButton jb1,jb2;
JLabel jl,jll;
BorderLayout br;
public void test()
{
setTitle("1234");
br = new BorderLayout();
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jl = new JLabel("12345");
jll = new JLabel("54321");
jb1 = new JButton("first");
jb2 = new JButton("second");
jp3.setLayout(new FlowLayout());
jp1.add(jl);
jp2.add(jll);
jp3.add(jb1);
jp3.add(jb2);
Container con=getContentPane();
con.add(jp1,BorderLayout.SOUTH);
con.add(jp2,BorderLayout.WEST);
con.add(jp3);
jp1.setVisible(true);
jp2.setVisible(false);
setSize(400, 300);
setVisible(true);
jb1.addActionListener(this);
jb2.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb1)
{
jp1.setVisible(false);
jp2.setVisible(true);
}
if(e.getSource()==jb2)
{
jp1.setVisible(true);
jp2.setVisible(false);
}
}
public static void main(String[] args)
{
Untitled1 ts = new Untitled1();
ts.setDefaultCloseOperation(EXIT_ON_CLOSE);
ts.test();
}
}[/CODE]
只做了下修改 长时间不打Swing代码 有的我都忘了
[此贴子已经被作者于2006-9-22 13:04:54编辑过]
----------------解决方案--------------------------------------------------------
这学期大三了居然要学VB这个程序 也就在昨天也不知是前天刚做的 哎 VB的开发效率就是高啊 简单易学 就是写的代码比较乱 没有章法 以后的维护也很难....
----------------解决方案--------------------------------------------------------
谢谢斑竹了!可是运行下来连JFrame都没有出来!不过斑竹的意思我明白了!
[此贴子已经被作者于2006-9-24 1:33:15编辑过]
----------------解决方案--------------------------------------------------------
好久没写swing都有些忘了
水影的程序可以,而你的程序不可以就是因为添加在JFrame里面的时候是直接用add()来加的
如果不布局的话 是jpanel填满了jframe 这样jp1自然就被jp2给挡上了
水影将按钮单独拿出来了 放在单独的jp3中就为了不被覆盖
我安你的意思把按钮放在个自的jpanel里了
不过感觉没有水影的好看
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test extends JFrame implements ActionListener
{
JPanel jp1,jp2;
JButton jb1,jb2;
JLabel jl,jll;
BorderLayout br;
public Test()
{
setTitle("1234");
br = new BorderLayout();
jp1 = new JPanel();
jp2 = new JPanel();
jl = new JLabel("12345");
jll = new JLabel("54321");
jb1 = new JButton("first");
jb2 = new JButton("second");
jp1.add(jl);
jp1.add(jb1);
jp2.add(jll);
jp2.add(jb2);
Container con=getContentPane();
con.add(jp1,BorderLayout.EAST);
con.add(jp2,BorderLayout.WEST);
setVisible(true);
jp1.setVisible(true);
jp2.setVisible(false);
setSize(400, 300);
jb1.addActionListener(this);
jb2.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb1)
{
jp1.setVisible(false);
jp2.setVisible(true);
}
if(e.getSource()==jb2)
{
jp1.setVisible(true);
jp2.setVisible(false);
}
}
public static void main(String[] args)
{
Test ts = new Test();
ts.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
----------------解决方案--------------------------------------------------------
不知道是不是我的JB有问题,斑竹的程序运行后只是一个空白的JFrame!
----------------解决方案--------------------------------------------------------
那就是你的问题了 把代码单纯用javac java命令调试一下
----------------解决方案--------------------------------------------------------
VB的用途很大的,有你想不到的,没有VB做不到的。
好好努力
----------------解决方案--------------------------------------------------------