Swing编程小结

1、获取顶层panel

		JFrame frame = new JFrame("测试");
		JPanel contentPane = (JPanel) frame.getContentPane();

2、窗口位置

		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension frameSize = frame.getSize();
		frame.setLocation(screenSize.width - frameSize.width, screenSize.height
				- frameSize.height);

这三行代码可以用来设置frame窗口的位置,位于显示器右下角。


3、编辑器的创建:

		TextArea textArea = new TextArea("test");
		textArea.setEditable(false);
		JScrollPane jsPane = new JScrollPane(textArea);
		contentPane.add(jsPane);


4、如果不希望显示滚动条

		JPanel panel = new JPanel();
		TextArea textArea = new TextArea("test");
		textArea.setEditable(false);
		panel.add(textArea);
		panel.setPreferredSize(new Dimension(450, 310));// 这个宽高要大于jsPane的宽高,也就是大于他父窗口的大小
		JScrollPane jsPane = new JScrollPane(textArea);
		contentPane.add(jsPane);


5、菜单项总结

 	 <span style="white-space:pre">	</span>JMenuBar menubar = new JMenuBar();// 创建菜单工具条
		JMenu file = new JMenu("文件");// 创建菜单栏根目录标签
		JMenuItem newFileItem = new JMenuItem("新建文件");// 创建菜单项
		menubar.add(file);// 把菜单根目录标签放到菜单工具条上
		file.add(newFileItem); // 把菜单项放到指定菜单目录标签中
		file.addSeparator();// 添加分隔符
		JMenuItem newFileItem = new JMenuItem("刷新");// 创建菜单项
		frame.setJMenuBar(menuBar);


6、菜单项监听

		menu.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String s = e.getActionCommand();
				if (s.equals("退出")) {
					System.exit();
				}
			}
		});


 

7、设置组件的边框

Border border = BorderFactory.createEtchedBorder();//将边框显示出来,有时用于查看当前的panel到底有多大

BorderFactory.createTitledBorder("border","我的表单名称");//一个带标题的边框

 

8、DefaultListModel的API

		final DefaultListModel model = new DefaultListModel();
		for (int i = 0, n = labels.length; i < n; i++) {
			model.addElement(labels[i]);
		}
		JList jlist = new JList(model);
		JScrollPane scrollPane1 = new JScrollPane(jlist);
		frame.add(scrollPane1, BorderLayout.CENTER);

		JButton jb = new JButton("add F");

		jb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent actionEvent) {
				model.add(0, "First");
				model.clear();
				model.addElement("Last");
				model.addElement("Last");
				model.addElement("Last");
				model.addElement("Last");

				int size = model.getSize();
				model.insertElementAt("Middle", size / 2);
				model.set(0, "New First");
				model.setElementAt("New Last", size - 1);
				//
				model.remove(0);
				// model.removeAllElements();

				// model.removeElement("Last"); //一次只移除一个
				// model.removeElementAt(size / 2);

				// model.removeRange(0, size / 2);

			}
		});


9、更多关于JList的介绍可参考文章

Swing开发之JList篇

使用JList 可以先看看这篇文章知道些概念

		DefaultListModel listModel = new DefaultListModel();
		String[] address = new String[] { "北京", "天津", "上海", "大连", "青岛", "武汉","西安" };
		for (int i = 0; i < address.length; i++) {
			listModel.addElement(address[i]);
		}
		JList list = new JList(listModel);
		list.setSelectedIndex(0);


相对直接将address放到JList里去,DefaultListModel可以省去很多事,该类拥有众多的方法,供开发者使用。


10、JOptionPane,消息提醒窗口

JOptionPane.showMessageDialog(null, "You‘re fired!");

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值