java高级程序设计(第二周)
第二学习了事件处理和Swing组件。并学习了给Swing组件添加事件监听器。我学习的是组合框JComboBox类。在创建组合框时可用构造方法JComboBox(Object[] items)直接初始化组合框包含的选项,还可以使用setModel(ComBoxModel aModel)初始化和addItem(Object item)和insertItemAt(Object item, int index)等方法添加或插入选项。用到的方法有:
addItem(Object item);向选项列表尾部添加选项。
insertItemAt(Object item, int index);向列表指定位置添加选项,索引值从0开始计数。
removeItem(Object item, int index)/removeItem(int index);从选项列表中移除指定的选项,分别按对象名和索引值移除。
removeAllItems();移除选项列表中所有选项。
setSelectedItem(Object item)/setSelectedItem(int index);将指定的选项设置为组合框默认选项,分别按照对象和索引值移除。
setMaximumRoxCount(int count);设置选项最大的显示行数,默认为八行。
setEditable(Boolean isEdit);设置选泽框可否编辑,默认为不可编辑,即false.
添加组合框后在其下添加事件监听器并有相应时间响应。
package good;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class good {
public good()
{
makeFrame();
}
private void makeFrame()
{
final String username ="王伟华";
final String username1 ="林妹妹";
final String username2 ="111";
final String passwrod = "111";
final JFrame jFrame = new JFrame("信息匹配");
JDialog jd = new JDialog(jFrame, "登陆成功");
JPanel contentPane1 = (JPanel)jFrame.getContentPane();
contentPane1.setBorder(new EmptyBorder(6, 6, 6, 6));
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
jFrame.setBounds(((int)dimension.getWidth() - 200) / 2, ((int)dimension.getHeight() - 300) / 2, 250, 200);
jFrame.setResizable(false);
jFrame.setLayout(null);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] likes = {"王伟华","林妹妹","111","222"};
JComboBox comboBox = new JComboBox(likes);
comboBox.setEditable(true);
comboBox.setMaximumRowCount(6);
comboBox.setBounds(80, 25, 130, 20);
jFrame.add(comboBox);
comboBox.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
JComboBox comboBox = (JComboBox)e.getSource();
String petName = (String)comboBox.getSelectedItem();
String petName1 = (String)comboBox.getToolTipText();
updateLabel(petName);
System.out.println(petName);
System.out.println(petName1);
}
public void updateLabel(String petName) {
// TODO Auto-generated method stub
}});
String petName = (String)comboBox.getSelectedItem();
updateLabel(petName);
JLabel label1 = new JLabel("姓名");
label1.setBounds(30, 20, 100, 30);
jFrame.add(label1);
JLabel label2 = new JLabel("密码");
label2.setBounds(30, 50, 100, 30);
jFrame.add(label2);
final JPasswordField text2 = new JPasswordField("111");
text2.setBounds(80, 55, 130, 20);
jFrame.add(text2);
JButton button = new JButton("登陆");
button.setBackground(Color.gray);
button.setBounds(40, 95, 170, 50);
button.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
@Override
public void actionPerformed(ActionEvent e) {
if( (username.equals(petName)&&passwrod.equals(text2.getText()))
||(username1.equals(petName)&&passwrod.equals(text2.getText()))
||(username2.equals(petName) &&passwrod.equals(text2.getText()))) {
JOptionPane.showMessageDialog(null, "正确", "提示", JOptionPane. INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "错误", "提示", JOptionPane.ERROR_MESSAGE);
text2.setText("");
}
}
});
jFrame.add(button);
jFrame.setVisible(true);
}
private void updateLabel(String petName) {
// TODO Auto-generated method stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new good();
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步