Swing高级应用

Posted XWxjl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swing高级应用相关的知识,希望对你有一定的参考价值。

 创建一个框架

public clasjavax.swing 类 JFrame java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Frame javax.swing.JFrames Demo1 
    public static void main(String[] args) 
        // 创建JFrame
        JFrame frame = new JFrame("我的frame");
        // 显示JFrame
        frame.setVisible(true);

    

注意:需要调用setVisible(true)方法后才会显示框架

  运行程序会在窗口的左上角显示一个窗口,但是只能显示标题栏,而且关闭JFrame时,程序程序没有停止.

所以需要完成如下需求:

  1: 设置Jframe的宽度和高度

  2: 让Jframe显示在屏幕中间

  3: 关闭Jframe时,程序会停止

 设置JFrame的宽度和高度

java.awt.Window.setSize(int width, int height

查找API文档,查看 setSize方法,可以指定框架的宽度和高度.参数类型是int,注意是以像素为单位,普通的笔记本的屏幕分辨率为1280*800或者1366*768.注意:分辨率表示每平方英寸的像素数.屏幕分辨率越高,屏幕的像素越多.所以分辨率越高看到的细节就越多.

setSize方法被定义在java.awt.Component类中,被Component  的子类java.awt.Window 重写.而Jframe以继承了Windiws类所以也具备该方法.

 JFrame显示在屏幕中间

setLocationRelativeTo()方法

java.awt.Window.setLocationRelativeTo(Component c)
设置窗口相对于指定组件的位置。
如果 c 为 null,则此窗口将置于屏幕的中央。

setLocationRelativeTo(null)方法可以在屏幕上居中显示框架.

如果不想要设置在中间,可以使用

setLocation(200, 100);

 关闭JFrame程序停止

setDefaultCloseOperation(int operation)方法

javax.swing.JFrame.setDefaultCloseOperation(int operation)

该方法告诉程序,当框架关闭时结束程序.方法的参数是JFrame 的常量EXIT_ON_CLOSE

 添加完毕

public class Demo1 public static void main(String[] args)

// 创建JFrame JFrame frame = new JFrame("我的frame");

// 设置尺寸 frame.setSize(200, 100);

// JFrame在屏幕居中 frame.setLocationRelativeTo(null);

// JFrame关闭时的操作 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 显示JFrame frame.setVisible(true);

 框架中添加组件

上述案例中的框架是空的.可以通过add方法在框架中添加组件

java.awt.Container.add(Component comp)

代码:

public static void main(String[] args)

// 创建JFrame JFrame frame = new JFrame("我的frame");

// 创建按钮 JButton button = new JButton("OK");

// 向frame中添加一个按钮 frame.add(button);

// 设置尺寸 frame.setSize(200, 100);

// JFrame在屏幕居中 frame.setLocationRelativeTo(null);

// JFrame关闭时的操作 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 显示JFrame frame.setVisible(true);

运行程序,会显示上图所示窗口.调整窗口的大小,按钮都是显示在窗口的中央,并且占满整个框架.

这是因为组件(本例就是按钮)是被布局管理器放到框架中的.默认布局管理器就是将按钮放到中央.

备注: 可以通过f.setVisible(false);  隐藏窗体f.dispose();关闭窗口

      设置图片:

      setIconImage(Toolkit.getDefaultToolkit().createImage("png-0015.png"));

  JoptionPane对话框

显示一个带有OK 按钮的模态对话框。

下面是几个使用showMessageDialog 的例子:

Java代码  

JOptionPane.showMessageDialog(null, "错误信息提示", "标题", JOptionPane.INFORMATION_MESSAGE);

 效果如下:

Java代码  

JOptionPane.showMessageDialog(jPanel, "提示消息", "标题",JOptionPane.WARNING_MESSAGE);  

Java代码  

 JOptionPane.showMessageDialog(null, "提示消息.", "标题",JOptionPane.ERROR_MESSAGE);  

Java代码

 JOptionPane.showMessageDialog(null, "提示消息.", "标题",JOptionPane.PLAIN_MESSAGE); 

showOptionDialog

这个函数可以改变显示在按钮上的文字。你还可以执行更多的个性化操作。

常规的消息框:

Java代码  

int n = JOptionPane.showConfirmDialog(null, "你高兴吗?", "标题",JOptionPane.YES_NO_OPTION);//i=0/1  

输入框:

String inputValue = JOptionPane.showInputDialog("请输入你给我金额");

  面板(Panel)

面板也是一个容器的组件,可以在上面添加

注意:面板不能单独使用,必须在顶层窗口中使用。

   常见组件

一些常用的组件例如:

JLabel,

JButton ,

JTextField

JPassworldField

JRadioButton

JCheckBox

JTextArea

JList

JMenuBar

JMenu

JMenultem

 Button按钮

Java中的Swing提供了常规按钮,单选按钮,复选按钮和菜单按钮

 JButtion普通按钮

按钮Button是点击时触发动作事件的组件.

 JRadioButton单选按钮

单选按钮,可以让用户从一组选项中选择一个单一条目.例如性别.

使用单选按钮时注意将,单选按钮放在一组,需要使用java.swing.ButtonGroup. 的add方法,添加到一个组中,位于同一个组的单选按钮就是互斥的. 如果没有将单选按钮放在一个组中,就是独立的..我们让然需要把按钮添加在容器中.因为ButtonGroup添加到容器中..

  JCheckBox复选框

多选

 JLabel标签

 JTextField文本域

 JTextArea文本区域

 JComboBox组合框

 JList 列表框

例如: String[] data = "one", "two", "three" ;

      JList list = new JList(data);

      p1.add(list);

以上是关于Swing高级应用的主要内容,如果未能解决你的问题,请参考以下文章

Swing高级应用

Swing高级应用

Swing 布局 - 在保持组件尺寸的同时使用网格

ipad 怎么改pdf尺寸

JAVA Swing 改变标题栏左上角默认咖啡图标

java swing 怎么让图片大小随着窗口的缩放而缩放?为啥我插入的图片尺寸不变?