
正文
java弹窗循环代码 java弹出窗口代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA的弹窗怎么做?
JAVA弹窗,有下面常见的2种方法实现:
通过JDialog(模式窗口) 类来实现.里面的写法类似JFrame
重点方法提示: setModal(true);
//当设置为true表示,如果不关闭这个弹窗,那么主界面的其他组件都无法操作,该弹窗置于其他窗口的前面
//当设置为false表示,可以绕开本弹窗,对主界面的其他组件进行操作
优点: 功能强大, 扩展性强
缺点: 代码量大.
示例图
通过JOptionPane(提示框) 来实现
效果图如下
优点: 代码量少,简单,方便, 普通场景已经够用
缺点: 扩展性不够, 复杂逻辑难以实现.
下面写一个具体案例
场景:当用于对文本域的文字,进行操作后,那么退出时,提示用户, 是否要保存已经更改后的内容. 如果用户没有修改内容,那么不用提示
重点代码
addDocumentListener--用于实现对文本内容发生改变时进行响应
addWindowListener---用于实现对窗口进行操作时进行响应
完整代码如下
import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JDDemo extends JFrame implements DocumentListener,WindowListener{
JTextArea jta;
boolean flag;
public JDDemo() {
jta = new JTextArea();//文本域
jta.setText("床前明月光");//文本域的文字--可以通过IO加载txt文档的文字
jta.setFont(new Font("宋体",Font.BOLD, 20));//文本域的字体
jta.setLineWrap(true);//设置自动换行
jta.getDocument().addDocumentListener(this);//添加文档变化事件的响应.比如修改,删除等
JScrollPane jsp = new JScrollPane(jta);//滚动面板(当文字太多时,显示滚动条)
add(jsp);
setTitle("主窗口");//标题
setSize(300, 260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//点击窗口的关闭按钮时,执行windowClosing的代码
addWindowListener(this);
setVisible(true);//窗口可见
}
public static void main(String[] args) {
new JDDemo();
}
//实现WindowListener接口,需要重写下面的6个方法, windowClosing专门处理关闭时的方法
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
if(flag){
int n = JOptionPane.showConfirmDialog(null, "已经更改了内容,需要保存后再退出吗?", "提示",JOptionPane.YES_NO_OPTION);
//n等于-1表示关闭了弹出的对话框等情况的默认值
//n等于0(JOptionPane.YES_OPTION)表示选择了Yes
//n等于1(JOptionPane.NO_OPTION)表示选择了No
if(n==JOptionPane.YES_OPTION){
//把文字保存到文件的代码省略...
System.out.println("正在使用IO进行保存..ing");
closeFrame();//关闭窗口并退出
}else if(n==JOptionPane.NO_OPTION){
System.out.println("放弃保存修改.马上退出");
closeFrame();
}
}else{
closeFrame();
}
}
public void windowClosed(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
//文档事件,有下面三个,如果触发其中一个,都可以认为修改了文档,所以需要在退出时进行提示,是否保存
public void insertUpdate(DocumentEvent e) {//插入
flag=true;
}
public void removeUpdate(DocumentEvent e) {//删除
flag=true;
}
public void changedUpdate(DocumentEvent e) {//改变
flag=true;
}
//关闭窗口的方法
public void closeFrame(){
this.setVisible(false);//窗口不可见
this.dispose();//窗口销毁
System.exit(0);//JVM虚拟机退出
}
}
运行效果图:
相关问答
Q1: java跳出多重循环
java循环语句有一下几种
do{ } while();
while(){}
for(){}
要跳出多重循环可以用break label:{};
语法格式如下:
break跳转标识符:{
for(;;){
for(;;){
break break跳转标识符;
}
}
}
实例:
test:{
for(;;){
for(;;) {
break test;
}
}
}
注意:
被加标签的代码块必须包围此break语句块。
你明白了吗?
Q2: java中,怎么跳出两层FOR循环?
采用标签方式跳出,指定跳出位置。
具体如下:
a:for(int i=0;in;i++) {
b:for(int j=0;jn;j++) {
if(n=0) {
break a;
}
}
public void forEachTest() throws Exception{
int max=100;
outer:for(int i=0;imax;i++){
System.out.println("外层for循环,第("+(i+1)+")次循环开始++++++");
扩展资料:
for循环一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
俩“;”号之间的条件表达式是一个关系表达式, 其为循环的正式开端,当条件表达式成立时执行中间循环体。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体 [2] 。
执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。
Pascal语言中的for循环:
for 循环变量:=初值 to/downto 终值 do
begin
循环体
end;
循环变量从起点到终点每次加1或减1(to 为加1,downto为减1)。
参考资料来源:百度百科--for循环
参考资料来源:百度百科--Java
Q3: java 定时弹出提示窗口
首先,给你看一个简单的代码例子先:
import java.util.*;
public class Test {
public static void main(String[] args) {
Date myDate = new Date();
Timer timer = new Timer();
timer.schedule(new MyTask(), myDate);
}
static class MyTask extends java.util.TimerTask {
public void run() {
System.out.println("________");
}
}
}
这段代码的作用是:在当前时间打印出“________”。
这里用到了Timer的schedule方法,该方法的使用有如下两种情况:
schedule(TimerTask task, Date time)设定指定任务task在指定时间time执行;
schedule(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定延迟peroid的执行。
scheduleAtFixedRate(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定频率peroid的执行。
这里要注意一点:如果是用后面两个方法的话,则要通过timer的cancel()方法结束其运行,否则会一直循环执行下去。
那么,回到你的题目,只要将Date time参数改一下、将上面的run()方法的方法体改一下就行了。
记得给我分哦~~^_^
Q4: java如何跳出循环
1、首先,这里不是循环,所以不存在跳出循环的问题。
2、代码逻辑有很多方法可以处理,如果不想抛出异常的话,最好是给一个特定值。
我给你改一下:
class Person{
private int age ;
private static final Integer DEFAULT_ERROR_AGE= -1; //这里定义一个特定的错误值
public Person(int a){
this.setAge(a) ;
}
public void setAge(int a){
if(a0a150){
age = a ;
}else{
age = DEFAULT_ERROR_AGE;
}
}
public int getAge(){
return age ;
}
public void print(){
//用条件表达式
System.out.println(age==DEFAULT_ERROR_AGE?"输入参数错误":"年龄:" + this.getAge()) ;
}
};
public class Hello{
public static void main(String args[]){
new Person(300).print() ;
}
};
Q5: idea如何能像eclipse一样打出for弹出循环体
1.排序规则
成员排序规则在Setting-Editor-Code Style中查看和设置.
先在Code Style下级菜单中选择要设置的代码类型如Java,然后在右侧tab页中选中Arrangement,对规则进行调整.
2.对文件/文件夹执行排序
在Project视图(快捷键Alt+1)中选中需要排序的文件,鼠标右键,在弹出菜单中选择Reformat Code,对应的快捷键默认是Ctrl+Alt+L,有可能和操作系统的按键(注销或锁屏)冲突,选中Rearrange entries,点击OK即可.
关于java弹窗循环代码和java弹出窗口代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








