现在的位置: 首页 > 综合 > 正文

java 如何让程序窗口随屏幕大小改变

2018年01月31日 ⁄ 综合 ⁄ 共 1615字 ⁄ 字号 评论关闭

 

这个问题一直困扰我很长时间了,虽然工作了一段时间,但感觉连这个问题都解决不好的话,实在对不起自己。今天我终于抽出时间,好好网上找了下资料,然后写了个简单的记事本程序,感觉是我想要的结果。所以在这里把程序帖出来,希望能对学子们有帮助。

‍package com.chapter2;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Calculator extends JFrame
{

   public Calculator()
{
   super("无标题 - 记事本");
   JMenuBar menuBar = new JMenuBar();
  
   JMenu fileMenu = new JMenu("文件");
   JMenu editMenu = new JMenu("编辑");
   JMenu formatMenu = new JMenu("格式");
   JMenu checkMenu = new JMenu("查看");
   JMenu helpMenu = new JMenu("帮助");
  
   menuBar.add(fileMenu);
   menuBar.add(editMenu);
   menuBar.add(formatMenu);
   menuBar.add(checkMenu);
   menuBar.add(helpMenu);
  
   JScrollPane scrollPane = new JScrollPane();
   scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
   scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
  
   JTextArea textArea = new JTextArea();
   scrollPane.setViewportView(textArea);
  
   this.getContentPane().add(scrollPane);
  
   this.setJMenuBar(menuBar);
   this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  
   //用来设置窗口随屏幕大小改变
   sizeWindowOnScreen(this,0.6,0.6);
   this.setVisible(true);
}

/**
*
* @param calculator
* @param widthRate 宽度比例
* @param heightRate 高度比例
*/
private void sizeWindowOnScreen(Calculator calculator, double widthRate, double heightRate)
{
   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  
   calculator.setSize(new Dimension((int)(screenSize.width * widthRate),(int)(screenSize.height *heightRate)));
}
public static void main(String[] args)
{
   Calculator calculator = new Calculator();

}

}

此程序可以直接运行的。

抱歉!评论已关闭.