我想实现有三功能个模块的界面,每个模块下面又有子功能
打个比方应该比较清楚:我的三个功能模块就像QQ界面上的“QQ好友”,“QQ群”,“最近联系人”
子模块就应该是 这些功能模块下的按钮。
我想实现类似QQ界面那样的效果,一点一个功能模块,它下面的子功能就打开。不知道应该怎么实现。
打个比方应该比较清楚:我的三个功能模块就像QQ界面上的“QQ好友”,“QQ群”,“最近联系人”
子模块就应该是 这些功能模块下的按钮。
我想实现类似QQ界面那样的效果,一点一个功能模块,它下面的子功能就打开。不知道应该怎么实现。
解决方案 »
- eclipse web工程如何测试这些javabean类
- 急救:DataInputStream中的read的问题
- 怎么读XML文件?急!
- 请教一个RMI中对象参数传递的问题
- 线程问题:小的ResultSet可以并发运行,大的就不行了,可能是什么原因?
- 抽象类需要重载才能实现其中的方法,重载是什么,举个重载并使用抽象类中方法的简单例子 谢谢
- 在线急等!!!在java中如何实现进制转换???
- 那位能讲讲这个东西是怎么回事?
- WEB方面的问题,困扰我好长时间了。请求援助!!!
- DefaultMutableTreeNode怎么用?
- 利用Java怎么禁用机器的USB接口
- 初学JAVA 文件名过滤器接口问题
没有深入的学swing,帮你顶顶罗。。
点击时加一个Panel,重绘layout
package test;import java.awt.BorderLayout;
import java.awt.GridLayout;
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 TestDrawer extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; public JButton btn1 = new JButton("TestBTN1"); public JButton btn2 = new JButton("TestBTN2"); public JButton btn3 = new JButton("TestBTN3"); public JLabel lab1 = new JLabel("TestLab1"); public JLabel lab2 = new JLabel("TestLab2"); public JLabel lab3 = new JLabel("TestLab3"); public JPanel panel = new JPanel(); public TestDrawer() {
init();
} private void init() {
this.setTitle("TestDrawer");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(getCenterPanel(), BorderLayout.CENTER);
this.pack();
this.setVisible(true);
} private JPanel getCenterPanel() {
panel.setLayout(new GridLayout(3, 1));
panel.add(btn1);
panel.add(btn2);
panel.add(btn3);
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
return panel;
} public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btn1)) {
panel.setLayout(new GridLayout(4, 1));
panel.removeAll();
panel.add(btn1);
panel.add(lab1);
panel.add(btn2);
panel.add(btn3);
panel.validate();
panel.repaint();
}
} /**
* @param args
*/
public static void main(String[] args) {
new TestDrawer();
}
}大概就是这个意思,你可以优化1.你的组成员可以维护成一个Map什么的,我这里写死了一个lab1.2.参考Timer类,swing的Timer类,可以让你程序跑起来很好看,联动的打开.
new JTabbedPane().add("title", JScrollPane)其中的JScrollPane就是你要显示的画面