当前位置: 代码迷 >> Java相关 >> 关于javaGUI编程有关问题,求高手!
  详细解决方案

关于javaGUI编程有关问题,求高手!

热度:5770   发布时间:2013-02-25 21:47:47.0
关于javaGUI编程问题,求高手!!!
就是我编了一个小程序,(由于图插不进来,我只能描述了,抱歉)它有个主界面,主界面分为上下两个部分,上面我称为Head,下面称为content,Head里面有一排组件,Button1,Button2,Button3,Button4,Button5,我希望当我点Button键的时候,content里面就可以响应我的操作,例如有个Button键的功能是注册,content里面就显示出注册的界面。可是我不知打怎么去刷新界面,我用JFrame中的repaint(),完全没有效果,有人说要得到窗体的句柄,那是怎么弄呀???希望知道的高手们教教我吧!我是初学者,才开始GUI编程,所以好多都不知道,在书上也没有找到相关的内容,所以会的童鞋们教教我吧,谢谢了!!!

------解决方案--------------------------------------------------------
好久没动过GUI了,你可以试试分区(上、下),下面用个面板做底……网上应该有相似例子,lz找找
------解决方案--------------------------------------------------------
content 是一个 JPanel 吧。那么,换掉这个面板就行了。
------解决方案--------------------------------------------------------
写了个简单的,点不同按钮可刷新不同内容,,你看看是否是你意思……

Java code
import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class Test extends JFrame{    JPanel panel_1, panel_2;    JButton button1, button2;    JLabel label;    String a = "in button_1_1_1";    String b = "in button_2_2_2";        public Test(){        setTitle("test");        setBounds(300, 100, 500, 500);        Container c = getContentPane();        c.setLayout(new BorderLayout());        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                                button1 = new JButton("button1");             button2 = new JButton("button2");        label = new JLabel();                panel_1 = new JPanel();        panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 100, 10));  //设置panel_1的网格        panel_2 = new JPanel();                panel_1.add(button1);        panel_1.add(button2);        panel_2.add(label);                c.add(panel_1, BorderLayout.NORTH);        c.add(panel_2, BorderLayout.CENTER);         //-------------------------------------------------------------------------         button1.addActionListener(new ActionListener(){    //加载button1按钮的事件                public void actionPerformed(ActionEvent e){                    label.setText(a);                }            });         button2.addActionListener(new ActionListener(){    //加载button2按钮的事件                public void actionPerformed(ActionEvent e){                    label.setText(b);                }            });    }        public static void main(String []args){        Test frame = new Test();        frame.setVisible(true);    }}