Java学习笔记 —— Java Swing编程

最近在学Java Swing,图形界面学着还是蛮好玩的,可以自己写点东西玩玩,下面来简要介绍下swing常用方法。

先说说常用方法,后面有实例代码,也可以直接看代码。

窗口

JFrame():创建一个无标题窗口。

JFrame(String s):创建一个标题为s的窗口。

setBounds(int x,int y,int wigth,int height):设置窗口初始位置x,y,宽高width,height。

setSize(int width,int height):设置窗口宽高width,height。

setLocation(int x,int y):设置窗口初始位置x,y,默认(0,0)。

setVisible(boolean x):设置窗口是否可见,默认不可见。

setResizable(boolean x):设置窗口是否可以调整大小,默认可以调整。

dispose():撤销窗口,并释放当前窗口所使用的资源。

setExtendedState(int state):设置窗口的扩展状态。

setDefaultLookAndFeelDecorated(true)

在创建窗口前使用JFrame.setDefaultLookAndFeelDecorated(true),会使窗口的外观更漂亮。

这个方法要写在new JFrame()对象之前。

JFrame test = new JFrame("testone");
JFrame.setDefaultLookAndFeelDecorated(true);    //错误

JFrame.setDefaultLookAndFeelDecorated(true);    //正确
JFrame test = new JFrame("testone");       

 

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

在写完界面的时候千万要注意写一个关闭窗口的方法,setDefaultCloseOperation(int operation):该方法用来设置单击窗口右上角的关闭图标后,程序会做出怎样的处理。方法中的参数解释如下:

  • DO_NOTHING_ON_CLOSE:不执行任何操作;
  • HIDE_ON_CLOSE:隐藏当前窗口,此时没有关闭程序。
  • DISPOSE_ON_CLOSE:隐藏当前窗口,并释放窗体中占用的其他资源。
  • EXIT_ON_CLOSE:结束窗口所在的应用程序。

默认情况下,该值被设置为 HIDE_ON_CLOSE。

使用时也可用数字0、1、2、3代替上述四个参数,如:

setDefaultCloseOperation(3) 与 setDefaultCloseOperation(EXIT_ON_CLOSE)等同。

一般情况下使用setDefaultCloseOperation(3)即可。

菜单

窗口中的菜单是我们所熟悉的组件。菜单放在菜单条里,菜单项放在菜单里。

JMenuBar():创建一个菜单条。

setJMenuBar(JMenuBar bar):将菜单条加入窗口顶端。只能向窗口添加一个菜单条

JMenu():创建无标题的菜单。

JMenu(String s):创建标题为s的菜单。

add(JMenuItem item):向菜单添加菜单项。可以向菜单添加子菜单。

getItem(int x):获得指定索引处的菜单项。

getItemCount():获得菜单项的数目。

JMenuItem(String s):创建标题为s 的菜单项。

JMenuItem(String s,Icon icon):创建标题为s的,图标为icon的菜单项。

setEnabled(boolean x):设置当前菜单项是否可以被选择。

getText():获得菜单项的名字。

setText(String s):设置菜单项的名字为指定s。

setAccelerator(KeyStroke keyStroke):设置菜单项快捷键。

为了使菜单项有一个图标,可以用图标类 Icon声明一个图标,然后使用其子类ImageIcon类创建一个图标,如

Icon icon = new ImageIcon("a.gif");

文本框

JTextField():创建文本框。

JTextField(int x):创建长度为x的文本框。

JTextField(String s):创建文本框,文本框初始内容为s。

setText(String s):设置文本框内容为s。

getText():获取文本框内容。

setEditable(boolean x):设置文本框的可编辑性,默认可编辑。

setHorizontalAlignment(int x):设置文本框文本的对齐方式。

addActionListener(ActionListener):向文本框添加动作监视器。

removeActionListener(ActionListener):移除动作监视器。

实例代码

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class GuiTest {
	
	public static void main(String[] args) {
		
		JFrame.setDefaultLookAndFeelDecorated(true);	//使窗口美观,创建窗口前使用
		GuiWm test = new GuiWm("test",600,300,240,320);    //创建对象test
		    
		JTextField text = new JTextField(10);    //创建文本框text

		text.setBounds(50,20,130,25);        //设置文本框位置,大小

		test.add(text);    //添加文本框到test

	}

}

//使用JFrame扩展一个子类GuiWm
class GuiWm extends JFrame{
	
	JMenuBar mb;    //声明菜单条
	JMenu me1,me2,me3,me4;    //声明菜单
	JMenuItem i1,i2,i3,i4,i5,i6;    //声明菜单项

	GuiWm(){}
	GuiWm(String s,int x,int y,int w,int h){
		init(s);
		setBounds(x,y,w,h);    //设置窗口位置、大小
		setVisible(true);    //设置窗口可见
		setDefaultCloseOperation(3);    //设置窗口关闭方式
	}
	
	void init(String s) {

		setTitle(s);    //设置窗口标题

                //以下为创建菜单条、菜单、菜单项
		mb = new JMenuBar();
		me1 = new JMenu("查看");
		me2 = new JMenu("界面");
		me3 = new JMenu("帮助");
		i1 = new JMenuItem("简单型");
		i2 = new JMenuItem("标准型");
		i3 = new JMenuItem("键盘输入");
		i4 = new JMenuItem("鼠标输入");
		i5 = new JMenuItem("help");
		i6 = new JMenuItem("关于");

                
		me1.add(i1);    //向菜单添加菜单项
		me1.addSeparator();    //设置分隔线,也可以不设
		me1.add(i2);

		me2.add(i3);
		me2.addSeparator();
		me2.add(i4);

		me3.add(i5);
		me3.addSeparator();
		me3.add(i6);

		mb.add(me1);    //添加菜单到菜单条
		mb.add(me2);
		mb.add(me3);

		setJMenuBar(mb);    //添加菜单条到窗口
	}
}

先写这些,持续更新中~

猜你喜欢

转载自blog.csdn.net/hunt_er/article/details/81165880
今日推荐