Trong các ví dụ về SwingX mà JXCollapsiblePane được sử dụng với một nút, nhưng tôi muốn chuyển nó bằng các sự kiện chuột. Trong ví dụ của tôi, JXCollapsiblePane đóng cửa ngay từ đầu. Chỉ khi người dùng đi kèm với con chuột trên nút để mở JXCollapsiblePane. Khi chuột rời khỏi khu vực, đó là vụ JXCollapsiblePane sụp đổ một lần nữa. Vấn đề của tôi: JXCollapsiblePane không bị sập, khi chuột rời khỏi khu vực thông qua nút.Kích hoạt JXCollapsiblePane bằng chuột trên
public class CollapsiblePaneDemo
{
/**
* @param args
*/
public static void main(String[] args)
{
final JXCollapsiblePane cp =
new JXCollapsiblePane(JXCollapsiblePane.Direction.RIGHT);
// JXCollapsiblePane can be used like any other container
cp.setLayout(new BorderLayout());
// the Controls panel with a textfield to filter the tree
JPanel controls = new JPanel(new FlowLayout(FlowLayout.LEFT, 4, 0));
controls.add(new JLabel("Search:"));
controls.add(new JTextField(10));
controls.add(new JButton("Refresh"));
controls.setBorder(new TitledBorder("Filters"));
cp.add("Center", controls);
JXFrame frame = new JXFrame();
frame.setLayout(new BorderLayout());
// Then the tree - we assume the Controls would somehow filter the tree
JScrollPane scroll = new JScrollPane(new JTree());
// Put the "Controls" first
frame.add("Center", scroll);
// Show/hide the "Controls"
final JButton toggle = new JButton(cp.getActionMap()
.get(JXCollapsiblePane.TOGGLE_ACTION));
toggle.setText("-");
toggle.setPreferredSize(new Dimension(20, toggle.getSize().height));
toggle.addMouseListener(new MouseAdapter()
{
@Override
public void mouseEntered(MouseEvent e)
{
if (cp.getSize().width == 0)
{
toggle.doClick();
}
}
});
final JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add("Center", toggle);
panel.add("East", cp);
panel.addMouseListener(new MouseAdapter()
{
@Override
public void mouseExited(MouseEvent e)
{
if (!panel.contains(e.getPoint()))
{
toggle.doClick();
}
}
});
frame.add("East", panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
cp.setCollapsed(true);
frame.setVisible(true);
}
}
Cảm ơn,
Hey bạn có biết làm thế nào để thiết lập sự chỉ đạo của các hình ảnh động chuyển đổi? – mayooran