java图形swing界面设计_第1页
java图形swing界面设计_第2页
java图形swing界面设计_第3页
java图形swing界面设计_第4页
java图形swing界面设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信 息 工 程 学 院实验报告的内容与格式按任课教师的要求书写。 Java程序设计 实验/实习报告学院:理学院班级:计算101姓名:洪龙龙学号:2010014549 成绩:AJAVA图形用户界面1、 实验/实习过程实验题1源代码: /* MyFrame.java */package javaapplication1;import java.awt.*;import javax.swing.*;public class MyFrame extends JFrame JMenu menu1,menu2,menu3,menu4,menu5,menu6,menu7,menu8; JTextField

2、textfield; JButton button; JLabel label; JTextArea textarea; JCheckBox checkbox1,checkbox2; JRadioButton radiobutton1,radiobutton2; JComboBox combobox; public MyFrame(String s) super(s); Container contentPane=getContentPane(); contentPane.setLayout(new BorderLayout(10,10); setBackground(Color.WHITE)

3、; /菜单栏 JMenuBar menubar=new JMenuBar(); /菜单选项 menu1=new JMenu(File); menu2=new JMenu(Edit); menu3=new JMenu(Nagivate);menu4=new JMenu(Search); menu5=new JMenu(Project);menu6=new JMenu(Run); menu7=new JMenu(Window);menu8=new JMenu(Help); menubar.add(menu1);menubar.add(menu2); menubar.add(menu3);menub

4、ar.add(menu4); menubar.add(menu5);menubar.add(menu6); menubar.add(menu7);menubar.add(menu8); /菜单选项 JMenuItem menuitem1=new JMenuItem(Open,new ImageIcon(images/other.png); JMenuItem menuitem2=new JMenuItem(Exit,new ImageIcon(images/Warning.png); menu1.add(menuitem1);menu1.add(menuitem2); contentPane.

5、add(menubar,BorderLayout.NORTH); JPanel pMiddle=new JPanel(new GridLayout(3,1); JPanel pTop=new JPanel(new GridLayout(1,2); /标签 label=new JLabel(Fill No or Yes:,SwingConstants.RIGHT); label.setIcon(new ImageIcon(images/l.gif); /文本框 textfield=new JTextField(null,15); JPanel pDepressed=new JPanel(new

6、GridLayout(4,1); pDepressed.add(pTop); pTop.add(label);pTop.add(textfield); pMiddle.add(pDepressed); /文本区 JSplitPane splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); textarea=new JTextArea(This is a text area.,300,20); textarea.setLineWrap(true);/自动换行 pMiddle.add( new JScrollPane(textarea); JP

7、anel pBottom=new JPanel(); JPanel pBottomLeft=new JPanel(new GridLayout(1,2); JPanel pBottomRight=new JPanel(new GridLayout(1,2); /单选按钮 pBottomLeft.setBorder(BorderFactory.createTitledBorder(Gender); radiobutton1=new JRadioButton(Male); radiobutton2=new JRadioButton(Female); pBottomLeft.add(radiobut

8、ton1);pBottomLeft.add(radiobutton2); pBottom.add(pBottomLeft); /选择框 pBottomRight.setBorder(BorderFactory.createTitledBorder(Hobby); checkbox1=new JCheckBox(Basketball); checkbox2=new JCheckBox(Music); pBottomRight.add(checkbox1);pBottomRight.add(checkbox2); pBottom.add(pBottomRight); pMiddle.add(pBo

9、ttom); contentPane.add(pMiddle,BorderLayout.CENTER); String liststr=信计101班,01.孙 望,02.刘镇珲, 03.高冰涛,04.马文龙,05.王德平,06.李笑晗,07.王 磊, 08.郭松涛,09.吴 丹,10.陈方方,11.王 东,12.赵海霞, 13.刘小瑞,14.洪龙龙,15.袁明浩,16.章 清,17.王浩羽,18.李永晋, 19.景蔚蔚,20.刘 艺,21.孙宏杰,22.卞一珺,23.丁良棋,24.李 畅 ; /下拉列表 combobox=new JComboBox(liststr); JPanel pLast

10、=new JPanel(new GridLayout(1,2); button=new JButton(Start,new ImageIcon(images/file-readonly.png); pLast.add(button);pLast.add(combobox); contentPane.add(pLast,BorderLayout.SOUTH); pack(); setSize(500,400); setVisible(true); public static void main(String args) MyFrame frame=new MyFrame(My Frame Des

11、ign); 程序的运行结果: 该图显示菜单选项 该图显示下拉列表实验题2:源代码: /* CalculatorPanel.java */package javaapplication1;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class CalculatorPanel extends JFrame implements ActionListener JTextField textfield=new JTextField(0); JButton button=new JButton24; JPan

12、el panel=new JPanel(new BorderLayout(1,5); JPanel panel1=new JPanel(new BorderLayout(1,14); JButton textarea=new JButton(确定); public CalculatorPanel(String s) super(s); Container contentPane=getContentPane(); contentPane.setLayout(new BorderLayout(3,3); textfield.setEnabled(false);/不可编辑 textfield.se

13、tHorizontalAlignment(JTextField.RIGHT);/右对齐 panel.add(textfield,BorderLayout.NORTH); JPanel panel2=new JPanel(new GridLayout(1,4,10,2); button23=new JButton(Back);button22=new JButton(CE); button21=new JButton(C);button20=new JButton(About); for(int i=23;i=20;i-) buttoni.setForeground(Color.blue); p

14、anel2.add(buttoni); panel1.add(panel2,BorderLayout.NORTH); JPanel panel3=new JPanel(new GridLayout(1,2,12,2); JPanel panel4=new JPanel(new GridLayout(4,3,7,7); for(int i=9;i=0;i-) buttoni=new JButton(Integer.toString(i); panel4.add(buttoni); button10=new JButton(+/-); button11=new JButton(.); panel4

15、.add(button10); panel4.add(button11); panel3.add(panel4); button12=new JButton(/);button12.setForeground(Color.red); button13=new JButton(sqrt); button14=new JButton(*);button14.setForeground(Color.red); button15=new JButton(%); button16=new JButton(-);button16.setForeground(Color.red); button17=new

16、 JButton(1/x); button18=new JButton(+);button18.setForeground(Color.red); button19=new JButton(=);button19.setForeground(Color.red); JPanel panel5=new JPanel(new GridLayout(4,2,8,8); for(int i=12;i20;i+) panel5.add(buttoni); panel3.add(panel5); panel1.add(panel3,BorderLayout.CENTER); panel.add(panel

17、1,BorderLayout.CENTER); contentPane.add(panel); for(int i=0;i24;i+) buttoni.addActionListener(this); textarea.addActionListener(this); setSize(350,250); setVisible(true);/设置可见 setLocationRelativeTo(null); public void actionPerformed(ActionEvent e) if(e.getSource()=button20) JOptionPane.showMessageDi

18、alog(null, 本计算器由龙龙同学开发, + 任何单位和个人不n得以此进行任何形式的商业活动!版权所 + 有,违n法必究n2013/04/10 23:20:49,Metion, JOptionPane.ERROR_MESSAGE,new ImageIcon(images/dp.gif); public static void main(String args) CalculatorPanel w=new CalculatorPanel(简易计算器); 程序的运行结果:点击“About”按钮(其他按钮的功能未予实现):实习题3:/* ComputerFrame.java */package

19、 javaapplication1;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.util.Random;public class ComputerFrame extends JFrame implements ActionListener JButton getProblem,giveAnswer; JTextField textOne,textTwo,textResult; JLabel operatorLabel,operatorEqual,message; public Comput

20、erFrame(String s) super(s); Container contentPane=getContentPane(); contentPane.setLayout(new GridLayout(2,1); JPanel panel1=new JPanel(new GridLayout(1,6); JPanel panel2=new JPanel(new GridLayout(1,4); getProblem=new JButton(获取题目); getProblem.setBounds(50, 10, 10, 10); getProblem.addActionListener(

21、this); textOne=new JTextField(); textOne.setHorizontalAlignment(JTextField.CENTER);/居中对齐 textOne.setEditable(false);/不可编辑 operatorLabel=new JLabel(+); textTwo=new JTextField(); textTwo.setHorizontalAlignment(JTextField.CENTER); textTwo.setEditable(false);/不可编辑 operatorEqual=new JLabel(=); textResult

22、=new JTextField(); textResult.setHorizontalAlignment(JTextField.CENTER); textResult.setEditable(true);/可编辑 panel1.add(getProblem);panel1.add(textOne); panel1.add(operatorLabel);panel1.add(textTwo); panel1.add(operatorEqual);panel1.add(textResult); giveAnswer=new JButton(确认答案); giveAnswer.addActionLi

23、stener(this); message=new JLabel(你还没回答呢); JPanel blank=new JPanel();/空面板 panel2.add(blank);/加上空面板 panel2.add(giveAnswer); panel2.add(message); contentPane.add(panel1); contentPane.add(panel2); setSize(600,100); setVisible(true); public void actionPerformed(ActionEvent e)/*throws NumberFormatExceptio

24、n*/ Random random1=new Random(); Random random2=new Random(); if(e.getSource()=getProblem) /textOne和textTwo中 获取两个0-1000的随机数 textOne.setText(Integer.toString(random1.nextInt(1001); textTwo.setText(Integer.toString(random1.nextInt(1001); int choice=random2.nextInt()%4; switch(choice) case 0: operatorL

25、abel.setText(+); break; case 1: operatorLabel.setText(-); break; case 2: operatorLabel.setText(*); break; case 3: operatorLabel.setText(/); break; if(e.getSource()=giveAnswer) String judge1=new String(-?1-90-9*);/整数数字字符串 String judge2=new String(-?0-9+.0-9+);/浮点数数字字符串 if(textResult.getText()=null) m

26、essage.setText(你还没回答呢); if(textResult.getText().matches(judge1)=false & textResult.getText().matches(judge2)=false ) message.setText(请输入数数字符); textResult.setText(); JOptionPane.showMessageDialog(null,输入非数字异常,警告提示, JOptionPane.ERROR_MESSAGE,new ImageIcon(images/h.gif); System.exit(0); if(operatorLabe

27、l.getText()=+) if(Integer.parseInt(textResult.getText()=Integer.parseInt(textOne.getText() +Integer.parseInt(textTwo.getText() message.setText(您回答正确); else message.setText(您回答错误); if(operatorLabel.getText()=-) if(Integer.parseInt(textResult.getText()=Integer.parseInt(textOne.getText() -Integer.parseInt(textTwo.getText() message.setText(您回答正确); else message.setText(您回答错误); if(operatorLabel.getText()=*) if(Integer.parseInt(textResult.getText()=Integer.parseInt(textOne.ge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论