关于Java语法的学习,同事推荐《Java核心技术卷I》,可让我看来,觉得有些高深,不太符合我的学习习惯。于是自己百度了一本《21天学通java2》,简单易学,最主要的是有很多例子在里边,我可以边看边动手练习。
这里就摘录几个常用控件的使用方法:
带有字符的按钮
JButton button = new JButton(“quit”);
JPanel pane = new JPanel();
pane.add(button);
setContentPane(pane);
带有图标的按钮
ImageIcon zap = new ImageIcon(“zap.gif”);
JButton button = new JButton(zap);
JPanel pane = new JPanel();
pane.add(button);
setContentPane(pane);
标签
JLabel tinker = new JLabel(“Tinker”, SwingConstants.LEFT);
JLabel evers = new JLabel(“Evers”);
JLabel chance = new JLabel(“Chance”, SwingConstants.RIGHT);
文本字段
JTextField name = new JTextField(30);
JTextField name = new JTextField(“Puddin N. Tane”, 30);
密码字段
创建一个密码字段,并把它的响应字符设置成#:
JPasswordField codePhrase = new JPasswordField(20);
codePhrase.setEchoChar(‘#’);
文本域
处理多行输入的可编辑文本字段
JTextArea(int, int) 带有指定行和列的文本域
JTextArea(String, int, int) 带有指定文本、行和列的文本域
滚动窗格
文本域并不包含水平或垂直滚动条
JScrollPane(Component) 包含了指定组件的滚动窗格
JScrollPane(Component, int, int) 带有指定的组件、垂直滚动条配置和水平滚动条配置的滚动窗格
JPanel pane = new JPanel();
JTextArea letter = new JTextArea(5, 15);
JScrollPane scroll = new JScrollPane(letter,
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
pane.add(scroll);
setContentPane(pane);
滚动条scrollbar
JScrollBar(int) 带有指定方向的滚动条
JScrollBar(int, int, int, int, int, int) 带有指定方向、起始值、滚动块大小、最小值和最大值的滚动条
方向:JScrollBar.HORIZONTAL或 JScrollBar.VERTICAL
起始值应该等于或者介于该滚动条的最大值和最小值之间
可以为0
滚动条的最小值
滚动条的最大值
JScrollBar bar = new JScrollBar(JScrollBar.HORIZONTAL, 33, 0, 10, 50);
复选框JCheckBox和单选按钮JRadioButton
方法:
getSelected(boolean), true表示选中该组件
isSelected(), 返回boolean值,指出该组件当前是否选中
JCheckBox(String) 带有指定文本标签的复选框
JCheckBox(Sring, boolean) 带有指定文本标签的复选框,当第二个参数为true,被选中
JCheckBox(Icon) 带有指定图标标签的复选框
JCheckBox(Icon, boolean) 带有指定图标标签的复选框,当第二个参数为true,被选中
JCheckBox(String, Icon) 带有指定文本标签和图标标签的复选框
JCheckBox(String, Icon, boolean) 带有指定文本标签和图标标签的复选框,当第二个参数为true,被选中
JRadioButton有相同参数和功能的构造函数
为了使复选框不相容,可以将多个复选框放到某个组中,这样就可以只允许选择一个。
创建一个类ButtonGroup对象,
ButtonGroup betterDarrin = new ButtonGroup();
JRadioButton r1 = new JRadioButton(”Dick York”, true);
betterDarrin.add(r1);
JRadioButton r2 = new JRadioButton(“Dick Sargent”, false);
betterDarrin.add(r2);
下拉列表和组合框JComboBox
创建下拉列表的方法:
1 使用不带参数的构造函数JComboBox()
2 组合框的方法addItem(Object)将表项加入到列表中
3 调用函数setEditable(true),即可变成组合框
组合框,用户可以在文本字段输入文本
几个方法:
getItemAt(int):返回位于整数参数所指定的索引位置的表项的文本。从0开始
getItemCount():返回列表中的表项数目
getSelectedIndex():返回列表中当前选项的索引位置
getSelectedItem():返回当前选项的文本内容
setSelectedIndex(int):选中在指定索引位置的项
setSelectedIndex(Object):选中列表中的指定对象
setMaximumRowCount(int):设置了一次能够显示出来的组合框行数
标准对话框JOptionPane
Confirm对话框:询问问题,带有用于Yes, No 和 Cancel响应的按钮
Input对话框:用来接收文本输入
Message对话框:显示信息
Option对话框:包含上面所有的三种对话框类型
Comfirm对话框:
showConfirmDialog(Component, Object): Component指出了应该被认做包含该对话框的容器,这个信息可以用来决定对话框窗口显示的位置。如果为null或该容器不是Frame对象,那么对话框会被显示在屏幕中央;Object,字符串/组件/Icon对象,显示在对话框内的信息
返回值:
YES_OPTION, NO_OPTION, CANCEL_OPTION
如:
int response;
response = JOptionPane.showConfirmDialog(null, “Should I delete all of your irreplaceable personal files”);
showConfirmDialog(Component, Object, String, int, int)
前两个参数同上,
String 标题栏
int 指明哪个选项按钮将被显示出来, YES_NO_CANCEL_OPTION, YES_NO_OPTION
int 描述对话框的类型,ERROR_MESSAGE, INFORMATION_MESSAGE, PLAIN_MESSAGE, QUESTION_MESSAGE, WARING_MESSAGE
如:
int response = JOptionPane.showConfirmDialog(null, “Error reading file. Want to try again?”,
“File Input Error”, JOptionPane.YES_NO_OPTION,
JOptionPane.ERROR_MESSAGE);
Input对话框
会询问一个问题,并用一个文本字段来存储对它的响应。
showInputDialog(Component, Object)
如:
String response = JOptionPane.showInputDialog(null, “Enter your name: “);
showInputDialog(Component, Object, String, int)
String:标题栏
int:ERROR_MESSAGE, INFORMATION_MESSAGE, PLAIN_MESSAGE,
QUESTION_MESSAGE, WARNING_MESSAGE
如:
String response = JOptionPane.showInputDialog(null, “What is your ZIP code?”,
“Enter ZIP Code”, JOptionPane.QUESTION_MESSAGE);
Message对话框
用来显示信息的简单窗口, 无返回值
showMessageDialog(Component, Object)
如:
JOptionPane.showMessageDialog(null, “The program has been uninstalled.”);
showMessageDialog(Component, Object, String, int),参数同showInputDialog(Component, Object, String, int)
如:
JOptionPane.showMessageDialog(null, “An asteroid has destroyed the Earth.”,
“Asteroid Destruction Alert”, JOptionPane.WARNING_MESSAGE);
Option对话框
showOptionDialog(Component, Object, String, int, int, Icon, Object[], Object)
参数:
该对话框的父组件
要显示的文本、图标或组件
标题栏
对话框类型:YES_NO_OPTION, YES_NO_CANCEL_OPTION, 0
要显示的图标,ERROR_MESSAGE, INFORMATION_MESSAGE, PLAIN_MESSAGE,
QUESTION_MESSAGE, WARNING_MESSAGE
要显示的一个Icon对象
一个对象组,出现在YES_NO_OPTION, YES_NO_CANCEL_OPTION没有使用的情况下
如果没有使用YES_NO_OPTION, YES_NO_CANCEL_OPTION时代表默认选项的对象
例如:
JButton[] gender = new JButton[3];
gender[0] = new JButton(“Male”);
gender[1] = new JButton(“Female”);
gender[2] = new JButton(“None of Your Business”);
int response = JOptionPane.showOptionDialog(null, “What is your gender?”,
“Gender”,
0,
JOptionPane.INFORMATION_MESSAGE,
Null,
gender,
gender[2]);
滑块JSlider
在最大值和最小值范围内通过滑动控制来设置一个整数。
方向显式地设置成类SwingConstants的两个类变量:HORIZONTAL和VERTICAL。
JSlider(int, int) 最小值,最大值
JSlider(int, int ,int) 最小值,最大值,初始值
JSlider(int, int, int, int)指定方向,最小值,最大值和初始值
可选择标签的创建:
setMajorTickSpacing(int) 按照指定的间隔放置主核对记号
setMinorTickSpacing(int) 按照指定的间隔放置从核对记号
setPaintTicks(boolean) 判断核对记号是否要显示
setPaintLabels(boolean) 判断滑块的数字标签是否显示
工具栏JToolBar
工具栏的方向:SwingConstants.HORIZONTAL, SwingConstants.VERTICAL
必须使用BorderLayout管理器进行布局,将容器分为五个区域:北、南、东、西和中央。
JToolBar() 创建一个新的工具栏
JToolBar(int)创建一个带有指定方向的工具栏
进度条JProgressBar
JProgressBar() 创建一个新的进度条
JProgressBar(int, int) 创建一个带有指定最小值和最大值的进度条
JProgressBar(int, int, int)创建一个带有指定方向,最小值和最大值的进度条
进度条的方向:SwingConstants.VERTICAL,SwingConstants.HORIZONTAL。默认为水平方向。
setMinimum(int)
setMaximum(int)
setValue(int)
setStringPainted(boolean) 进度条的文本标签设置与否
布局管理器Layout Manager
Java包含了FlowLayout(默认), GridLayout,BorderLayout, CardLayout(卡片布局), GridBagLayout(网格包布局)
使用容器的setLayout方法让它成为该容器的布局管理器
布局管理器必须在任何组件被添加到容器中之前被设置好。
GridBagLayout(网格包布局),是网格布局管理器的一个扩展。
设置窗口大小
setBounds(150,200,400, 800);
或
setSize(400, 800);
另外附上一个有用的链接,里边有一些控件的方法的使用示例(非常的全面):