2024年10月borderlayout00(JAVA Swing 如何将JTable的内容显示在当前的界面上面,而不是新创建一个窗口来显示)

 更新时间:2024-10-12

  ⑴borderlayout(JAVASwing如何将JTable的内容显示在当前的界面上面,而不是新创建一个窗口来显示

  ⑵JAVASwing如何将JTable的内容显示在当前的界面上面,而不是新创建一个窗口来显示

  ⑶package.gxa.Export;importjava.awt.event.*;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;import.gxa.Main.Main;import.gxa.Pub.*;importjavax.swing.*;importjavax.swing.table.DefaultTableModel;publilassExportSelectPanelimplementsActionListener{JPanelpSelect;JboBoxcb;JTextFieldtfd;JLabellb;JButtonbtn,btn;publicvoidactionPerformed(ActionEvente){Objectbtn=e.getSource();PreparedStatementprep=null;ResultSetrs;if(btn==cb&&cb.getSelectedItem().equals(“入库日期“)){pSelect.add(lb);}if(btn==btn){ObjectcbName=cb.getSelectedItem();Stringcol={“iExportId“,“cEmployeeId“,“dShipmentDate“,“cGoodId“,“mPrice“,“iAmount“,“cStorageCode“};DefaultTableModelmm=newDefaultTableModel(col,);//定义一个表的模板Stringstr=tfd.getText();try{Connectionconn=Conn.getCon().con;if(tfd.getText().length()==){prep=conn.prepareStatement(“select*fromExport“);}elseif(cbName.equals(“入库单号“)){prep=conn.prepareStatement(“select*fromExportwhereiExportId=?“);prep.setString(,str);if(str.equals(““)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“请输入入库单号!“);return;}elseif(!str.matches(“^\d+$“)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“入库单号只能为数字!“);return;}}elseif(cbName.equals(“经手人ID“)){prep=conn.prepareStatement(“select*fromExportwherecEmployeeId=?“);prep.setString(,str);if(str.equals(““)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“请输入经手人!“);return;}elseif(!str.matches(“^\d+$“)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“经手人只能为数字!“);return;}}elseif(cbName.equals(“入库日期“)){prep=conn.prepareStatement(“select*fromExportwheredShipmentDate=’“+str+“’“);}elseif(cbName.equals(“货品编号“)){prep=conn.prepareStatement(“select*fromExportwhereommodityId=?“);prep.setString(,str);if(str.equals(““)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“请输入货品编号!“);return;}elseif(!str.matches(“^\d+$“)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“货品编号只能为数字!“);return;}}elseif(cbName.equals(“仓库编号“)){prep=conn.prepareStatement(“select*fromExportwherecStorageCode=?“);prep.setString(,str);if(str.equals(““)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“请输入仓库编号!“);return;}elseif(!str.matches(“^\d+$“)){JOptionPane.showMessageDialog(ExportMainPanel.getExportMainPanel(),“仓库编号只能为数字!“);return;}}rs=prep.executeQuery();//将查询得到的结果集给rswhile(rs.next()){StringiExportId=rs.getString();StringcEmployeeId=rs.getString();StringdShipmentDate=rs.getString();StringommodityId=rs.getString();StringmPrice=rs.getString();StringiAmount=rs.getString();StringcStorageCode=rs.getString();Stringstr_row={iExportId,cEmployeeId,dShipmentDate,ommodityId,mPrice,iAmount,cStorageCode};//将一行的数据存在str_row//字符串数组里mm.addRow(str_row);//添加在表模板中}rs.close();prep.close();ExportMainPanel.getExportMainPanel().jtable.setModel(mm);ExportMainPanel.getExportMainPanel().scp.add(ExportMainPanel.getExportMainPanel().jscrollpane);//将加载了表的滚动条在JFrame中显示}catch(Exceptionee){ee.printStackTrace();}}if(btn==btn){Main.getMain().setVisible(true);ExportMainPanel.getExportMainPanel().setVisible(false);}}publicExportSelectPanel(){cb=newJboBox();tfd=newJTextField();lb=newJLabel(“日期格式--::“);pSelect=newJPanel();btn=newJButton(“确定查询“);btn=newJButton(“返回主界面“);cb.addItem(“入库单号“);cb.addItem(“经手人ID“);cb.addItem(“入库日期“);cb.addItem(“货品编号“);cb.addItem(“仓库编号“);cb.addActionListener(this);btn.addActionListener(this);btn.addActionListener(this);pSelect.add(cb);pSelect.add(tfd);pSelect.add(btn);pSelect.add(btn);}}希望这段代码可以帮到你

  ⑷JTextArea或JTextPane怎样设置文字对齐

  ⑸最好用JTable来放写了一个简单的测试程序,不知道对你有没有用importjava.awt.BorderLayout;importjavax.swing.JFrame;importjavax.swing.JTable;classTestextendsJFrame{publicstaticString;{for(inti=;i《bookTableData.length;i++){bookTableData{““,“JAVA“,“雷名“,“.“,“张三“,“//“};}}privatestaticString{“图书编号“,“图书名“,“图书作者“,“图书价格“,“借书人“,“借出日期“};privatestaticJTablebookTable=newJTable(bookTableData,bookTableName);Test(){this.setLayout(newBorderLayout());this.add(bookTable,BorderLayout.NORTH);this.setBounds(,,,);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}publicstaticvoidmain(Stringargs){newTest();}}

  ⑹java怎么实现将bmp图片黑底白字转换为白底黑字将白色设置为透明色,谢谢

  ⑺package?.baidu.demo;import?java.awt.*;import?java.awt.image.BufferedImage;import?java.io.*;import?javax.imageio.ImageIO;import?javax.swing.*;public?class?App?extends?JFrame?{private?static?final?long?serialVersionUID?=?L;public?App()?{this.setSize(,?);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Box?box?=?Box.createVerticalBox();this.add(box);//?源图像路径String?imageFile?=?“images/demo.bmp“;//?源图像BufferedImage?image?=?getImage(imageFile);JLabel?label?=?new?JLabel(new?ImageIcon(image));JPanel?panel?=?new?JPanel(new?BorderLayout());panel.add(label);box.add(panel);//?转换后的图像Image?image?=?translateImage(image);JLabel?label?=?new?JLabel(new?ImageIcon(image));JPanel?panel?=?new?JPanel(new?BorderLayout());panel.add(label);box.add(panel);}BufferedImage?getImage(String?imageFile)?{BufferedImage?image?=?null;try?{image?=?ImageIO.read(new?File(imageFile));}?catch?(IOException?e)?{e.printStackTrace();}return?image;}//?转换图像?黑底白字转换为白底黑字,白色设置为透明色private?Image?translateImage(BufferedImage?image)?{int?width?=?image.getWidth();int?height?=?image.getHeight();BufferedImage?target?=?new?BufferedImage(width,?height,?BufferedImage.TYPE_INT_ARGB);for?(int?i?=?;?i?《?width;?i++)?{for?(int?j?=?;?j?《?height;?j++)?{int?val?=?image.getRGB(i,?j);int?red?=?(val?》》?)?&?xff;int?green?=?(val?》》?)?&?xff;int?blue?=?val??&?xff;red?=??-?red;green?=??-?green;blue?=??-?blue;int?alpha?=?xff;if?((red?+?green?+?blue)?/??》=?xff)?{alpha?=?x;}int?pixel?=?(alpha?《《?)?|?(red?《《?)?|?(green?《《?)?|?(blue);target.setRGB(i,?j,?pixel);}}return?target;}public?static?void?main(String?args)?{new?App().setVisible(true);}}

  ⑻Vue如何自定义滑动条改变rgb颜色

  ⑼importjava.awt.BorderLayout;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;import《ahref=(){super(“RGB“);jp=newJPanel();b=newJLabel(“R“);b=newJLabel(“G“);b=newJLabel(“B“);t=newJTextField();t=newJTextField();t=newJTextField();jb=newJButton(“确定“);jb.addActionListener(this);jp.add(b);jp.add(t);jp.add(b);jp.add(t);jp.add(b);jp.add(t);jp.add(jb);jp.setLayout(newFlowLayout());add(jp,BorderLayout.CENTER);setSize(,);setResizable(false);setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getSource().getClass().getSimpleName().equals(“JButton“)){intr=Integer.parseInt(t.getText());intg=Integer.parseInt(t.getText());intb=Integer.parseInt(t.getText());if(r》=&&r《=&&g》=&&g《=&&b》=&&b《=){Colorc=newColor(r,g,b);jp.setBackground(c);}else{System.out.println(“请输入(-)的整数!“);}}}publicstaticvoidmain(Stringargs){newRGB();}}

  ⑽java中秒倒计时(转换成string返回到Label控件的text

  ⑾importjava.awt.event.*;importjavax.swing.*;importjava.awt.*;/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*//****authorAdministrator*/publilassTimerTextextendsJFrameimplementsRunnable{JButtonjButton;JButtonjButton;JLabeljLabel;inti=;Threadth=newThread(this);volatilebooleanthreadDone=true;publicvoidrun(){while(threadDone){for(;i》=&&threadDonei--){jLabel.setText(i+““);try{Thread.sleep();}catch(Exceptione){e.printStackTrace();}}}}publicTimerText(){jButton=newJButton(“停止“);jButton=newJButton(“继续“);jLabel=newJLabel();jLabel.setText(i+““);this.add(jLabel);th.start();jButton.addActionListener(newActionListener(){OverridepublicvoidactionPerformed(ActionEvente){threadDone=false;}});jButton.addActionListener(newActionListener(){OverridepublicvoidactionPerformed(ActionEvente){if(!threadDone){threadDone=true;newThread(TimerText.this).start();}}});this.add(jButton);this.add(jButton);this.setLayout(newFlowLayout());this.setBounds(,,,);this.setVisible(true);}publicstaticvoidmain(Stringargs){newTimerText();}}

  ⑿XP系统超精美登陆界面图片怎么制做

  ⒀《styleresid=framess》element{background:argb(,,,);/*登陆界面的背景颜色*/}element{background:rcbmp(,,,sysmetric(),sysmetric(),,);/登陆界面背景图,更换背景图请在位图处导入自己所欢喜的*/}button/*定义按钮*/{background:rcbmp(,,#FFFF,,,,);/*为SCROLL背景图#FFFF为识别透明的颜色,,为图片象素如:*,直接使用图片大小后面的搞不懂了:hx:*/borderthickness:rect(,,,);}《/style》/*这开始*/《styleresid=toppanelss》element{background:argb(,,,);}element{background:rcbmp(,,#FFFF,,,,);alpha:;}element{background:rcbmp(,,#FFFF,,,,);}《/style》/*至此无需更改*/《styleresid=splashss》element{background:argb(,,,);}element{background:rcbmp(,,#FFFF,rp,rp,,);/*中央部分图片,务必使用色图片(我觉得是)*/}《/style》《styleresid=bottompanelss》element{background:argb(,,,);}element{background:argb(,,,);fontface:rcstr();/*读字符串(设置为Arial字体)*/}element/*此开始*/{background:rcbmp(,,#FFFF,,,,);}/*至此修改无效果*/element{padding:rect(rp,rp,rp,rp);}button{fontsize:pt;/*字体大小*/foreground:white;/*背景色*/cursor:hand;/*鼠标手势*/}button/*此开始*/{fontstyle:underline;}button{fontstyle:underline;/*至此搞不懂:hx:*/}element/*一此字,如SHUTDOWN和PASSWORD这此的设置*/{contentalign:wrapleft;padding:rect(rp,,,);fontsize:rcint()pt;foreground:white;}/*至此*/element{content:rcbmp(,,#FFFF,rp,rp,,);/*默认的关机按钮关机图片*/contentalign:middlecenter;/*位置*/}element{content:rcbmp(,,#FFFF,rp,rp,,);/*选中的关机按钮显示图片*/contentalign:middlecenter;/*位置*/}element/*此开始*/{content:rcbmp(,,#FFFF,rp,rp,,);contentalign:middlecenter;}element{content:rcbmp(,,#FFFF,rp,rp,,);contentalign:middlecenter;}/*至此.无需修改*/《/style》/*此开始*/《styleresid=leftpanelss》element{background:argb(,,,);fontface:rcstr();}element{animation:alpha|s|mediumslow;}element{foreground:rgb(,,);}element{fontstyle:italic;fontsize:rcint()pt;fontweight:bold;padding:rect(rp,rp,rp,);contentalign:topright;}element{foreground:rgb(,,);fontstyle:italic;fontsize:rcint()pt;fontweight:bold;padding:rect(rp,rp,rp,);contentalign:topright;}/*至此无需修改*/element/*左边问号提示参数*/{fontsize:rcint()pt;padding:rect(rp,rp,,);contentalign:wrapright;}《/style》/*至此,喜欢的便修改一下吧!/*《styleresid=centerpanelss》/*此处开始*/element{background:argb(,,,);}element{background:rcbmp(,,#FFFF,,,,);}element{background:rcbmp(,,#FFFF,,,,);}scrollbar{layoutpos:nineright;background:rgb(,,);/*至此,有待高提点*/}viewer{layoutpos:nineclient;}thumb{background:rcbmp(,,#FFFF,,,,);/*Scroll图片及参数*/borderthickness:rect(,,,);/*至此*/}repeatbutton/*定义向上箭头*/{content:rcbmp(,,-,sysmetric(),sysmetric(),,);/*至此*/}repeatbutton/*定义向下箭头*/{content:rcbmp(,,-,sysmetric(),sysmetric(),,);/*至此*/}repeatbutton/*此开始,无需修改*/{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}/*至此修改无效*/《/style》/*此开始,无需修改*/《styleresid=rightpanelss》element{background:argb(,,,);}《/style》/*至此不必修改*/《styleresid=hotaountlistss》/*定义用户参数*/element{background:argb(,,,);fontface:rcstr();/*没错的是用户名显示字体*/}selector{padding:rect(,rp,rp,rp);/*搞不懂*/:hx:}logonaount/*定义用户参数*/{cursor:hand;/*鼠标手势*/background:argb(,,,);/*修改无效*/foreground:rgb(,,);/*字体颜色*/alpha:;}logonaount{animation:rectangle|s|mediumfast;cursor:arrow;/*默认鼠标手势*/alpha:;}logonaount{cursor:hand;/*鼠标手势*/alpha:;}logonaount{cursor:hand;/*选中鼠标手势*/alpha:;}/*此处开始*/element{padding:rect(rp,rp,rp,rp);borderthickness:rect(,,,);fontsize:rcint()pt;}element{background:argb(,,,);}element{borderthickness:rect(,,,);background:argb(,,,);bordercolor:argb(,,,);margin:rect(,,rp,);animation:alpha|log|fast;alpha:;}element{background:rcbmp(,,#FFFF,rp,rp,,);borderthickness:rect(,,,);margin:rect(,,rp,);alpha:;}element{background:rcbmp(,,#FFFF,rp,rp,,);borderthickness:rect(,,,);margin:rect(,,rp,);alpha:;}element{foreground:rgb(,,);contentalign:endellipsis;}button{background:argb(,,,);foreground:rgb(,,);fontsize:rcint()pt;contentalign:wrapleft;}button{foreground:rgb(,,);fontstyle:underline;}button{foreground:rgb(,,);fontstyle:underline;}button{foreground:rgb(,,);fontsize:rcint()pt;fontweight:bold;}《/style》《styleresid=aountlistss》element{background:argb(,,,);fontface:rcstr();}selector{padding:rect(,rp,rp,rp);}logonaount{cursor:hand;foreground:rgb(,,);background:argb(,,,);animation:alpha|log|fast;alpha:;}logonaount{animation:rectangle|s|mediumfast;cursor:arrow;}element{padding:rect(rp,rp,rp,rp);borderthickness:rect(,,,);fontsize:rcint()pt;}element{background:rcbmp(,,#FFFF,,,,);}element{background:rcbmp(,,#FFFF,rp,rp,,);borderthickness:rect(,,,);margin:rect(,,rp,);}element{foreground:rgb(,,);contentalign:endellipsis;}button{background:argb(,,,);foreground:rgb(,,);fontsize:rcint()pt;contentalign:wrapleft;}button{fontstyle:underline;}button{fontstyle:underline;}button{foreground:rgb(,,);fontsize:rcint()pt;fontweight:bold;}《/style》/*至此不详细解释*/《styleresid=passwordpaness》/*定义密码域*/element{background:argb(,,,);}element{padding:rect(rp,rp,,);}element{fontface:rcstr();/*密码字体*/fontsize:rcint()pt;foreground:rgb(,,);padding:rect(rp,,,rp);}edit{background:rcbmp(,,#FFFF,,,,);/*密码框的图片*/borderthickness:rect(,,,);passwordcharacter:;/*密码默认显示为圆点*/fontface:“segoeui“;/*改变字体可更换密码显示字符*/fontsize:pt;}button/*默认确认按键图片*/{margin:rect(,,,);content:rcbmp(,,#FFFF,rp,rp,,);/*确认按键参数*/padding:rect(,,,);}button/*选中的确认按键图片*/{content:rcbmp(,,#FFFF,rp,rp,,);/*确认按键参数*/}button/*默认提示按键参数*/{margin:rect(rp,,,);content:rcbmp(,,#FFFF,rp,rp,,);}button/*选中的提示按键参数*/{content:rcbmp(,,#FFFF,rp,rp,,);}element/*输入法按钮*/{cursor:arrow;margin:rect(rp,,,);}《/style》《styleresid=scroller》/*定义滚动条参数*/scrollbar{layoutpos:ninebottom;}scrollbar{layoutpos:nineright;}viewer{layoutpos:nineclient;}thumb{background:rcbmp(,,#FFFF,,,,);content:dtb(handlemap(),,);contentalign:middlecenter;}thumb{background:rcbmp(,,#FFFF,,,,);content:dtb(handlemap(),,);}thumb{background:rcbmp(,,#FFFF,,,,);content:dtb(handlemap(),,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);width:sysmetric();height:sysmetric();}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);width:sysmetric();height:sysmetric();}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}repeatbutton{background:rcbmp(,,#FFFF,,,,);}/*绿色部分为滚动条参数,尽可能不要修改他*/《/style》/*登陆界面整体布局*/《logonframeresid=mainid=atom(frame)sheet=styleref(framess)layout=borderlayout()》/*看不懂定义*/《elementid=atom(contentcontainer)layout=verticalflowlayout(,,,)layoutpos=client》《elementid=atom(splash)sheet=styleref(splashss)layout=borderlayout()layoutpos=clientheight=rpwidth=rp》《elementsheet=styleref(toppanelss)id=atom(toppanel)height=rplayoutpos=top/》《elementsheet=styleref(toppanelss)id=atom(toppanel)width=rplayoutpos=left/》《elementsheet=styleref(toppanelss)id=atom(toppanel)width=rplayoutpos=right/》《elementid=atom(centerpanel)sheet=styleref(centerpanelss)layout=borderlayout()layoutpos=client》《scrollviewerid=atom(scroller)sheet=styleref(scroller)layoutpos=clientxscrollable=falsemargin=rect(rp,rp,rp,rp)》《selectorid=atom(aountlist)sheet=styleref(aountlistss)layout=verticalflowlayout(,,,)/》《/scrollviewer》《/element》《elementid=atom(options)sheet=styleref(bottompanelss)layout=verticalflowlayout(,,,)layoutpos=bottom》《buttonid=atom(power)layout=verticalflowlayout(,,,)layoutpos=bottomaessible=trueaRole=aName=rcstr()》/*读字符串,可以把英文改成中文喔!*/《elementid=atom(powerbutton)/》《elementcontentalign=middlecenterid=atom(label)/》/*关机按钮位置*-/《/button》《buttonid=atom(undock)layout=verticalflowlayout(,,,)margin=rect(,rp,,)aessible=trueaRole=aName=rcstr()》《elementid=atom(undockbutton)/》《elementid=atom(label)/》《/button》《/element》《/element》《elementid=atom(leftpanel)sheet=styleref(leftpanelss)layout=filllayout()height=rp》《elementid=atom(instruct)layoutpos=bottomcontent=rcstr()width=rp/》《elementid=atom(logoarea)layout=verticalflowlayout(,,,)》《elementid=atom(product)contentalign=toprightpadding=rect(rp,rp,rp,rp)background=argb(,,,)/》《elementid=atom(help)contentalign=wraprightwidth=rppadding=rect(rp,rp,rp,rp)/》《/element》《elementid=atom(msgarea)layout=verticalflowlayout(,,,)》《elementlayout=filllayout()width=》《elementid=atom(weleshadow)content=rcstr()/》《elementid=atom(wele)content=rcstr()/》《/element》《/element》《/element》《/element》《/logonframe》/*全局被显示图片的布局*/《logonaountresid=aountitemid=atom(aountitem)layout=filllayout()aessible=trueaRole=》《elementid=atom(userpanelayer)layout=borderlayout()height=rp/*用户图片及用户名占用的高度*/layoutpos=top》/*修改TOP可得到效果,有client;bottom;left;right;top;none可选*/《elementid=atom(userpane)layout=borderlayout()layoutpos=top》《elementid=atom(pictureframe)layout=verticalflowlayout(,,)layoutpos=bottom》《elementid=atom(pictureframe)layout=flowlayout(,,)layoutpos=topwidth=rpheight=rp》/*用户图片大小*/《elementid=atom(picture)/》《/element》《elementid=atom(username)layoutpos=bottom/》/*用户名显示位置*/《buttonid=atom(status)class=“status“layoutpos=none/》《buttonid=atom(status)class=“status“layoutpos=none/》《/element》《/element》《/element》《/logonaount》《elementresid=passwordpanelid=atom(passwordpanelayer)sheet=styleref(passwordpaness)layoutpos=clientlayout=borderlayout()height=rp》/*密码图片及提示输入密码的字符串占用的高度*/《elementlayout=borderlayout()layoutpos=bottom》《editid=atom(password)layoutpos=leftwidth=rp/》/*密码框大小*/《buttonid=atom(go)layoutpos=leftaessible=trueaRole=aName=rcstr()/》/*确认按钮及提示()*/《buttonid=atom(info)layoutpos=leftaessible=trueaRole=aName=rcstr()/》/*输入法*/《/element》《elementid=atom(instruct)layoutpos=bottomcontent=rcstr()/》《/element》/*密码字符串*/

  ⒁用JAVA编一个小闹钟

  ⒂importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;importjavax.swing.Timer;publilassClockextendsJFrameimplementsActionListener{publicfinalintHEIGTH=,L=,T=,N=;publicfinaldoubleRAD=Math.PI/.;intx,y,old_X,old_Y,r,x,y,w,h,ang;intsdo,mdo,hdo,old_M,old_H,hh,mm,ss;intdelay=;Calendarnow;Stringst,alarm,Items,Items,str;JButtonjb;JboBoxjc,jc,jc;JLabeljl,jl,jl,jl;JMenujm,jm,jm,jm;JMenuBarjmb;JMenuItemjmi,jmi,jmi,jmi,jmi,jmi,jmi,jmi,jmi,jmi;JTextFieldjtf,jtf,time;JPaneljp,jp,jp;Timertimer;TimeZoz=TimeZone.getTimeZone(“JST“);Toolkittoolkit=Toolkit.getDefaultToolkit();;/***《br》*方法说明:实现ActionListener类必须过载的方法*/publicstaticvoidmain(Stringargs){Clockcp=newClock();cp.setVisible(true);}Clock(){super(“Java闹钟!“);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(,);setVisible(true);ContainercontentPane=getContentPane();jp=newJPanel();jmb=newJMenuBar();jm=newJMenu(“背景颜色设置“,true);jmi=newJMenuItem(“外圈颜色“);jmi.addActionListener(this);jmi.setActionmand(“color“);jm.add(jmi);jmi=newJMenuItem(“闹钟边线颜色“);jmi.addActionListener(this);jmi.setActionmand(“color“);jm.add(jmi);jmi=newJMenuItem(“底盘颜色“);jmi.addActionListener(this);jmi.setActionmand(“color“);jm.add(jmi);jmi=newJMenuItem(“系统时间背静颜色“);jmi.addActionListener(this);jmi.setActionmand(“color“);jm.add(jmi);jmb.add(jm);jm=newJMenu(“指针颜色设置“,true);jmi=newJMenuItem(“秒针颜色“);jmi.addActionListener(this);jmi.setActionmand(“color“);jm.add(jmi);jmi=newJMenuItem(“分针颜色“);jmi.addActionListener(this);jmi.setActionmand(“color“);jm.add(jmi);jmi=newJMenuItem(“时针颜色“);jmi.addActionListener(this);jmi.setActionmand(“color“);jm.add(jmi);jmb.add(jm);jm=newJMenu(“闹铃声音设置“,true);jmi=newJMenuItem(“响铃“);jmi.addActionListener(this);jmi.setActionmand(“ring“);jm.add(jmi);jmi=newJMenuItem(“静音“);jmi.addActionListener(this);jmi.setActionmand(“ring“);jm.add(jmi);jmb.add(jm);jm=newJMenu(“帮助“,true);jmi=newJMenuItem(“使用说明“);jmi.addActionListener(this);jmi.setActionmand(“help“);jm.add(jmi);jmb.add(jm);jp.add(jmb);contentPane.add(jp,BorderLayout.NORTH);jp=newJPanel();jl=newJLabel(“闹铃时间“);jl.setFont(newFont(“楷体_GB“,Font.BOLD,));time=newJTextField(“:“,);alarm=time.getText();jb=newJButton(“修改闹铃时间“);jb.addActionListener(this);jb.setActionmand(““);jp.add(jl);jp.add(time);jp.add(jb);contentPane.add(jp,BorderLayout.SOUTH);ClockPanelclock=newClockPanel();contentPane.add(clock,BorderLayout.CENTER);//窗体添加事件监听,监听秒表的触发ActionListenertaskPerformer=newActionListener(){publicvoidactionPerformed(ActionEventevt){repaint();}};newTimer(delay,taskPerformer).start();}/***《br》*方法说明:绘制图形*/ColorC=Color.lightGray;//外圈颜色ColorC=Color.black;//边线颜色ColorC=Color.magenta;//内盘颜色ColorC=Color.blue;//背景颜色ColorC=Color.yellow;//秒针颜色ColorC=Color.green;//分针颜色ColorC=Color.red;//时针颜色publilassClockPanelextendsJPanel{publicvoidpaint(Graphicsg){h=getSize().height-;//绘制圆形g.setColor(C);g.fillOval(L+,T+,h-,h-);g.setColor(C);g.drawOval(L+,T+,h-,h-);g.setColor(C);g.fillOval(L+,T+,h-,h-);g.setColor(C);g.drawOval(L+,T+,h-,h-);r=h/-;x=+r-+L;y=+r--T;ang=;for(inti=;i《=;i++){x=(int)((r-)*Math.cos(RAD*ang)+x);y=(int)((r-)*Math.sin(RAD*ang)+y);g.drawString(““+i,x,h-y);ang-=;}x=+r+L;y=+r+T;g.drawString(“指针式时钟“,,);//获取时间now=Calendar.getInstance();hh=now.get(Calendar.HOUR_OF_DAY);//小时mm=now.get(Calendar.MINUTE);//分钟ss=now.get(Calendar.SECOND);//秒g.setColor(C);g.fillRect(,,,);//填充的矩形g.setColor(C);if(hh《)st=““+hh;elsest=““+hh;if(mm《)st=st+“:“+mm;elsest=st+“:“+mm;if(alarm.equals(st)){if(toolkit!=null)toolkit.beep();else{}}if(ss《)st=st+“:“+ss;elsest=st+“:“+ss;{g.setFont(newFont(“华文楷体“,Font.BOLD,));g.drawString(“系统时间:“+st,,);}//计算时间和图形的关系sdo=-ss*;mdo=-mm*;hdo=-hh*-mm/;//擦除秒针if(old_X》){g.setColor(C);}else{old_M=mdo;old_H=hdo;}//绘制秒针g.setColor(C);x=(int)((r-)*Math.cos(RAD*sdo)+x);y=(int)((r-)*Math.sin(RAD*sdo)+y)-*T;g.drawLine(x,y,x,(h-y));old_X=x;old_Y=y;//擦除分针和时针if(mdo!=old_M){g.setColor(C);old_M=mdo;}if(hdo!=old_H){g.setColor(C);old_H=hdo;}//绘制分针g.setColor(C);x=(int)((r-)*Math.cos(RAD*mdo)+x);y=(int)((r-)*Math.sin(RAD*mdo)+y)-*T;g.drawLine(x,y,x,(h-y));//绘制时针g.setColor(C);x=(int)((r-)*Math.cos(RAD*hdo)+x);y=(int)((r-)*Math.sin(RAD*hdo)+y)-*T;g.drawLine(x,y,x,(h-y));}//endpaint}//闹铃时间的判断及实现//闹铃声音的实现publicvoidactionPerformed(ActionEvente){//JMenuItemm=(JMenuItem)e.getSource();if(e.getActionmand()==““){intnewHou,newMin;charc;StringgetTime=JOptionPane.showInputDialog(this,“请输入闹铃时间格式如:“,“:“);repaint();//如果撤消设置时间,就什么打印nullif(getTime==null)System.out.println(getTime);//dispose();judge:if(getTime!=null){//打印输入的设置的时间System.out.println(getTime);//判断输入的是不是位字符if(getTime.length()!=){JOptionPane.showMessageDialog(time,“格式错误

  ⒃请按格式输入位数字“,“Error“,JOptionPane.ERROR_MESSAGE);repaint();breakjudge;}//判断输入的是不是数字for(inti=;i《(getTime.length());i++){c=getTime.charAt(i);if(i==&&!Character.isDigit(c))continue;//判断当前字符,如果不是数字则跳出该事件if(i!=&&!Character.isDigit(c)){JOptionPane.showMessageDialog(this,“格式错误

  ⒄请按格式输入位数字“,“Error“,JOptionPane.ERROR_MESSAGE);repaint();breakjudge;}}charhour={getTime.charAt(),getTime.charAt()};charminute={getTime.charAt(),getTime.charAt()};newHou=Integer.parseInt(String.valueOf(hour));newMin=Integer.parseInt(String.valueOf(minute));if(newHou》=||newHou《){JOptionPane.showMessageDialog(this,“格式错误

  ⒅小时应该是不小于不大于的正数“,“Error“,JOptionPane.ERROR_MESSAGE);repaint();breakjudge;}if(newMin》=||newHou《){JOptionPane.showMessageDialog(this,“格式错误

  ⒆分钟应该是小于的正数“,“Error“,JOptionPane.ERROR_MESSAGE);repaint();breakjudge;}newSetTime(newHou,newMin);}}if(e.getActionmand()==“ring“){toolkit=Toolkit.getDefaultToolkit();}if(e.getActionmand()==“ring“){System.out.println(“静音“);toolkit=null;}if(e.getActionmand()==“color“){Stringcolor;Colorc;System.out.println(“color“);color=JOptionPane.showInputDialog(this,“请输入喜欢的外圈颜色(--“,““);if(color==null){}else{if(Integer.parseInt(color)《||Integer.parseInt(color)》)JOptionPane.showInputDialog(this,“请输入喜欢的外圈颜色(--“,““);else{c=newColor(Integer.parseInt(color));C=c;}}}if(e.getActionmand()==“color“){Stringcolor;Colorc;System.out.println(“color“);color=JOptionPane.showInputDialog(this,“请输入喜欢的边线颜色(--“,““);if(color==null){}else{if(Integer.parseInt(color)《||Integer.parseInt(color)》)JOptionPane.showInputDialog(this,“请输入喜欢的边线颜色(--“,““);else{c=newColor(Integer.parseInt(color));C=c;}}}if(e.getActionmand()==“color“){Stringcolor;Colorc;System.out.println(“color“);color=JOptionPane.showInputDialog(this,“请输入喜欢的内盘颜色(--“,““);if(color==null){}else{if(Integer.parseInt(color)《||Integer.parseInt(color)》)JOptionPane.showInputDialog(this,“请输入喜欢的内盘颜色(--“,““);else{c=newColor(Integer.parseInt(color));C=c;}}}if(e.getActionmand()==“color“){Stringcolor;Colorc;System.out.println(“color“);color=JOptionPane.showInputDialog(this,“请输入喜欢的背景颜色(--“,““);if(color==null){}else{if(Integer.parseInt(color)《||Integer.parseInt(color)》)JOptionPane.showInputDialog(this,“请输入喜欢的背景颜色(--“,““);else{c=newColor(Integer.parseInt(color));C=c;}}}if(e.getActionmand()==“color“){Stringcolor;Colorc;System.out.println(“color“);color=JOptionPane.showInputDialog(this,“请输入喜欢的秒针颜色(--“,““);if(color==null){}else{if(Integer.parseInt(color)《||Integer.parseInt(color)》)JOptionPane.showInputDialog(this,“请输入喜欢的秒针颜色(--“,““);else{c=newColor(Integer.parseInt(color));C=c;}}}if(e.getActionmand()==“color“){Stringcolor;Colorc;System.out.println(“color“);color=JOptionPane.showInputDialog(this,“请输入喜欢的分针颜色(--“,““);if(color==null){}else{if(Integer.parseInt(color)《||Integer.parseInt(color)》)JOptionPane.showInputDialog(this,“请输入喜欢的分针颜色(--“,““);else{c=newColor(Integer.parseInt(color));C=c;}}}if(e.getActionmand()==“color“){Stringcolor;Colorc;System.out.println(“color“);color=JOptionPane.showInputDialog(this,“请输入喜欢的时针颜色(--“,““);if(color==null){}else{if(Integer.parseInt(color)《||Integer.parseInt(color)》)JOptionPane.showInputDialog(this,“请输入喜欢的时针颜色(--“,““);else{c=newColor(Integer.parseInt(color));C=c;}}}if(e.getActionmand()==“help“){Stringhelp;help=JOptionPane.showInputDialog(this,“输入quit退出该闹钟的使用“,“这是运行在Java中的指针式时钟“);if(help.equals(“quit“))dispose();else{}//timer.restart();}}classSetTime{StringHour;StringMinute;publicSetTime(){}publicSetTime(inthour,intminute){//当时间参数小于的时候在前面添加字符if(hour《){Hour=““+String.valueOf(hour);}else{Hour=““+String.valueOf(hour);}if(minute《){Minute=““+String.valueOf(minute);}else{Minute=““+String.valueOf(minute);}alarm=Hour+“:“+Minute;time.setText(alarm);repaint();}}}

  ⒇packagedemo;importjavax.swing.*;importjava.awt.HeadlessException;importjava.awt.BorderLayout;importjava.awt.FlowLayout;importjava.awt.Font;importjava.awt.event.ActionListener;importjava.awt.event.ActionEvent;publilassTimerextendsJFrame{privatestaticfinallongserialVersionUID=L;privatestaticfinalStringINITIAL_LABEL_TEXT=“::“;//计数线程privateCountingThreadthread=newCountingThread();//记录程序开始时间privatelongprogramStart=System.currentTimeMillis();//程序一开始就是暂停的privatelongpauseStart=programStart;//程序暂停的总时间privatelongpauseCount=;privateJLabellabel=newJLabel(INITIAL_LABEL_TEXT);privateJButtonstartPauseButton=newJButton(“开始“);privateJButtonresetButton=newJButton(“清零“);privateActionListenerstartPauseButtonListener=newActionListener(){publicvoidactionPerformed(ActionEvente){if(thread.stopped){pauseCount+=(System.currentTimeMillis()-pauseStart);thread.stopped=false;startPauseButton.setText(“暂停“);}else{pauseStart=System.currentTimeMillis();thread.stopped=true;startPauseButton.setText(“继续“);}}};privateActionListenerresetButtonListener=newActionListener(){publicvoidactionPerformed(ActionEvente){pauseStart=programStart;pauseCount=;thread.stopped=true;label.setText(INITIAL_LABEL_TEXT);startPauseButton.setText(“开始“);}};publicTimer(Stringtitle)throwsHeadlessException{super(title);setDefaultCloseOperation(EXIT_ON_CLOSE);setLocation(,);setResizable(false);setupBorder();setupLabel();setupButtonsPanel();startPauseButton.addActionListener(startPauseButtonListener);resetButton.addActionListener(resetButtonListener);thread.start();//计数线程一直就运行着}//为窗体面板添加边框privatevoidsetupBorder(){JPanelcontentPane=newJPanel(newBorderLayout());contentPane.setBorder(BorderFactory.createEmptyBorder(,,,));this.setContentPane(contentPane);}//配置按钮privatevoidsetupButtonsPanel(){JPanelpanel=newJPanel(newFlowLayout());panel.add(startPauseButton);panel.add(resetButton);add(panel,BorderLayout.SOUTH);}//配置标签privatevoidsetupLabel(){label.setHorizontalAlignment(SwingConstants.CENTER);label.setFont(newFont(label.getFont().getName(),label.getFont().getStyle(),));this.add(label,BorderLayout.CENTER);}//程序入口publicstaticvoidmain(Stringargs){try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exceptione){e.printStackTrace();}Timerframe=newTimer(“计时器“);frame.pack();frame.setVisible(true);}privateclassCountingThreadextendsThread{publicbooleanstopped=true;privateCountingThread(){setDaemon(true);}Overridepublicvoidrun(){while(true){if(!stopped){longelapsed=System.currentTimeMillis()-programStart-pauseCount;label.setText(format(elapsed));}try{sleep();//毫秒更新一次显示}catch(InterruptedExceptione){e.printStackTrace();System.exit();}}}//将毫秒数格式化privateStringformat(longelapsed){inthour,minute,second,milli;milli=(int)(elapsed%);elapsed=elapsed/;second=(int)(elapsed%);elapsed=elapsed/;minute=(int)(elapsed%);elapsed=elapsed/;hour=(int)(elapsed%);returnString.format(“%d:%d:%d%d“,hour,minute,second,milli);}}}你可以试试,希望能帮到你!

  ⒈怎么编写一个倒计时的java的程序求具体步骤!

  ⒉基于控制台的话很简单的,我跟你说一下大体思路吧,二话不说先来个for循环,然后输出倒计时的数字,程序睡一秒,在输出倒计时数字,如此循环,简单吧,下面看程序:publicstaticvoidmain(Stringargs){for(inti=;i》;i--){System.out.print(i+““);try{Thread.sleep();}catch(InterruptedExceptione){e.printStackTrace();}}System.err.print(“爆炸“);}其他基于网页的还是基于用户界面都可以使用这个思路的

您可能感兴趣的文章:

相关文章