| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1169 人关注过本帖
标题:替换问题
只看楼主 加入收藏
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
结帖率:33.33%
收藏
 问题点数:0 回复次数:21 
替换问题
我想在JFrame里添加2个JPanel,一开始第1个JPanel是显示的,第2个JPanel是隐藏的,然后在第一个JPanel里加入一个按钮,在按了这个按钮之后可以让第1个JPanel隐藏,第2个JPanel显示,这个代码该怎么写啊??我写了段还是有问题的!
搜索更多相关主题的帖子: 隐藏 
2006-09-20 18:57
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 

出了什么问题 发出来啊
还有代码


win32汇编
病毒 加密
目前兴趣所在
2006-09-20 20:40
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 

代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Untitled1
extends JFrame implements ActionListener {
JFrame jf;
JPanel jp1;
JPanel jp2;
JButton jb1;
JLabel jl;
JLabel jll;
BorderLayout br;
public void test() {
setTitle("1234");
br = new BorderLayout();
jp1 = (JPanel) getContentPane();
jp2 = (JPanel) getContentPane();
jl = new JLabel("12345");
jll = new JLabel("54321");
jb1 = new JButton("点我啊");
jb1.add(jp1);
jl.add(jp1);
jll.add(jp2);
this.setVisible(true);
jp1.setVisible(true);
jp2.setVisible(false);
setSize(400, 300);
jb1.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
this.setVisible(true);
jp1.setVisible(false);
jp2.setVisible(true);

}

public static void main(String[] args) {
Untitled1 ts = new Untitled1();
}
}

能够通过编译,可是运行下来什么都没有!要怎么改啊??


2006-09-21 01:41
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
你把所用东西放在test()方法里
却没有用它阿!!!!!
还有就是
jb1.add(jp1);
jl.add(jp1);
jll.add(jp2);
应该是jpanel.add(jbutton//jlabel);!!!!!!!!!!!!!!!!!!!!

win32汇编
病毒 加密
目前兴趣所在
2006-09-21 07:48
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 


太粗心了
可是为什么出来的面板上什么都没有啊???
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Untitled1
extends JFrame implements ActionListener {
JFrame jf;
JPanel jp1;
JPanel jp2;
JButton jb1;
JLabel jl;
JLabel jll;
BorderLayout br;
public void test() {
setTitle("1234");
br = new BorderLayout();
jp1 = (JPanel) getContentPane();
jp2 = (JPanel) getContentPane();
jl = new JLabel("12345");
jll = new JLabel("54321");
jb1 = new JButton("点我啊");
jp1.add(jl, java.awt.BorderLayout.CENTER);
jp1.add(jb1, java.awt.BorderLayout.WEST);
jp2.add(jll, java.awt.BorderLayout.CENTER);
jp1.setVisible(true);
jp2.setVisible(false);
setSize(400, 300);
setVisible(true);
jb1.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
jp1.setVisible(false);
jp2.setVisible(true);

}

public static void main(String[] args) {
Untitled1 ts = new Untitled1();
ts.setDefaultCloseOperation(EXIT_ON_CLOSE);
ts.test();
}
}


2006-09-21 13:31
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
jp1 = (JPanel) getContentPane();
jp2 = (JPanel) getContentPane();


这样得到的是重复的引用
当然会出问题
你直接构造两个 JPanel不就可以了吗

可惜不是你,陪我到最后
2006-09-21 13:34
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
斑竹我有些糊涂了,重新构造JPanel不用再添加到面板里了吗??如果要的话不是和我上面写的一样了吗?

2006-09-21 13:40
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 

你试一下jp1=new JPanel();jp2=new JPanel();
这样的


win32汇编
病毒 加密
目前兴趣所在
2006-09-21 21:26
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
添加了不行啊!什么JFrame里什么都没有,是空的!能不能给段代码啊!

2006-09-22 00:09
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
这代码一点可读性都没有,看也是浪费时间

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2006-09-22 00:15
快速回复:替换问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017685 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved