Autor
|
Tema: Bloquear pantalla (Leído 8,826 veces)
|
Mine Sweeper
Desconectado
Mensajes: 29
|
Necesito hacer un programa, el cual si no se llena cierta informacion en un Textfield que no te permita cambiarte de ventana dentro de windows, osea que no puedas quitar el programa hasta que llenes la informacion que se necesita, existe alguna funcion o algo para hacer esto?
|
|
|
En línea
|
|
|
|
Stakewinner00
|
No se java, pero supongo que puedes hacer que el programa vaya poniendo el focus en la ventana que tenga un nombre específico. Así el usuario se vería obligado a rellenar esa información para poder cambiar el focus
|
|
|
En línea
|
|
|
|
Zoik
Desconectado
Mensajes: 91
|
Bueno, podrías programar un evento en ese textfield, que hasta que no escriba esa información mantenga esa ventana con lo siguiente: ventana.setModal(true);
Y para que no cierren la aplicación: frame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
Este último código unicamente se le puede aplicar a tu frame, en el caso en que le den a la X no se cerrara, solo podrán matar el proceso. Un saludo y comenta que tal te fue.
|
|
|
En línea
|
|
|
|
Mine Sweeper
Desconectado
Mensajes: 29
|
Andube investigando, y encontre este codigo en una pagina, el cual puedo modificar para hacer lo que necesito, pero la situacion es esta. Si los datos que meten en el campo de texto son correctos, debe desbloquear la pantalla, hasta ahi no hay ningun problema, el problema es que de ahi usan una aplicacion hecha por un provedor y al final imprime una etiqueta, se puede saber cuando cambia el estado de impresion para que cuando imprima volver a bloquear la pantalla y que asi se este repitiendo? Este es el codigo que encontre: import javax.swing.JOptionPane; /** * @web http://www.jc-mouse.net/ * @author Mouse */ public class jFrameBlocked extends javax.swing.JFrame {
/** * Creates new form jFrameBlocked */ public jFrameBlocked() { this.setUndecorated(true);//quita bordes a jframe initComponents(); this.setDefaultCloseOperation( DO_NOTHING_ON_CLOSE );//evita cerra jframe con ALT+C this.setExtendedState( MAXIMIZED_BOTH );//maximizado this.setAlwaysOnTop(true);//siempre al frente //nueva instancia de jBlocked pasando como parametros e este JFrame new jBlocked( this ).block(); }
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints;
jPanel1 = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); user = new javax.swing.JTextField(); pass = new javax.swing.JTextField(); btnSalir = new javax.swing.JButton(); btnEntrar = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(51, 51, 255)); jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); jPanel1.setLayout(new java.awt.GridBagLayout());
jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jPanel2.setLayout(new java.awt.GridBagLayout());
jLabel1.setText("Usuario :"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(40, 40, 5, 5); jPanel2.add(jLabel1, gridBagConstraints);
jLabel2.setText("Contraseña :"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 40, 5, 5); jPanel2.add(jLabel2, gridBagConstraints);
user.setPreferredSize(new java.awt.Dimension(200, 32)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(40, 5, 5, 40); jPanel2.add(user, gridBagConstraints);
pass.setPreferredSize(new java.awt.Dimension(200, 32)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 40); jPanel2.add(pass, gridBagConstraints);
btnSalir.setText("Cancelar"); btnSalir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSalirActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(30, 10, 40, 0); jPanel2.add(btnSalir, gridBagConstraints);
btnEntrar.setText("Entrar"); btnEntrar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnEntrarActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(30, 0, 40, 0); jPanel2.add(btnEntrar, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; jPanel1.add(jPanel2, gridBagConstraints);
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
pack(); }// </editor-fold>//GEN-END:initComponents
private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSalirActionPerformed System.exit(0); }//GEN-LAST:event_btnSalirActionPerformed
private void btnEntrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEntrarActionPerformed if( this.user.getText().equals("user") && this.pass.getText().equals("1234") ) { new jFrameGUI().setVisible(true); this.dispose(); } else { JOptionPane.showMessageDialog( this, "Access denied"); } }//GEN-LAST:event_btnEntrarActionPerformed
/** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(jFrameBlocked.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(jFrameBlocked.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(jFrameBlocked.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(jFrameBlocked.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold>
/* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new jFrameBlocked().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnEntrar; private javax.swing.JButton btnSalir; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JTextField pass; private javax.swing.JTextField user; // End of variables declaration//GEN-END:variables }
import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import javax.swing.JFrame; /** * @web http://www.jc-mouse.net/ * @author Mouse */ public class jBlocked { private JFrame jframe=null; /** * Constructor de clase */ public jBlocked( JFrame f ) { this.jframe = f; } /** * ejecuta una tarea cada "n" tiempo * Para evitar que el usuario utilice las teclas (WINDOWS + D)(TAB) y asi perder el foco * de la aplicación, cada 50 milisegundos se envia el JFrame al frente y se cambia su propiedad a maximizado */ public void block() { ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); scheduler.scheduleAtFixedRate( new Runnable() { @Override public void run() { front(); } }, 500, 50 , TimeUnit.MILLISECONDS ); //comienza dentro de 1/2 segundo y luego se repite cada N segundos } /** * */ public void front() { jframe.setExtendedState( JFrame.MAXIMIZED_BOTH );//maximizado jframe.toFront(); } }//--> fin
public class jFrameGUI extends javax.swing.JFrame {
/** * Creates new form jFrameGUI */ public jFrameGUI() { initComponents(); this.setLocationRelativeTo(null);//posicion al centro de la pantalla this.setAlwaysOnTop(true);//siempre al frente }
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints;
jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Access granted"); getContentPane().setLayout(new java.awt.GridBagLayout());
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setText("Congratulations"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(40, 100, 10, 100); getContentPane().add(jLabel1, gridBagConstraints);
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel2.setText("Access granted"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(10, 10, 50, 10); getContentPane().add(jLabel2, gridBagConstraints);
pack(); }// </editor-fold>//GEN-END:initComponents
/** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(jFrameGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(jFrameGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(jFrameGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(jFrameGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold>
/* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new jFrameGUI().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; // End of variables declaration//GEN-END:variables }
|
|
|
En línea
|
|
|
|
Zoik
Desconectado
Mensajes: 91
|
Me interese por el asunto, así que me puse manos a la obra y a salido esto: /* * Autor: Zoik */ package base; import graphics.Gui; public class Main { public static void main (String[] args ) { public void run() { new Gui(); } }); } }
/* * Autor: Zoik */ package graphics; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import base.Block; private static final long serialVersionUID = 1L; private final String backgroundURL = "src/images/background.jpg"; private final String loginTitle = "Login"; private final String userLabelText = "User:"; private final String passLabelText = "Password:"; private final String loginButtonLabelText = "Login"; private final String cancelButtonLabelText = "Cancel"; private final String user = "user"; private final String pass = "1234"; private ImageDesktopPane desktopBackground; private Block thread; public Gui(){ initFrame(); } public void initFrame(){ setUndecorated(true); setDefaultCloseOperation( DO_NOTHING_ON_CLOSE ); setExtendedState( MAXIMIZED_BOTH ); setAlwaysOnTop(true); new Block(this); initBackground(); initInternalFrame(); setVisible(true); } public void initBackground(){ desktopBackground = new ImageDesktopPane(backgroundURL); add(desktopBackground); } public void initInternalFrame(){ internalFrameLogin. setPreferredSize(new Dimension(300, 200)); desktopBackground.add(internalFrameLogin); internalFrameLogin.setVisible(true); initLoginPanel(); } public void initLoginPanel(){ internalFrameLogin.add(panelLogin); initLabels(); initTextFields(); initButtons(); } public void initLabels(){ userLabel = new JLabel(userLabelText ); passwordLabel = new JLabel(passLabelText ); addComponentGBL (panelLogin,userLabel, 0, 0, 1, 1, GridBagConstraints. WEST, GridBagConstraints. NONE, 10, 75, 0, 0); addComponentGBL (panelLogin,passwordLabel, 0, 1, 1, 1, GridBagConstraints. WEST, GridBagConstraints. NONE, 10, 45, 70, 0); } public void initTextFields(){ userTextField. setPreferredSize(new Dimension(90, 30)); passwordTextField. setPreferredSize(new Dimension(90, 30)); addComponentGBL (panelLogin,userTextField, 1, 0, 1, 1, GridBagConstraints. EAST, GridBagConstraints. NONE, 10, 0, 0, 65); addComponentGBL (panelLogin,passwordTextField, 1, 1, 1, 1, GridBagConstraints. EAST, GridBagConstraints. NONE, 10, 0, 70, 65); userTextField.setFocusable(true); } public void initButtons(){ loginButton = new JButton(loginButtonLabelText ); cancelButton = new JButton(cancelButtonLabelText ); loginButton.addActionListener(this); cancelButton.addActionListener(this); addComponentGBL (panelLogin,loginButton, 0, 1, 1, 1, GridBagConstraints. CENTER, GridBagConstraints. NONE, 30, 70, 0, 0); addComponentGBL (panelLogin,cancelButton, 1, 1, 1, 1, GridBagConstraints. CENTER, GridBagConstraints. NONE, 30, 0, 0, 40); } public void addComponentGBL (Container container, Component component, int gridx, int gridy, int gridwidth, int gridheight, int anchor, int fill, int inset1, int inset2, int inset3, int inset4 ) { GridBagConstraints gbc = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, 1.0, 1.0, anchor, fill, insets, 0, 0); container.add(component, gbc); } if(e.getSource() == loginButton) { if(userTextField.getText().equals(user) && passwordTextField.getText().equals(pass)){ dispose(); } } else if(e.getSource() == cancelButton) { dispose(); } } }
/* * Autor: Zoik */ package graphics; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JDesktopPane; private static final long serialVersionUID = 1L; public ImageDesktopPane (String path ) { try { image = ImageIO. read(new File(path )); System. out. println("Error al cargar la imagen de fondo"); } } @Override protected void paintComponent (Graphics g ) { super.paintComponent(g); g.drawImage(image, 0, 0, getWidth(), getHeight(), this); } }
/* * Autor: Zoik */ package base; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import javax.swing.JFrame; import graphics.Gui; public class Block{ private Gui frame; public Block(Gui gui){ frame = gui; ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); scheduler.scheduleAtFixedRate( { public void run() { front(); } }, 500, 50 , TimeUnit.MILLISECONDS ); } public void front(){ frame. setExtendedState(JFrame. MAXIMIZED_BOTH); frame.toFront(); } }
Un saludo y espero te sirva.
|
|
« Última modificación: 9 Septiembre 2013, 17:44 pm por Zoik »
|
En línea
|
|
|
|
Mine Sweeper
Desconectado
Mensajes: 29
|
El codigo es parecido al que puse, pero tiene una pequeña falla de seguridad. En windows 7 si presionas Windows + tab te deja desplazarte entre las ventanas y aunque regreses a la ventana del programa presionas windows+r y escribes cmd y si te abre la consola aunque no mires lo que haces y ahi se puede finalizar el proceso. Esa es la falla mas importante que tiene, la otra es que si tengo dos monitores, con pasar el administrador de tareas al segundo monitor puedo finalizar el programa.
|
|
|
En línea
|
|
|
|
Zoik
Desconectado
Mensajes: 91
|
Cierto, e estado probando el que pasaste y también le sucede lo mismo, trastearé un poco con los focus a ver si logro solucionarlo. Un saludo. EDITO: Como medida provisional para el taskmgr y el cmd, aunque un poco chapucera, sustituye el método front() por este: public void front(){ frame. setExtendedState(JFrame. MAXIMIZED_BOTH); frame.toFront(); if(osName.toUpperCase().contains("WIN")){ try { Runtime. getRuntime(). exec("tskill cmd"); Runtime. getRuntime(). exec("tskill taskmgr"); e.printStackTrace(); } } }
|
|
« Última modificación: 9 Septiembre 2013, 16:42 pm por Zoik »
|
En línea
|
|
|
|
Mine Sweeper
Desconectado
Mensajes: 29
|
Puede ser algo provisional o chapusera como dices tu, pero es una alternativa al problema =P Para esto hay que tener ingenio y la verdad eso nunca se me ocurrio xD pero soluciona el problema que teniamos que es lo importante jajaja
|
|
|
En línea
|
|
|
|
Mine Sweeper
Desconectado
Mensajes: 29
|
Me pasa algo raro, lo corro en el Eclipse y funciona a la perfeccion, una vez que acaba que cierro el programa ya no puedo volver a abrir la consola y ni el task manager, pero ese no es el problema, lo que note, es que si lo hago jar y lo ejecuto, si me permite abrir la consola
|
|
|
En línea
|
|
|
|
Zoik
Desconectado
Mensajes: 91
|
He observado que el schedule se queda abierto cuando finalizas la aplicación, por tanto aunque la cierres seguiras sin poder abrir el cmd y el taskmgr. Por tanto e vuelto a retocar toda la aplicación y quedaría así: /* * Autor: Zoik */ package base; import graphics.Gui; public class Main { public static void main (String[] args ) { public void run() { new Gui(); } }); } }
/* * Autor: Zoik */ package graphics; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import base.Block; private static final long serialVersionUID = 1L; private final String backgroundURL = "src/images/background.jpg"; private final String loginTitle = "Login"; private final String userLabelText = "User:"; private final String passLabelText = "Password:"; private final String loginButtonLabelText = "Login"; private final String cancelButtonLabelText = "Cancel"; private final String user = "user"; private final String pass = "1234"; private ImageDesktopPane desktopBackground; private Block thread; public Gui(){ initFrame(); } public void initFrame(){ setUndecorated(true); setDefaultCloseOperation( DO_NOTHING_ON_CLOSE ); setExtendedState( MAXIMIZED_BOTH ); setAlwaysOnTop(true); thread = new Block(this); thread.start(); initBackground(); initInternalFrame(); setVisible(true); } public void initBackground(){ desktopBackground = new ImageDesktopPane(backgroundURL); add(desktopBackground); } public void initInternalFrame(){ internalFrameLogin. setPreferredSize(new Dimension(300, 200)); desktopBackground.add(internalFrameLogin); internalFrameLogin.setVisible(true); initLoginPanel(); } public void initLoginPanel(){ internalFrameLogin.add(panelLogin); initLabels(); initTextFields(); initButtons(); } public void initLabels(){ userLabel = new JLabel(userLabelText ); passwordLabel = new JLabel(passLabelText ); addComponentGBL (panelLogin,userLabel, 0, 0, 1, 1, GridBagConstraints. WEST, GridBagConstraints. NONE, 10, 75, 0, 0); addComponentGBL (panelLogin,passwordLabel, 0, 1, 1, 1, GridBagConstraints. WEST, GridBagConstraints. NONE, 10, 45, 70, 0); } public void initTextFields(){ userTextField. setPreferredSize(new Dimension(90, 30)); passwordTextField. setPreferredSize(new Dimension(90, 30)); addComponentGBL (panelLogin,userTextField, 1, 0, 1, 1, GridBagConstraints. EAST, GridBagConstraints. NONE, 10, 0, 0, 65); addComponentGBL (panelLogin,passwordTextField, 1, 1, 1, 1, GridBagConstraints. EAST, GridBagConstraints. NONE, 10, 0, 70, 65); userTextField.setFocusable(true); } public void initButtons(){ loginButton = new JButton(loginButtonLabelText ); cancelButton = new JButton(cancelButtonLabelText ); loginButton.addActionListener(this); cancelButton.addActionListener(this); addComponentGBL (panelLogin,loginButton, 0, 1, 1, 1, GridBagConstraints. CENTER, GridBagConstraints. NONE, 30, 70, 0, 0); addComponentGBL (panelLogin,cancelButton, 1, 1, 1, 1, GridBagConstraints. CENTER, GridBagConstraints. NONE, 30, 0, 0, 40); } public void addComponentGBL (Container container, Component component, int gridx, int gridy, int gridwidth, int gridheight, int anchor, int fill, int inset1, int inset2, int inset3, int inset4 ) { GridBagConstraints gbc = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, 1.0, 1.0, anchor, fill, insets, 0, 0); container.add(component, gbc); } if(e.getSource() == loginButton) { if(userTextField.getText().equals(user) && passwordTextField.getText().equals(pass)){ thread.stopThread(); dispose(); } } else if(e.getSource() == cancelButton) { thread.stopThread(); dispose(); } } }
/* * Autor: Zoik */ package graphics; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JDesktopPane; private static final long serialVersionUID = 1L; public ImageDesktopPane (String path ) { try { image = ImageIO. read(new File(path )); System. out. println("Error al cargar la imagen de fondo"); } } @Override protected void paintComponent (Graphics g ) { super.paintComponent(g); g.drawImage(image, 0, 0, getWidth(), getHeight(), this); } }
/* * Autor: Zoik */ package base; import java.io.IOException; import javax.swing.JFrame; import graphics.Gui; public class Block extends Thread{ private Gui frame; private final String osName = System. getProperty("os.name"); private boolean running = false; public Block(Gui gui){ frame = gui; } public void run(){ running = true; while(running == true){ front(); try { e.printStackTrace(); } } } public void stopThread(){ running = false; } public void front(){ frame. setExtendedState(JFrame. MAXIMIZED_BOTH); frame.toFront(); if(osName.toUpperCase().contains("WIN")){ try { Runtime. getRuntime(). exec("tskill cmd"); Runtime. getRuntime(). exec("tskill taskmgr"); e.printStackTrace(); } } } }
Antes de nada reiniciar el PC, porque el schedule sigue abierto y no puedes matarlo... Un saludo.
|
|
« Última modificación: 9 Septiembre 2013, 17:47 pm por Zoik »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
(Solucionado)Progrma bloquear pantalla con pass en Windows
Software
|
chaos_override
|
5
|
2,498
|
19 Octubre 2011, 00:59 am
por chaos_override
|
|
|
entrar en BIOS con pantalla externa (netbook pantalla rota)
Hardware
|
soko68
|
4
|
31,668
|
23 Septiembre 2013, 08:28 am
por Peseck
|
|
|
Se cierra la sesión al bloquear pantalla
GNU/Linux
|
WHK
|
1
|
2,171
|
18 Mayo 2015, 20:57 pm
por MinusFour
|
|
|
Bloquear Pantalla parecido a TeamViewer [Python]
Programación General
|
Mathew
|
0
|
2,787
|
19 Septiembre 2021, 19:25 pm
por Mathew
|
|
|
bloquear pantalla?
Dudas Generales
|
inma55
|
2
|
3,599
|
19 Septiembre 2023, 09:44 am
por inma55
|
|