如何把Java程序窗口在屏幕中间显示

如何把Java程序窗口在屏幕中间显示,第1张

获取屏幕的长度和高度,然后在碰衫location 方法里进行设置边界是它们的一半就可以了,下面的getMidDimesion方顷吵毁法就是这样。

例子:

import java.awt.*

import java.awt.event.WindowEvent

import java.awt.event.WindowListener

public class testFrame extends Frame

{

public testFrame(int width,int height)

{

this.setSize( width,height)

this.setLocation(testFrame.getMidDimesion( new Dimension(width,height)))

this.setBackground( Color.BLACK )

this.setVisible( true)

this.addWindowListener(new WindowListener()

{

public void windowOpened(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowClosing(WindowEvent arg0) {

// TODO Auto-generated method stub

System.exit(0)

}

public void windowClosed(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowIconified(WindowEvent arg0) {

// TODO Auto-generated method stub

}

...获取屏幕的长度和高度雀备,然后在location 方法里进行设置边界是它们的一半就可以了,下面的getMidDimesion方法就是这样。

例子:

import java.awt.*

import java.awt.event.WindowEvent

import java.awt.event.WindowListener

public class testFrame extends Frame

{

public testFrame(int width,int height)

{

this.setSize( width,height)

this.setLocation(testFrame.getMidDimesion( new Dimension(width,height)))

this.setBackground( Color.BLACK )

this.setVisible( true)

this.addWindowListener(new WindowListener()

{

public void windowOpened(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowClosing(WindowEvent arg0) {

// TODO Auto-generated method stub

System.exit(0)

}

public void windowClosed(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowIconified(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowDeiconified(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowActivated(WindowEvent arg0) {

// TODO Auto-generated method stub

}

public void windowDeactivated(WindowEvent arg0) {

// TODO Auto-generated method stub

}

})

}

public static Point getMidDimesion(Dimension d)

{

Point p = new Point()

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize()

p.setLocation((dim.width - d.width)/2,(dim.height - d.height)/2)

return p

}

public static void main(String[] args)

{

new testFrame(300,200)

}

}

如果只是一些文本要显示,可以在上面加个JTextArea,JTextField之类的组件,用这些组件的对象调用setText("           ")方法(括号里是字符串)来显示文本

比如:

import 迹信java.awt.FlowLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.util.HashMap

import java.util.Map

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JScrollPane

import javax.swing.JTextArea

/** 文本区域

*

* @author Administrator

*

*/

public class TextArea extends JFrame {

private static final long serialVersionUID = 2306597749734227012L

private JButton b1 = new JButton("Add Data"租核), b2 = new JButton("Clear Data")

private JTextArea text = new JTextArea(20, 40)

private Map<String, String> map =

new HashMap<String, String>()

public TextArea() {

// Use up all the data:

map.put("a", "1")

map.put("b", "2")

b1.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

for(@SuppressWarnings("rawtypes") Map.Entry me : map.entrySet()){

text.append(me.getKey()+": "+me.getValue()+"\n")

}

}

})

b2.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

text.setText("")

}

})

setLayout(new FlowLayout())

add(new JScrollPane(text))

add(b1)

add(b2)

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

GUItools.SwingConsole.run(new TextArea(), 475, 475)

}

}

JTextField和这差不多,只不过是显示单行的。

如果要显示其他字体的,可以用HTML格式,如下:

import java.awt.FlowLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JLabel

/** Swing 组件上的HTML

*

* @author Administrator

*

*/

@SuppressWarnings("serial")

public class HTMLButton extends JFrame {

private JButton b = new JButton(

"<html><b><font size=+2>"+

"<center>Hello!<br><i>Press me now!")

// 必须使文本以 "<html>" 标记开始姿型轮。

public HTMLButton() {

// TODO Auto-generated constructor stub

b.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

add(new JLabel("<html>"+"<i><font size=+4>Kapow!"))

// Force a re-layout to include the new label:

validate()

}

})

setLayout(new FlowLayout())

add(b)

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

GUItools.SwingConsole.run(new HTMLButton(), 200, 500)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12399700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存