qq2009那样的好友面板切换方式怎么做? RT用java怎么实现 它用的list一类的组件 一次显示一列??还有一个问题:qq好友面板切换时 有种慢进慢出的感觉 也就所谓的平滑 java里又该怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在PB里容易实现,在swing里边有点难。 qq2009用过没?当在 好友 群和最近联系 之间切换时 你没发觉它们之间是连在一起的 有中转动的感觉 不象tab那样僵硬的更换页面?? 呵呵 ,这个 功能 swing没 见到 过 有人先前问过这个问题,LZ要多用搜索哦: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(); } else if (e.getSource().equals(btn2)) { panel.setLayout(new GridLayout(4, 1)); panel.removeAll(); panel.add(btn1); panel.add(btn2); panel.add(lab2); panel.add(btn3); panel.validate(); panel.repaint(); } else if (e.getSource().equals(btn3)) { panel.setLayout(new GridLayout(4, 1)); panel.removeAll(); panel.add(btn1); panel.add(btn2); panel.add(btn3); panel.add(lab3); panel.validate(); panel.repaint(); } } /** * @param args */ public static void main(String[] args) { System.out.println("模仿QQ的竖向选项卡功能。"); new TestDrawer(); }} 在不知表名,不知列名,只知道数据片段的情况查询数据!怎么查啊? 散分 请教finally语句 监听 JTextArea修改内容动作的借口是什么?求教! java时间变量问题, linux下守护程序的开发 初学者遇到个问题,期待大神解答 开始学习java,让csdn论坛见证我的成长。 请问如何把string类型转化成double类型?就如同转换成int类型一样的Integer.parseInt? JAVA程序的编译 用java如何实现交换两个数的值? 在JPanel 绘图的问题 急!
当在 好友 群和最近联系 之间切换时 你没发觉它们之间是连在一起的 有中转动的感觉 不象tab那样僵硬的更换页面??
没 见到 过
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();
}
else if (e.getSource().equals(btn2)) {
panel.setLayout(new GridLayout(4, 1));
panel.removeAll();
panel.add(btn1);
panel.add(btn2);
panel.add(lab2);
panel.add(btn3);
panel.validate();
panel.repaint();
}
else if (e.getSource().equals(btn3)) {
panel.setLayout(new GridLayout(4, 1));
panel.removeAll();
panel.add(btn1);
panel.add(btn2);
panel.add(btn3);
panel.add(lab3);
panel.validate();
panel.repaint();
}
} /**
* @param args
*/
public static void main(String[] args) {
System.out.println("模仿QQ的竖向选项卡功能。");
new TestDrawer();
}
}