⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendarpanel.java

📁 数码照片管理程序是我们公司在开发过程中的用java编写的模块
💻 JAVA
字号:
package com.mwq.album.calendar;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Insets;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.JTextField;

public class CalendarPanel extends JPanel {

    private JTextField textField;
    private CalendarDialog dialog;
    private JButton button;

    /**
     * Create the panel
     */
    public CalendarPanel() {
        super();
        final FlowLayout flowLayout = new FlowLayout();
        flowLayout.setAlignment(FlowLayout.LEFT);
        flowLayout.setVgap(0);
        flowLayout.setHgap(0);
        setLayout(flowLayout);

        textField = new JTextField();
        textField.setColumns(11);
        textField.setHorizontalAlignment(JTextField.CENTER);
        textField.setFocusable(false);
        textField.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent e) {
                showCalendarDialog();
            }
        });
        add(textField);

        button = new JButton();
        button.setText("▼");
        button.setMargin(new Insets(0, 6, 0, 6));
        button.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                showCalendarDialog();
            }
        });
        add(button);
        //
        textField.setPreferredSize(new Dimension(136, (int) button.getPreferredSize().getHeight()));
    }

    @Override
    public void setEnabled(boolean enabled) {
        super.setEnabled(enabled);
        textField.setEnabled(enabled);
        button.setEnabled(enabled);
    }

    private void showCalendarDialog() {
        Dimension preferredSize = textField.getPreferredSize();
        Point locationOnScreen = textField.getLocationOnScreen();
        int x = (int) locationOnScreen.getX();
        int y = (int) (locationOnScreen.getY() + preferredSize.getHeight());
        int width = 274;
        int height = 251;
        JRootPane rootPane = textField.getRootPane();
        Point rootPaneLocationOnScreen = rootPane.getLocationOnScreen();
        dialog = new CalendarDialog();
        dialog.setBounds(x, y, width, height);
        new Thread() {

            @Override
            public void run() {
                while (true) {
                    if (MTableCell.getSelectedDay() != null) {
                        textField.setText(CalendarDialog.getYear() + "-" + CalendarDialog.getMonth() + "-" + MTableCell.getSelectedDay());
                        dialog.dispose();
                        MTableCell.setSelectedDay(null);
                        break;
                    }
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();
        dialog.setVisible(true);
    }

    public CalendarDialog getDialog() {
        return dialog;
    }

    public JTextField getTextField() {
        return textField;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -