Swing编程小结

来源:互联网 发布:js怎么写乘法表 编辑:程序博客网 时间:2024/05/17 22:55

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!");

 

 

0 0