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(); }}