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的介绍可参考文章
使用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!");