Java中的gui设计问题,想设计一个界面,左面显示一列按钮,右面是界面
Java中的gui设计问题,想设计一个界面,左面显示一列按钮,右面是界面,然后点击不同的按钮右面界面是不同的,这个如何做 运用什么知识或者是哪个API?是CardLayout吗?
------解决方案--------------------Java的GUI界面,设计上不能只靠一种Layout来解决问题,而是要容器套容器,不同容器用不同的Layout,组合来发挥效力。
1、你的需求中,主容器用BorderLayout(缺省就是了);
2、准备放按钮的地方,就是(BorderLayout.WEST),这里放子容器(如JPanel),选择FlowLayout或GridLayout;然后子容器中再放按钮;
3、准备放界面的地方,就中间(BorderLayout.CENTER),也可以放个子容器(便于后续你还需要其它布局)。
------解决方案--------------------CardLayout 对象是容器的布局管理器。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件。
first(Container parent)
翻转到容器的第一张卡片。
last(Container parent)
翻转到容器的最后一张卡片。
next(Container parent)
翻转到指定容器的下一张卡片。
------解决方案--------------------支持 1 楼的
------解决方案--------------------Java code
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JPanel;
public class SwingTest extends javax.swing.JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public SwingTest(){
//按钮
JButton jb = new JButton();
//分配区域
JPanel jp = new JPanel();
jp.setSize(150, 500);
jp.setBackground(Color.PINK);
jp.add(jb);
//设置SwingTest
add(BorderLayout.WEST, jp);
setLayout(new BorderLayout());
setBounds(0,0,800,500);
setDefaultCloseOperation(3);
setVisible(true);
}
public static void main(String args[]){
new SwingTest();
}
}