| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 691 人关注过本帖
标题:[求助]关于JAVA面板问题
只看楼主 加入收藏
hackfeng
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-1-8
收藏
 问题点数:0 回复次数:2 
[求助]关于JAVA面板问题

本人初学JAVA,老师让编一个网吧收费系统(呵呵,类似的,不过是单机版的),我把界面做好了,想法是点击"上机"按钮,面板就换成上机面板,点击"下机"按钮,面板就换成下机面板,或者点击按钮弹出上机对话框或下机对话框也行,可以进行下一步的操作.
但是现在有一个问题,我点"上机"按钮或"下机"按钮时,面板也不切换,整了一下午也没整明白,恳请哪个高人指点一下,或者帮我把代码改一改,代码如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class NetBar extends JFrame
{
JButton upbut = new JButton("上机");
JButton downbut = new JButton("下机");
JButton setbut = new JButton("查询");
JButton helpbut = new JButton("帮助");
JTextArea ta = new JTextArea("欢迎使用");
JTextArea ta1 = new JTextArea("上机");
JTextArea ta2 = new JTextArea("下机");
JTextArea ta3 = new JTextArea("查询");
JTextArea ta4 = new JTextArea("帮助");
JPanel upPanel = new JPanel();
JPanel downPanel = new JPanel();
JPanel setPanel = new JPanel();
JPanel helpPanel = new JPanel();
JPanel p = new JPanel();
Container c=getContentPane();
public NetBar()
{
getContentPane().setLayout(new BorderLayout());
p.add(upbut);
p.add(downbut);
p.add(setbut);
p.add(helpbut);
upPanel.add(ta1);
downPanel.add(ta2);
setPanel.add(ta3);
helpPanel.add(ta4);
getContentPane().add(p,BorderLayout.NORTH);
getContentPane().add(ta,BorderLayout.CENTER);
getContentPane().add(upPanel,BorderLayout.CENTER);
getContentPane().add(downPanel,BorderLayout.CENTER);
getContentPane().add(setPanel,BorderLayout.CENTER);
getContentPane().add(helpPanel,BorderLayout.CENTER);
upbut.addActionListener(new Up());
}
public static void main(String []args)
{
NetBar nb = new NetBar();
nb.setTitle("网吧收费系统");
nb.setSize(400,400);
nb.show();
}

class Up implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("上机"))
{
//ta.setBackground(Color.red);
ta1.show(true);
ta.hide();
}

}
}
}

搜索更多相关主题的帖子: JAVA 面板 
2006-04-16 15:35
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class NetBar extends JFrame
{
JButton upbut = new JButton("上机");
JButton downbut = new JButton("下机");
JButton setbut = new JButton("查询");
JButton helpbut = new JButton("帮助");
JTextArea ta = new JTextArea("欢迎使用");
JTextArea ta1 = new JTextArea("上机");
JTextArea ta2 = new JTextArea("下机");
JTextArea ta3 = new JTextArea("查询");
JTextArea ta4 = new JTextArea("帮助");
JPanel upPanel = new JPanel();
JPanel downPanel = new JPanel();
JPanel setPanel = new JPanel();
JPanel helpPanel = new JPanel();
JPanel p = new JPanel();
Container c=getContentPane();
public NetBar()
{
ta1.setVisible(false);
ta2.setVisible(false);
ta3.setVisible(false);
ta4.setVisible(false);
getContentPane().setLayout(new FlowLayout());
p.add(upbut);
p.add(downbut);
p.add(setbut);
p.add(helpbut);
upPanel.add(ta1);
downPanel.add(ta2);
setPanel.add(ta3);
helpPanel.add(ta4);
getContentPane().add(p);
getContentPane().add(ta);
getContentPane().add(upPanel);
getContentPane().add(downPanel);
getContentPane().add(setPanel);
getContentPane().add(helpPanel);
upbut.addActionListener(new Up());
}
public static void main(String []args)
{
NetBar nb = new NetBar();
nb.setTitle("网吧收费系统");
nb.setSize(400,400);
nb.show();
}

class Up implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("上机"))
{
//ta.setBackground(Color.red);
ta1.setVisible(true);
ta.setVisible(false);
}

}
}
}

还有很多你自己去改,并且你只是为上机添加了事件处理,别的按钮都没有
还有,你要显示文字没有必要用JTextArea,用JLabel就可以了
你的程序之所以会错,是因为你用的是BorderLayout的布局,而后来你又总是把组件放在它的BorderLayout.CENTER,这样 的话,后来的组件就会把前面的组件盖掉,所以你就看不到前面添加进来的组件了。


可惜不是你,陪我到最后
2006-04-16 16:20
hackfeng
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-1-8
收藏
得分:0 
谢谢版主,可是这样用FlowLayout布局的话,面板就在按钮的右方了,只有把窗体调小面板才能出现在下方,有什么方法可以使面板终于在按钮的下方吗,不管窗体怎么调

如果一个人不知道他要驶向哪个码头,那么任何风都不会是顺风。
2006-04-16 20:07
快速回复:[求助]关于JAVA面板问题
数据加载中...
 
   



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

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