关于javaGUI编程有关问题,求高手!
关于javaGUI编程问题,求高手!!!
就是我编了一个小程序,(由于图插不进来,我只能描述了,抱歉)它有个主界面,主界面分为上下两个部分,上面我称为Head,下面称为content,Head里面有一排组件,Button1,Button2,Button3,Button4,Button5,我希望当我点Button键的时候,content里面就可以响应我的操作,例如有个Button键的功能是注册,content里面就显示出注册的界面。可是我不知打怎么去刷新界面,我用JFrame中的repaint(),完全没有效果,有人说要得到窗体的句柄,那是怎么弄呀???希望知道的高手们教教我吧!我是初学者,才开始GUI编程,所以好多都不知道,在书上也没有找到相关的内容,所以会的童鞋们教教我吧,谢谢了!!!
------解决方案--------------------
好久没动过GUI了,你可以试试分区(上、下),下面用个面板做底……网上应该有相似例子,lz找找
------解决方案--------------------
content 是一个 JPanel 吧。那么,换掉这个面板就行了。
------解决方案--------------------
写了个简单的,点不同按钮可刷新不同内容,,你看看是否是你意思……
就是我编了一个小程序,(由于图插不进来,我只能描述了,抱歉)它有个主界面,主界面分为上下两个部分,上面我称为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);
}
}