java JDialog中的setModal()无效

问题描述

我想设置一个对话框模式化,结果运行起来还是非模式化,请求各路大神的解答

解决方案

解决方案二:
package抽签助手简易版;importjavax.swing.JDialog;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;publicclassRecordFrameextendsJDialog{privateString[]record;publicJTextAreanote=newJTextArea();privateJScrollPanejsp=newJScrollPane(note);publicRecordFrame(Stringstr,inttimes,String[]digit){setTitle(str);record=newString[times];for(inti=0;i<times;i++){note.setText(note.getText()+"第"+(i+1)+"组:"+digit[i]+"n");}add(jsp);note.setEditable(false);setVisible(true);setSize(200,300);setLocation(620,300);setModal(true);}}
解决方案三:
package抽签助手简易版;importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.Font;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.ArrayList;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;import抽签助手简易版.RecordFrame;import抽签助手简易版.MyThread;publicclassMainFrameextendsJFrameimplementsActionListener{/****/privatestaticfinallongserialVersionUID=-1696744269808441347L;privateJLabeltitle=newJLabel("计科系干部培训小组抽签助手",JLabel.CENTER);privateJButtonstart=newJButton("开始");privateJButtonend=newJButton("结束");privateJButtonreset=newJButton("重置");privateJButtonrecord=newJButton("记录");privateJButtonset=newJButton("设置");privateJLabeldigit=newJLabel("准备",JLabel.CENTER);privateJPanelpan1=newJPanel();privateJPanelpan2=newJPanel();privateJPanelpan3=newJPanel();privateinttimes=0;privateString[]str=newString[12];privateString[]progressValue={"01","02","03","04","05","06","07","08","09","10","11","12"};privateArrayList<String>p=newArrayList<String>();privateMyThreadt;publicMainFrame(Stringstr){setTitle(str);title.setFont(newFont("Serif",Font.PLAIN,20));digit.setOpaque(true);digit.setBackground(Color.BLACK);digit.setForeground(Color.RED);digit.setFont(newFont("Serif",Font.PLAIN,100));//pan3.setLayout(newGridLayout(2,1,6,6));pan1.setLayout(newBorderLayout(6,3));//pan3.add(record);//pan3.add(set);pan1.add(digit,BorderLayout.CENTER);pan2.setLayout(newGridLayout(1,3,6,6));end.setEnabled(false);reset.setEnabled(false);pan2.add(start);pan2.add(end);pan2.add(record);pan2.add(reset);add(title,BorderLayout.NORTH);add(pan1,BorderLayout.CENTER);add(pan2,BorderLayout.SOUTH);title.setBorder(newEmptyBorder(20,20,0,20));pan1.setBorder(newEmptyBorder(20,20,10,20));pan2.setBorder(newEmptyBorder(10,20,20,20));setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setResizable(false);setVisible(true);setLocation(550,260);setSize(400,350);for(inti=0;i<progressValue.length;i++){p.add(progressValue[i]);}t=newMyThread(digit,p);record.addActionListener(this);start.addActionListener(this);end.addActionListener(this);reset.addActionListener(this);}publicstaticvoidmain(String[]args){newMainFrame("抽签助手");}publicvoidactionPerformed(ActionEvente){//TODO自动生成的方法存根JButtonhandle=(JButton)e.getSource();if(handle==record){newRecordFrame("记录",times,str);}elseif(handle==start){t=newMyThread(digit,p);t.start();end.setEnabled(true);start.setEnabled(false);}elseif(handle==end){str[times]=digit.getText();times++;if(times<12){start.setEnabled(true);}else{digit.setText("完毕");}end.setEnabled(false);reset.setEnabled(true);p.remove(str[times-1]);t.stop();}elseif(handle==reset){t.stop();digit.setText("准备");p=newArrayList<String>();for(inti=0;i<progressValue.length;i++){p.add(progressValue[i]);}times=0;start.setEnabled(true);end.setEnabled(false);reset.setEnabled(false);}}}
解决方案四:
package抽签助手简易版;importjava.util.ArrayList;importjavax.swing.JLabel;publicclassMyThreadextendsThread{privateJLabeldigit;privateArrayList<String>p=newArrayList<String>();//privatebooleanchange=true;publicMyThread(JLabeldigit,ArrayList<String>p){this.digit=digit;this.p=p;for(inti=0;i<p.size();i++){//System.out.print(p.get(i)+"");}}@Overridepublicvoidrun(){for(inti=0;i<p.size();i++){try{Thread.sleep(10);}catch(Exceptione){}digit.setText(p.get(i));if(i==p.size()-1)i=-1;}}}

时间: 2024-10-23 15:53:50

java JDialog中的setModal()无效的相关文章

转:java.util中的Date类

java.util中的Date类 www.linuxaid.com.cn 01-09-20 23:03 496p 处处--------------------------------------------------------------------------------     在JSP中,我们经常要处理有关日期和时间的信息,这时候你可以使用java.util中的Date类,在编写Java源程序时,情况很明显,你必须通过"import java.util.*"引入java.ut

java web中的事物是什么?

问题描述 java web中的事物是什么? java web中好多关于事物的描述,比如说事物控制.事物提交回滚什么的,到底什么事事物? 解决方案 sql server事务全攻略 一 事务的属性 事务具有ACID属性 即 Atomic原子性, Consistent一致性, Isolated隔离性, Durable永久性 原子性 就是事务应作为一个工作单元,事务处理完成,所有的工作要么都在数据库中保存下来,要么完全 回滚,全部不保留 一致性 事务完成或者撤销后,都应该处于一致的状态 隔离性 多个事务

truts2-Struts中Method方法无效

问题描述 Struts中Method方法无效 struts.xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <package name="default" extends="struts

Java 8 中的 Streams API 详解

为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream.Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作(aggregate operation),或者大批量数据操作 (

如何在Java 8中愉快地处理日期和时间

Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了. java.util.Date月份从0开始,一月是0,十二月是11,变态吧!java.time.LocalDate月份和星期都改成了enum,就不可能再用错了. java.util.Date和SimpleDateFormatter都不是线程安全的,而LocalDate和LocalTime和最基本的String一样,是不变类型,不但线程安全,

Java 8中日期和时间的处理方法_java

Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了. java.util.Date月份从0开始,一月是0,十二月是11,变态吧!java.time.LocalDate月份和星期都改成了enum,就不可能再用错了. java.util.Date和SimpleDateFormatter都不是线程安全的,而LocalDate和LocalTime和最基本的String一样,是不变类型,不但线程安全,

请教Java Swing中JTextarea问题

问题描述 请问如果控制JTextArea,使其弹出的时候窗口不超过屏幕之外. 问题补充:JtextArea是放在JDialog中,菜鸟不懂,给大家添误会了 解决方案 简单的例子import java.awt.BorderLayout;import java.awt.Frame;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.

eclipse中svn1.10.9插件设置Ignored Resources中.project等无效

问题描述 eclipse中svn1.10.9插件设置Ignored Resources中.project等无效 Myeclipse中svn1.10.9插件设置Ignored Resources中.project等不起作用下面是myeclipse配置的图片: 解决方案 重启也不可用,是插件本身问题 解决方案二: 你重启了吗?重启下试试

java对象中属性值为空字符串的问题

问题描述 java对象中属性值为空字符串的问题 业务逻辑中需要将对象中为空字符串的属性转换为null,首先我想到是将对象转为一个数组, 然后遍历数组,将""转为 null ,不过这样应该不对,大家给个思路 解决方案 用 反射 获得所有字段的数组,然后遍历判断~~~~~~ 解决方案二: 你为什么还要遍历呢,你前台传过来的数据先处理再装对象,这样才对 解决方案三: 传到后台后,先判断 if("".eques(name)){ name=null; } object.set