请问下面程序中的this有什么用,还有最后一行代码不写不也是一样的吗

yuyistar 2008-04-08 09:40:12
public void jButtonConfirm_actionPerformed(ActionEvent e) {
String user;
String password;
user=jTextFieldUser.getText();
password=jTextFieldPassword.getText();
if(user.equals("admin")&password.equals("aptech")){
jOptionPaneMessage.showMessageDialog(this,"授权用户","经验证用户",JOptionPane.INFORMATION_MESSAGE);
}else{
jOptionPaneMessage.showMessageDialog(this,"非法用户名或密码","非法用户",JOptionPane.ERROR_MESSAGE);
jTextFieldUser.setText("");
jTextFieldPassword.setText("");
jTextFieldUser.setFocusable(true);
}
}
}
...全文
165 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ArrayList_dyh 2008-04-09
  • 打赏
  • 举报
回复
this是他的父组件

setFocusable 设置为ture是你的这个文本框可以得到焦点
默认的是true
所以这个可以省略
当然 像1楼所说那样 要看前面的整个代码
ArrayList_dyh 2008-04-09
  • 打赏
  • 举报
回复
jTextFieldUser.setFocusable(true); 应该是说这个文本框可以得到焦点
设置false 就是不可以把光标移到他上面了

我觉得是这意思 able一般都是 设置 可以不可以
而自动获取焦点是 文本框得到焦点 也有专门的方法 我以前用过
到JDK帮助文档里查下

但是提醒下LZ 你设置自动获取焦点 千万只能设置一个 如果多余一个的话 他会发生一个焦点抢夺的现象
yuyistar 2008-04-09
  • 打赏
  • 举报
回复
也就是说this是 jOptionPaneMessage类的父类。是 jOptionPaneMessage上面的容器
jTextFieldUser.setFocusable(true);可以清空但我试了一下不能把光标移植用户名是怎么回事
ai_longer 2008-04-09
  • 打赏
  • 举报
回复
..............
老紫竹 2008-04-09
  • 打赏
  • 举报
回复
楼上的很喜欢帮助别人哦,不错,赞一个。

下次记得用一下那个【插入源代码】的按钮,他会自动替你加上注释的颜色的。
  public void jButtonConfirm_actionPerformed(ActionEvent e) { // 按钮事件的方法
String user; // 用于保存用户名
String password; // 用于保存用户密码
user = jTextFieldUser.getText(); // 获取用户名
password = jTextFieldPassword.getText(); // 获取密码
if (user.equals("admin") & password.equals("aptech")) { // 判断输入的用户信息是否已验证
jOptionPaneMessage.showMessageDialog(this, "授权用户", "经验证用户", JOptionPane.INFORMATION_MESSAGE); // 是,则弹出消息框....
// //////////////////////////////////这里的this,是设置当前窗体为消息框的父级.你也可以写成(null,"登陆成功 !")
} else {
jOptionPaneMessage.showMessageDialog(this, "非法用户名或密码", "非法用户", JOptionPane.ERROR_MESSAGE);
jTextFieldUser.setText("");
jTextFieldPassword.setText("");
jTextFieldUser.setFocusable(true);
// //如果不是验证的用户,则把"用户名"框、“密码”框清空,并且把光标移至“用户名”框中。方便重新输入。 }
}
fir521522 2008-04-09
  • 打赏
  • 举报
回复
public void jButtonConfirm_actionPerformed(ActionEvent e) { //按钮事件的方法
String user; //用于保存用户名
String password; // 用于保存用户密码
user=jTextFieldUser.getText(); //获取用户名 password=jTextFieldPassword.getText(); //获取密码 if(user.equals("admin")&password.equals("aptech")){ //判断输入的用户信息是否已验证
jOptionPaneMessage.showMessageDialog(this,"授权用户","经验证用户",JOptionPane.INFORMATION_MESSAGE); //是,则弹出消息框....
////////////////////////////////////这里的this,是设置当前窗体为消息框的父级.你也可以写成(null,"登陆成功 !") }else{ jOptionPaneMessage.showMessageDialog(this,"非法用户名或密码","非法用户",JOptionPane.ERROR_MESSAGE);
jTextFieldUser.setText("");
jTextFieldPassword.setText("");
jTextFieldUser.setFocusable(true);
////如果不是验证的用户,则把"用户名"框、“密码”框清空,并且把光标移至“用户名”框中。方便重新输入。 }
}
}
fir521522 2008-04-09
  • 打赏
  • 举报
