把一个窗体分为左右两个子窗体,左边是若干个标签(包含事件,点击后右边半部分出现相应的内容),也就是左边不会改变,右边却会随着点击左边的标签出现包含不同内容的面板,这个怎么实现? (使用Java的swing完成,效果如下:)

解决方案 »

  1.   

    用JSplitPane来分割窗口,具体的用法参见API文档,我在这里就不多说了!下面我就举个简单的例子(见笑了,^_^):import java.awt.*;
    import java.awt.event.*;import javax.swing.*;
    public class Test implements ActionListener {
    private JLabel l1;
    private JButton b1;
    private JButton b2;

    public Test() {
    JFrame f = new JFrame("测试分隔窗口");
    f.setSize(800, 600);

    JSplitPane jsp = new JSplitPane();
    jsp.setDividerLocation(0.3);//设置分隔条的位置,以百分比的形式

    //添加左侧的部分,为两个按钮
    JPanel p1 = new JPanel();
    p1.setLayout(new BorderLayout());
    b1 = new JButton("按键1");
    b1.addActionListener(this);

    b2 = new JButton("按键2");
    b2.addActionListener(this);
    p1.add(BorderLayout.NORTH, b1);
    p1.add(BorderLayout.CENTER, b2);
    jsp.setLeftComponent(p1);

    //添加右侧的部分,为一个JLabel
    JPanel p2 = new JPanel();
    p2.setLayout(new BorderLayout());
    l1 = new JLabel("右窗格");
    p2.add(l1);
    jsp.setRightComponent(p2);

    f.add(jsp);
    f.setVisible(true);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    } @Override
    public void actionPerformed(ActionEvent e) {
    l1.setText("你单击了" + e.getActionCommand());
    }

    public static void main(String[] args) {
    new Test();
    }
    }
      

  2.   

    你要的例子,自己随便找本java书籍,看下swing那章,里面组件都使用下,就可以了解了,学java Swing.下面这个网站可以让你变成真正的高手,里面不仅仅是swinghttp://www.java2s.com/CN/Code/Java/2D-Graphics-GUI/Catalog2D-Graphics-GUI.htm