微信小程序 > 微信公开课 > 求一个简单的JAVA小程序,要有图形界面。
微信小程序,微信公开课,求一个简单的JAVA小程序,要有图形界面。

求一个简单的JAVA小程序,要有图形界面。

2019-03-12 17:01:43

微信公开课小程序热门讨论「求一个简单的JAVA小程序,要有图形界面。」最新回复-/*计算器*/importjava.awt.*;importjavax.swing.*;importjavax.swing.border.*;importjava.awt.event.*;publicclassCalculatorimplementsActionListener{JFrameframe;JPanelpanel;JTextFieldtfShow;/*定义显示文本框*/JButtonb1[]=newJButton[10];/*数字按钮*/JButtonb2[]=newJButton[6];/*操作按钮*/booleanisNumber;/*判断是否输入多位数字的变量*/doublenumber;/*存储输入数值、显示结果的变量*/doubleresult;/*存储中间运算结果的变量*/charoperator;/*存储当前操作符的成员变量*/publicCalculator(){frame=newJFrame(计算器);frame.setSize(300,300);/*指定框架窗口的大小*/frame.setResizable(false);/*使框架窗口不可改变大小*/JPanelcontentPane=(JPanel)frame.getContentPane();contentPane.setBorder(newEmptyBorder(20,20,20,20));/*绘制框架的指定大小的空透明边框*/tfShow=newJTextField(0,25);/*指定属性的文本域*/tfShow.setHorizontalAlignment(JTextField.RIGHT);/*设置文本域中文本的对齐方式*/isNumber=true;/*初始值设置*/number=0;/*初始值设置*/result=0;/*初始值设置*/operator=;/*初始值设置*/for(inti=0;ib1.length;i++){b1[i]=newJButton(Integer.toString(i));/*创建数字按钮*/b1[i].setActionCommand(Integer.toString(i));b1[i].addActionListener(this);b1[i].setForeground(Color.blue);}Stringbs[]={/,*,,C,+,=};for(inti=0;ib2.length;i++){b2[i]=newJButton(bs[i]);/*创建操作按钮*/b2[i].setActionCommand(bs[i]);b2[i].addActionListener(this);b2[i].setForeground(Color.red);}panel=newJPanel();panel.setLayout(newGridLayout(4,5));panel.add(b1[1]);panel.add(b1[2]);panel.add(b1[3]);panel.add(b2[0]);panel.add(b1[4]);panel.add(b1[5]);panel.add(b1[6]);panel.add(b2[1]);panel.add(b1[7]);panel.add(b1[8]);panel.add(b1[9]);panel.add(b2[2]);panel.add(b1[0]);panel.add(b2[3]);panel.add(b2[4]);panel.add(b2[5]);frame.add(tfShow,BorderLayout.NORTH);/*将文本框放置在框架上方*/frame.add(panel,BorderLayout.CENTER);/*将装有按钮组的panel放在框架的中心*/frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/*设置框架窗口的默认窗口关闭操作*/frame.setVisible(true);/*设置框架可见*/}publicdoublegetDisplay(){/*返回要显示的结果*/returnnumber;}publicvoidreDisplay(){/*刷新文本域的内容*/tfShow.setText(+getDisplay());}/*对输入数字的处理*/publicvoidnumberProcess(intnum){if(isNumber&&num!=0){Strings1=Integer.toString(num);Strings2=Integer.toString((int)(this.number));this.number=Double.parseDouble(s2+s1);/*对多位数字的处理*/}else{this.number=num;}isNumber=true;/*输入连续数字(即多位数字)时为真*/}publicvoidoperationProcess(charoperator){/*根据输入的操作符改变当前操作符*/switch(operator){case:this.operator=;break;case+:this.operator=+;break;case*:this.operator=*;break;case/:this.operator=/;break;}result=number;isNumber=false;/*输入操作符时表示输入连续数字的标记变量为假*/}publicvoidclear(){number=0;result=0;}publicvoidequal(){/*计算运算结果*/switch(operator){case:result=resultnumber;break;case+:result=result+number;break;case*:result=result*number;break;case/:result=result/number;break;case:result=number;break;}number=result;/*把运算结果赋值给显示变量*/isNumber=false;operator=;}publicstaticvoidmain(Stringargs[]){Calculatorcal=newCalculator();/*创建计算器*/}publicvoidactionPerformed(ActionEvente){Stringcommand=e.getActionCommand();/*获取按钮激发的操作事件的命令名称*/charc=command.charAt(0);/*将按钮命令名称的第一个字符赋值给一个字符c*/switch(c){case1:case2:case3:case4:case5:case6:case7:case8:case9:case0:intnumber=Integer.parseInt(command);numberProcess(number);/*输入数字的处理*/break;case+:case:case*:case/:operationProcess(c);/*算数运算符的处理*/break;case=:equal();break;/*计算运算结果*/caseC:clear();break;/*清零*/}reDisplay();/*在文本域中显示信息*/}}这是我做的一个计算器:运行截图
显示时间的。importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;importjavax.swing.event.*;importjavax.swing.table.*;publicclassDateTimeextendsJApplet{privatestaticfinallongserialVersionUID=1L;publicstaticfinalStringWEEK_SUN=SUN; publicstaticfinalStringWEEK_MON=MON; publicstaticfinalStringWEEK_TUE=TUE; publicstaticfinalStringWEEK_WED=WED; publicstaticfinalStringWEEK_THU=THU; publicstaticfinalStringWEEK_FRI=FRI; publicstaticfinalStringWEEK_SAT=SAT; publicstaticfinalColorbackground=Color.white; publicstaticfinalColorforeground=Color.black; publicstaticfinalColorheaderBackground=Color.blue; publicstaticfinalColorheaderForeground=Color.white; publicstaticfinalColorselectedBackground=Color.blue; publicstaticfinalColorselectedForeground=Color.white; privateJPanelcPane; privateJLabelyearsLabel; privateJSpinneryearsSpinner; privateJLabelmonthsLabel; privateJComboBoxmonthsComboBox; privateJTabledaysTable; privateAbstractTableModeldaysModel; privateCalendarcalendar; publicDateTime(){ cPane=(JPanel)getContentPane(); } publicvoidinit(){ cPane.setLayout(newBorderLayout()); calendar=Calendar.getInstance(); calendar=Calendar.getInstance();yearsLabel=newJLabel(Year:); yearsSpinner=newJSpinner(); yearsSpinner.setEditor(newJSpinner.NumberEditor(yearsSpinner,0000));yearsSpinner.setValue(newInteger(calendar.get(Calendar.YEAR))); yearsSpinner.addChangeListener(newChangeListener(){  publicvoidstateChanged(ChangeEventchangeEvent){intday=calendar.get(Calendar.DAY_OF_MONTH);  calendar.set(Calendar.DAY_OF_MONTH,1);  calendar.set(Calendar.YEAR,((Integer)yearsSpinner.getValue()).intValue());  intmaxDay=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);  calendar.set(Calendar.DAY_OF_MONTH,daymaxDay?maxDay:day);  updateView();  }  }); JPanelyearMonthPanel=newJPanel(); cPane.add(yearMonthPanel,BorderLayout.NORTH); yearMonthPanel.setLayout(newBorderLayout()); yearMonthPanel.add(newJPanel(),BorderLayout.CENTER); JPanelyearPanel=newJPanel(); yearMonthPanel.add(yearPanel,BorderLayout.WEST); yearPanel.setLayout(newBorderLayout()); yearPanel.add(yearsLabel,BorderLayout.WEST); yearPanel.add(yearsSpinner,BorderLayout.CENTER); monthsLabel=newJLabel(Month:); monthsComboBox=newJComboBox(); for(inti=1;i=12;i++){  monthsComboBox.addItem(newInteger(i)); } monthsComboBox.setSelectedIndex(calendar.get(Calendar.MONTH)); monthsComboBox.addActionListener(newActionListener(){  publicvoidactionPerformed(ActionEventactionEvent){  intday=calendar.get(Calendar.DAY_OF_MONTH);  calendar.set(Calendar.DAY_OF_MONTH,1);  calendar.set(Calendar.MONTH,monthsComboBox.getSelectedIndex());  intmaxDay=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);  calendar.set(Calendar.DAY_OF_MONTH,daymaxDay?maxDay:day);  updateView();  }  }); JPanelmonthPanel=newJPanel(); yearMonthPanel.add(monthPanel,BorderLayout.EAST); monthPanel.setLayout(newBorderLayout()); monthPanel.add(monthsLabel,BorderLayout.WEST); monthPanel.add(monthsComboBox,BorderLayout.CENTER); daysModel=newAbstractTableModel(){  /*** */  privatestaticfinallongserialVersionUID=-3517455337953024330L;publicintgetRowCount(){return7;  }  publicintgetColumnCount(){return7;  }  publicObjectgetValueAt(introw,intcolumn){if(row==0){returngetHeader(column);}row--;Calendarcalendar=(Calendar)DateTime.this.calendar.clone();  calendar.set(Calendar.DAY_OF_MONTH,1);  intdayCount=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);intmoreDayCount=calendar.get(Calendar.DAY_OF_WEEK)-1;intindex=row*7+column;intdayIndex=index-moreDayCount+1;  if(indexmoreDayCount||dayIndexdayCount){returnnull;}else{returnnewInteger(dayIndex);}  }  }; daysTable=newCalendarTable(daysModel,calendar); daysTable.setCellSelectionEnabled(true);daysTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); daysTable.setDefaultRenderer(daysTable.getColumnClass(0),newTableCellRenderer(){  publicComponentgetTableCellRendererComponent(JTabletable,Objectvalue,booleanisSelected,booleanhasFocus,introw,intcolumn){Stringtext=(value==null)?:value.toString();JLabelcell=newJLabel(text);cell.setOpaque(true);if(row==0){cell.setForeground(headerForeground);cell.setBackground(headerBackground);}else{if(isSelected){cell.setForeground(selectedForeground);cell.setBackground(selectedBackground);}else{cell.setForeground(foreground);cell.setBackground(background);}}returncell;  }  });updateView(); cPane.add(daysTable,BorderLayout.CENTER); } publicstaticStringgetHeader(intindex){ switch(index){ case0:  returnWEEK_SUN; case1:  returnWEEK_MON; case2:  returnWEEK_TUE; case3:  returnWEEK_WED; case4:  returnWEEK_THU; case5:  returnWEEK_FRI; case6:  returnWEEK_SAT; default:  returnnull; } } publicvoidupdateView(){ daysModel.fireTableDataChanged();daysTable.setRowSelectionInterval(calendar.get(Calendar.WEEK_OF_MONTH),calendar.get(Calendar.WEEK_OF_MONTH));daysTable.setColumnSelectionInterval(calendar.get(Calendar.DAY_OF_WEEK)-1,  calendar.get(Calendar.DAY_OF_WEEK)-1);}publicstaticclassCalendarTableextendsJTable{/**  **/ privatestaticfinallongserialVersionUID=1L; privateCalendarcalendar;publicCalendarTable(TableModelmodel,Calendarcalendar){ super(model); this.calendar=calendar;}publicvoidchangeSelection(introw,intcolumn,booleantoggle,booleanextend){ super.changeSelection(row,column,toggle,extend); if(row==0){ return; } Objectobj=getValueAt(row,column); if(obj!=null){ calendar.set(Calendar.DAY_OF_MONTH,((Integer)obj).intValue()); }}} publicstaticvoidmain(String[]args){ JFrameframe=newJFrame(CalendarApplication); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); DateTimemyCalendar=newDateTime(); myCalendar.init(); frame.getContentPane().add(myCalendar); frame.setSize(240,172); frame.show(); }} 更多有关「求一个简单的JAVA小程序,要有图形界面。」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序
微信小程序,微信公开课,求一个简单的JAVA小程序,要有图形界面。

「求一个简单的JAVA小程序,要有图形界面。」热议话题订阅

方法1:微信扫描微信公开课小程序码即可订阅热议话题「求一个简单的JAVA小程序,要有图形界面。」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「求一个简单的JAVA小程序,要有图形界面。」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「求一个简单的JAVA小程序,要有图形界面。」

微信公开课小程序热议话题「求一个简单的JAVA小程序,要有图形界面。」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热议话题「求一个简单的JAVA小程序,要有图形界面。」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。