回复
public void jButtonConfirm_actionPerformed(ActionEvent e) { //按钮事件的方法
String user; //用于保存用户名
String password; // 用于保存用户密码
user=jTextFieldUser.getText(); //获取用户名
password=jTextFieldPassword.getText(); //获取密码
if(user.equals("admin")&password.equals("aptech")){ //判断输入的用户信息是否已验证
jOptionPaneMessage.showMessageDialog(this,"授权用户","经验证用户",JOptionPane.INFORMATION_MESSAGE); //是,则弹出消息框....
////////////////////////////////////这里的this,是设置当前窗体为消息框的父级.你也可以写成(null,"登陆成功 !")
}else{ jOptionPaneMessage.showMessageDialog(this,"非法用户名或密码","非法用户",JOptionPane.ERROR_MESSAGE);
jTextFieldUser.setText("");
jTextFieldPassword.setText("");
jTextFieldUser.setFocusable(true);
////如果不是验证的用户,则把"用户名"框、“密码”框清空,并且把光标移至“用户名”框中。方便重新输入。
}
}
}
heting1024 2008-04-08
  • 打赏
  • 举报
回复
up
云上飞翔 2008-04-08
  • 打赏
  • 举报
回复
答:
1)this:定义该对话框的父组件.此处就是你这个jButtonConfirm_actionPerformed()方法所属的对象(估计你的程序中是:JFrame对象.)
2)还有最后一行代码,不写不也是一样的吗?应该是一样的.但我估计:是不是程序其它地方有可能会将jTextFieldUser.setFocusable(false); 设置为false.若整个程序没有对它设置为false,我想是一样的.
在 AI 编码工具日新月异的今天,我们正在见证一个关键的转变:从“与单个聊天机器人对话”转向“指挥一支自动化的 AI 专家团队”。Oh My Codex,正是这一趋势的集大成者。它不是 Codex 的替代品,而是它的“类固醇”增强层。以下是对 OMX 核心价值与技术范式的深度拆解: 1. 智能体的“指挥部”:从对话到协作 OMX 的核心逻辑在于“编排”。它预设了 30 多个专业角色(如架构师、执行者、安全审计员)和 40 多项工作流技能。 这意味着你不再是面对一个通用的模型,而是在调度一个拥有明确分工的工程团队。这种角色专精化(Specialization)是解决复杂工程问题的必经之路。 2. 标准化工作流:让偶然的成功变为必然的产出 OMX 提炼了一套极具启发性的“三部曲”工作流,将模糊的意图转化为确定的代码: - $deep-interview:意图优先的深度访谈,在动手前彻底澄清边界与非目标。 - $ralplan:将澄清后的需求转化为可执行的架构计划,并进行权衡审查。 - $team 或 $ralph:根据任务规模,选择多智能体并行执行($team)或由单一负责人持续推动至完成($ralph)。 这种流程化的思维,将 AI 编码从“撞大运”变成了可预测的工程实践。 3. 团队工作树:解决并行开发的“熵增” 在多智能体协作,最头疼的是代码冲突。OMX 引入了“团队工作树(Team Worktrees)”机制: 每个 AI 协作成员都会获得一个隔离的 Git 工作树,在独立的脱离分支上运行。OMX 会自动进行增量合并跟踪和冲突检测。 这种设计让 AI 能够像真正的开发团队一样并行工作,而不会把主分支搞得一团糟。 4. 持久化状态:赋予 AI “长期记忆” OMX 在项目根目录下维护一个 .omx/ 文件夹,用于存储所有的计划、日志、内存和运行时状态。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