2016-06-03 9 views
0

Wie kann ich mit der setUndercorated = true das Fenster mit einem Exit-Button verlassen?JFrame mit setUndercorated true

public static void main(String[] args) { 
    JLabel label = new JLabel("My label"); 
    label.setText("Wello!"); 

    JFrame f = new JFrame(); 
    f.setUndecorated(true); 
    f.setAlwaysOnTop(true); 
    f.setResizable(false); 
    try { 
     f.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("file"))))); 
    } catch (IOException e) { 
     e.printStackTrace();**strong text** 
    } 
    f.pack(); 
    f.setVisible(true); 
} 

}

+0

Sie müssen eine neue Exit-Schaltfläche erstellen und die Aktion 'f.dispose()' oder 'System.exit (0)' hinzufügen. – Hackerdarshi

Antwort

0

Sie benötigen, um Ihre eigene Exit-Taste, um das Panel hinzuzufügen:

import javax.swing.*; 
import javax.swing.border.LineBorder; 
import java.awt.*; 

public class Example extends JFrame { 

    public Example() { 

     setUndecorated(true); 
     setAlwaysOnTop(true); 
     setResizable(false); 
     setMinimumSize(new Dimension(300, 300)); 
     setLocationRelativeTo(null); 

     setLayout(null); 

     JButton closeButton = new JButton("X"); 
     closeButton.setFocusPainted(false); 
     closeButton.setBorder(new LineBorder(Color.black, 1)); 
     closeButton.setBounds(0, 0, 30, 30); 
     closeButton.addActionListener(e -> dispose()); 
     add(closeButton); 

     pack(); 
     setVisible(true); 
    } 

    public static void main(String[] args) { 
     new Example(); 
    } 
} 

Dies führt zu einem JFrame, die wie folgt aussieht:

enter image description here

Und wenn Sie auf die Schaltfläche klicken, wird der JFrame geschlossen.