在java中怎样实现多个界面之间的切换
在java中怎样实现多个界面之间的切换,如我建立了一个主界面,上面有两个按钮,只要按其中一个就能进入对应的分页面中...
在java中怎样实现多个界面之间的切换,如我建立了一个主界面,上面有两个按钮,只要按其中一个就能进入对应的分页面中
展开
展开全部
一般在界面类中,因为界面类不是MIDlet的子类,所以需要获得Display对象有两个方法:
1、 传递MIDlet类型的对象
2、 传递Display类型的对象
下面就以传递Display对象为例来实现在界面类中进行切换。下面的程序为了简单起见,以两个Canvas界面为例来演示实际的传递,高级界面和这个使用完全一样。
MIDlet中的代码实现:
Display display;
public MyMIDlet(){
display = Display.getDisplay(this);
//创建需要显示的界面对象
FirstCanvas fc = new FirstCanvas(display);
//显示界面
display.setCurrent(fc);
}
第一个界面类的代码实现:
public class FirstCanvas extends Canvas{
Display display;
public FirstCanvas(Display display){
this.display = display;
}
/**绘制方法*/
public void paint(Graphics g){
g.drawString(“第一个界面”,30,40,Graphics.TOP | Graphics.LEFT);
}
/**事件处理*/
public void keyPressed(int keyCode){
display.setCurrent(new SecondCanvas(display)); //显示下一个界面
}
}
第二个界面类的代码实现和上一个类似:
Display display;
public SecondCanvas(Display display){
this.display = display;
}
上面的代码演示了如何使用传递Display对象的形式,在界面类中实现切换界面。当然除了该方式以外,需要实现该功能的方式还有很多种,这里只介绍这一种容易理解的实现方式。
1、 传递MIDlet类型的对象
2、 传递Display类型的对象
下面就以传递Display对象为例来实现在界面类中进行切换。下面的程序为了简单起见,以两个Canvas界面为例来演示实际的传递,高级界面和这个使用完全一样。
MIDlet中的代码实现:
Display display;
public MyMIDlet(){
display = Display.getDisplay(this);
//创建需要显示的界面对象
FirstCanvas fc = new FirstCanvas(display);
//显示界面
display.setCurrent(fc);
}
第一个界面类的代码实现:
public class FirstCanvas extends Canvas{
Display display;
public FirstCanvas(Display display){
this.display = display;
}
/**绘制方法*/
public void paint(Graphics g){
g.drawString(“第一个界面”,30,40,Graphics.TOP | Graphics.LEFT);
}
/**事件处理*/
public void keyPressed(int keyCode){
display.setCurrent(new SecondCanvas(display)); //显示下一个界面
}
}
第二个界面类的代码实现和上一个类似:
Display display;
public SecondCanvas(Display display){
this.display = display;
}
上面的代码演示了如何使用传递Display对象的形式,在界面类中实现切换界面。当然除了该方式以外,需要实现该功能的方式还有很多种,这里只介绍这一种容易理解的实现方式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置一个主容器,按按钮的时候替换主容器中的面板
追问
这个我是过了,但是效果不理想,切换的时候有的面板显示不出来
追答
替换后主容器要刷新,不刷新是不会自动显示新界面的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Iframe啊 就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用iframe,
追问
iframe?我刚学java,能发些iframe的资料给我吗
追答
我看了你的问题
iframe是做j2ee用的,是html的,
你是不是想要swing的例子啊?
好久没做swing了,
我写了一个例子,希望可以帮到你,你直接拷下去测试就行了
//nametap.java
import javax.swing.*;
import java.awt.*;
public class nametap {
public static void main(String args[]) {
String[] name = {"jimmy","lily"};
String[] info = {"jimmy is male","lily is female"};
JTabbedPane tablepane = new JTabbedPane();
tablepane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
tablepane.setTabPlacement(JTabbedPane.LEFT);
for (int i=0; i < name.length; i++) {
JPanel panel = new JPanel(new BorderLayout());
JLabel label = new JLabel(info[i]);
panel.add(label);
tablepane.add(name[i], panel);
}
JFrame frame = new JFrame("workers");
frame.getContentPane().add(tablepane, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLocation(400,300);
frame.setVisible(true);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询