Я пытался установить JFrame на верхнюю часть экрана в течение длительного времени. Я использовал setLocation(), setBounds() и несколько других методов безрезультатно. Все, что я хочу, это прямоугольник, который блокирует верхнюю панель экрана (где находятся кнопки минимизации и выхода). Вот мой код, я буду признателен за любую помощь!Как установить этот JFrame в верхней части экрана?
import java.awt.GridBagLayout;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
public class Annoy2 extends javax.swing.JFrame {
private int width;
private int height;
private boolean t = true;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Annoy2 inst = new Annoy2();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public Annoy2() {
super();
getDimensions();
initGUI();
}
private void initGUI() {
try {
GridBagLayout thisLayout = new GridBagLayout();
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
{
}
setUndecorated(t);
setAlwaysOnTop(true);
this.setResizable(false);
pack();
setSize(width, height);
} catch (Exception e) {
e.printStackTrace();
}
}
private void getDimensions() {
width = Integer.parseInt(JOptionPane.showInputDialog(null, "Width: ", Math.round(java.awt.Toolkit.getDefaultToolkit().getScreenSize().getWidth())));
height = Integer.parseInt(JOptionPane.showInputDialog(null, "Height: ", 30));
}
}
'setLocationRelativeTo (null)' центрирует окно на экране. Почему вы используете его, если хотите, чтобы окно находилось поверх рабочего стола? –
* «Все, что мне нужно, это прямоугольник, который блокирует верхнюю панель экрана (где кнопки спуска и выключения)» * Вместо этого используйте незадекларированный 'JFrame' или' JWindow'. –