Bienvenido a seguir el blog de Fang Zhipeng y responder a "666" para obtener el libro de entrevistas.


Fuente: juejin.cn/post/6914083794806898695

prefacio

En ese entonces, cuando era joven e ignorante, llené mi programa voluntario ese verano y elegí una carrera, mis padres escucharon a otros ancianos decir que es mejor elegir una carrera en informática. Desde entonces, he tenido una profunda huella de Jiyuan en mi cuerpo. Desde el dormitorio hasta la sala de informática, desde la sala de informática hasta la biblioteca, C, C++, Java, mientras quieras escribir algo que te interese, puedes sentarte durante horas, pero cuando eras joven, te levantaste, empacaste, trotaste todo el camino para encontrarte con la diosa, ligera, fácil y suelta.

Ahora trabajando, sin accidente haciendo trabajo de desarrollo, sentado durante mucho tiempo. Tan pronto como me pongo a escribir código, me olvido de levantarme y moverme, y no bebo mucha agua. A menudo me siento incómodo en la cintura y las piernas cuando termino de trabajar. No fue hasta el informe del examen médico de este año que me di cuenta de que sin un cuerpo saludable, no puedo trabajar duro y dejar que mi jefe viva la vida que quiere.

Intenté recordármelo en mi teléfono, pero no funcionó. La función de recordatorio sedentario de Xiaomi Mi Band también está activada. A veces estoy escribiendo código y lo desactivo cuando se acabe el tiempo, pero sigue sin tener efecto. Así que creo que si soy demasiado perezoso o es fácil volverse adicto a escribir código con Idea, en resumen, no puede ser interesante cambiar los requisitos.

Entonces, el día de Año Nuevo, planeo desarrollar un pequeño complemento antiadicción de Idea para mí. Lo llamo [StopCoding]. Debería poder establecer cuántos minutos aparece un cuadro de diálogo de recordatorio. Una vez que aparece el cuadro de diálogo, el cuadro de edición del código de la idea perderá automáticamente el foco y no se podrá hacer nada. Todavía no ha terminado, la clave es este cuadro de diálogo. box No se puede cerrar, y también muestra una cuenta regresiva para descansar, e incluso si cambio la hora del sistema, la cuenta regresiva sigue funcionando, a menos que abra el administrador de tareas, cierre el proceso de Idea y reinicie Idea. Pero piénsalo, las ideas están todas cerradas, tomemos un descanso.

Permítanme presentarles su tutorial de uso simple y su tutorial de desarrollo.

Tutorial de instalación y uso.

Instalar

1. Busque e instale el complemento StopCoding directamente en la idea (el oficial ha sido aprobado)

imagen

2. Los pequeños socios de desarrollo de intranet pueden descargar e instalar localmente

https://github.com/jogeen/StopCoding/releases/tag/20210104-V1.0

  • Instalación local:
imagen

usar

  • Paso 1. Luego, en las herramientas de la barra de menú-> StopCoding
imagen
  • Paso 2. Configure los parámetros adecuados para usted y guárdelos.
imagen
  • Paso 3. Entonces ten una codificación feliz, no te preocupes por ser adicto. Cuando termine el tiempo de trabajo, aparecerá el siguiente cuadro para recordar, por supuesto, este cuadro no se puede cerrar. Se cerrará automáticamente solo después de que tenga suficiente tiempo para descansar.
imagen

Tutoría de desarrollo

Este complemento es muy simple y la operación de la interfaz también es muy simple. Las técnicas utilizadas son básicamente conocimientos básicos de programación en java . Así que si estás interesado, echemos un vistazo.

ámbito técnico

  • La estructura básica del proyecto de plug-in

  • Swing es el principal responsable de la interacción de dos cuadros de diálogo.

  • Temporizador como la selección de temporizador más básica

Estructura del proyecto de complemento

imagen
  • plugin.xml

Este es el archivo de configuración central del proyecto de complemento. Para obtener una explicación de cada elemento, puede consultar la introducción del primer artículo:

https://juejin.cn/post/6844904127990857742

  • paquete de datos
    • SettingData, la información de configuración corresponde al modelo
    • DataCenter, como centro de datos en tiempo de ejecución, son todas variables globales estáticas
  • Servicio
    • TimerService El código central de este cálculo de tiempo
  • tarea
    • Tarea cronometrada RestTask al descansar
    • Tareas programadas cuando WorkTask está funcionando
  • interfaz de usuario
    • Cuadro de diálogo SettingDialog para configurar la información
    • Cuadro de diálogo TipsDialog para recordar cuándo tomar un descanso
  • StopCodingSettingAction inicia la acción de la entrada

Ritmo

De hecho, la interfaz para desarrollar proyectos Swing en idea es muy sencilla. Porque la idea proporciona una serie de operaciones visuales, así como el diseño de control de arrastrar y soltar. A continuación, presentaremos brevemente el proceso de creación de diálogos y agregaremos eventos.

Crear cuadro de diálogo

  • Paso 1
imagen
  • Paso 2
imagen
  • Paso 3
imagen
  • Nota: No hay una explicación detallada de Swing aquí, porque esta cosa en la interfaz debe practicarla usted mismo. No hay descripción manual aquí.

Añadir evento

De hecho, los dos botones del cuadro de diálogo recién creado ya han creado eventos de clic de forma predeterminada.

public class TestDialog extends JDialog {  
    private JPanel contentPane;  
    private JButton buttonOK;  
    private JButton buttonCancel;  
  
    public TestDialog() {  
        setContentPane(contentPane);  
        setModal(true);  
        getRootPane().setDefaultButton(buttonOK);  
  
        buttonOK.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                onOK();  
            }  
        }); //这是给OK按钮绑定点击事件的监听器  
  
        buttonCancel.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                onCancel();  
            }  
        });//这是给取消按钮绑定点击事件的监听器  
    //其他代码  
    }  

Por supuesto, también podemos crear diferentes detectores de eventos para cualquier otro control. Hay muchos tipos de oyentes que se pueden crear a través de operaciones de interfaz y puede usarlos siempre que los necesite.

  • paso 1
imagen
  • paso 2
imagen

temporizador temporizador

En este complemento, debe usar la función de sincronización para calcular el principado y el tiempo de descanso al mismo tiempo. Por lo tanto, usar el temporizador que viene con JDK es muy conveniente. Abajo pongo aquí la api comúnmente usada de Timer, para que quede claro su uso.

  • Método de construcción
imagen
  • prevención de miembros
imagen
  • Principalmente programe para agregar una tarea cronometrada y use cancelar para cancelar la tarea y detener el temporizador.

Al final

Creo que con estas introducciones básicas, gracias a los amigos interesados ​​que quieren ver el código fuente y tratan de escribir un pequeño plug-in ellos mismos, no hay mayor problema. No hables, tengo que descansar. Espero que este complemento pueda ayudarlo como programador, y este artículo tiene un poco de inspiración para usted. Por supuesto, por favor dale a me gusta y anima a los trabajadores.

Contenido popular:
imagen
Recientemente entrevisté a BAT y compilé un material de entrevista " Manual de autorización de BAT de entrevista de Java " , que cubre las tecnologías centrales de Java, JVM, concurrencia de Java, SSM, microservicios, bases de datos, estructuras de datos y más.
Cómo obtenerlo: Haz clic en " Mirando ", sigue la cuenta oficial y responde  al 666  para recibirlo. Se proporcionarán más contenidos uno tras otro.
Nos vemos mañana (。・ω・。)ノ♡