2014-01-16 3 views
1

Как разместить JFrame на TOP_RIGHT?Как разместить JFrame в правом верхнем углу экрана при запуске

Я знаю, что касается центра, и обычный в левом верхнем углу, но как установить верхний правый?

+2

Вы даже попробовали [это] (http : //www.google.com) ??? – csmckelvey

+0

не помогло, но спасибо – user2582318

ответ

5

В качестве примера из this answer: positioning to the bottom-right, я сделал корректировки, чтобы сделать это появится в верхнем правом углу

import java.awt.Dimension; 
import java.awt.EventQueue; 
import java.awt.GraphicsDevice; 
import java.awt.GraphicsEnvironment; 
import java.awt.Rectangle; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class TopRightFrame { 

    private void display() { 
     JFrame f = new JFrame("Top-Right Frame"); 
     f.add(new JPanel() { 

      @Override // placeholder for actual content 
      public Dimension getPreferredSize() { 
       return new Dimension(320, 240); 
      } 

     }); 
     f.pack(); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
     GraphicsDevice defaultScreen = ge.getDefaultScreenDevice(); 
     Rectangle rect = defaultScreen.getDefaultConfiguration().getBounds(); 
     int x = (int) rect.getMaxX() - f.getWidth(); 
     int y = 0; 
     f.setLocation(x, y); 
     f.setVisible(true); 
    } 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       new TopRightFrame().display(); 
      } 
     }); 
    } 
} 
+0

perfect Я нашел это здесь только сейчас, я изменил некоторые слова в моем поиске, и я получил его. Я вижу y = 0;) Большое вам спасибо; * – user2582318

+0

Опасайтесь, не у всех пользователей есть панель задач внизу экрана .... – MadProgrammer

0

Вы можете просто изменить вас существующий JFrame конструктор вставки в следующем коде:

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
      GraphicsDevice defaultScreen = ge.getDefaultScreenDevice(); 
      Rectangle rect = defaultScreen.getDefaultConfiguration().getBounds(); 
      int x = (int) rect.getMaxX() - this.getWidth(); 
      int y = 0; 
      this.setLocation(x, y); 
      this.setVisible(true); 

т.е. так выглядело бы примерно так:

public class NewJFrame extends javax.swing.JFrame { 

    /** 
    * Creates new form NewJFrame 
    */ 
    public NewJFrame() { 
     initComponents(); 

     GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
     GraphicsDevice defaultScreen = ge.getDefaultScreenDevice(); 
     Rectangle rect = defaultScreen.getDefaultConfiguration().getBounds(); 
     int x = (int) rect.getMaxX() - this.getWidth(); 
     int y = 0; 
     this.setLocation(x, y); 
     this.setVisible(true); 
    } 
Смежные вопросы