JAVA实验报告 图形用户界面设计 GUI
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程 专业班级 姓名
java 程序设计
实验项目 班内序号 学号Baidu Nhomakorabea
图形用户界面
成绩 指导教师 实验日期
2010-1-4
实验目的:
1、熟悉GUI设计步骤 2、掌握GUI各个组件的用法
实验要求:
1.使用BorderLayout将JFrame布局分为左右两块;左边使用GridLayout,半酣3个按钮;;右边JLabel 里显示一幅幅画,按钮空JLabel是否显示滚动条。
实验小结:
在使用 GUI 图形用户界面设计的过程中,根据所需的控件加以编程即可,好处是无需太多算 法,而且以上几个不同的窗体功能实现基本类似,在本次实验中通过编写窗体控件,熟悉了 GUI 的设计和用法。
运行结果如图所示
4.编写Application程序,构造一个GUI,实现对两个数的加、减、乘、除功能。应含有3个JTextField 和1个JButton
源代码如下: import java.awt.*; import javax.swing.*; import java.awt.event.*;
class Form extends JFrame implements ActionListener{ JTextField a=new JTextField(6); JTextField b=new JTextField(6); JTextField c=new JTextField("+",1); JButton btn=new JButton("计算"); JLabel lab=new JLabel("="); public Form(){ Container ct=getContentPane(); ct.add(a); ct.add(c); ct.add(b); ct.add(lab); ct.add(btn); ct.setLayout(new FlowLayout()); btn.addActionListener(this); pack(); setVisible(true); }
public void actionPerformed(ActionEvent event){ int m = Integer.parseInt(a.getText()); int n = Integer.parseInt(b.getText()); String f=c.getText().trim(); if(f=="+"){ int r=m+n; lab.setText("="+r); } else if(f=="-"){ int r=m-n; lab.setText("="+r); } else if(f=="*"||f=="×"){ int r=m*n; lab.setText("="+r); } else if(f=="/"||f=="÷"){ int r=m/n; lab.setText("="+r); } } } public class counter{ public static void main(String[] args) { Form form=new Form(); form.setVisible(true); } }
} }
class rightPanel extends JPanel{ public rightPanel(){ JLabel label=new JLabel(new ImageIcon("image.jpg")); label.setToolTipText("西瓜帽");
JScrollPane scr=new JScrollPane(label,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL _SCROLLBAR_ALWAYS);
运行结果如图所示
3.联系使用JTable。包括姓名、学号、语文成绩、数学成绩、总分共5项 源代码如下: import java.awt.*; import javax.swing.*;
public class table{ public static void main(String args[]){ JFrame form=new JFrame("Table试验"); final Object[] row={"姓名","学号","语文成绩","数学成绩","总分"}; Object[][] rowData = { {"张三", "01", "81", "80", "160"},
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
class CFrame extends JFrame{ public CFrame(String title){ setTitle(title); setBackground(Color.BLUE); } }
public class dTest{ public static void main(String args[]){ Form form=new Form(); form.setSize(300,200); form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); form.setVisible(true); } } class Form extends JFrame implements ActionListener{ private Dial dia; JLabel lab=new JLabel("请输入"); public Form(){ JButton btn1=new JButton("Yes"); JButton btn2=new JButton("No"); getContentPane().setLayout(new GridLayout(3,1)); add(lab); add(btn1); add(btn2); setTitle("inputprac"); btn1.addActionListener(this); btn2.addActionListener(this); } public void actionPerformed(ActionEvent event){ if(event.getActionCommand()=="输入"){ dia=new Dial(this,"请输入内容",true); dia.setVisible(true); lab.setText(dia.getSt()); } else{ System.exit(0); } } }
源代码如下: import javax.swing.*; import java.awt.*;
public class frameTest{ public static void main(String args[]){ CFrame frame=new CFrame("Frame Test"); Container pane=frame.getContentPane(); pane.add(new leftPanel(),BorderLayout.WEST); pane.add(new rightPanel(),BorderLayout.EAST); frame.pack();
public Dial(JFrame frame,String title,boolean b){ super(frame,title,b); getContentPane().setLayout(new FlowLayout()); panel.add(text); panel.add(btn1); btn1.addActionListener(this); getContentPane().add(panel); pack(); } public void actionPerformed(ActionEvent event){ this.dispose(); } public String getSt(){ return text.getText(); } }
{"李四", "02", "93", "72", "165"}, {"王麻子", "03", "99", "97", "196"}, }; JTable tb=new JTable(rowData,row); JScrollPane pane= new JScrollPane (tb); form.getContentPane().add(tb); form.setVisible(true); form.pack(); } }
class leftPanel extends JPanel{ public leftPanel(){ JButton bt1=new JButton("view"); JButton bt2=new JButton("clear"); JButton bt3=new JButton("no idea");
setLayout(new GridLayout(2,2,100,100)); add(bt1); add(bt2); add(bt3);
bt1.addActionListener(this); bt2.addActionListener(this); bt3.addActionListener(this);
class Dial extends JDialog implements ActionListener{ private JTextField text=new JTextField("change"); private JButton btn1=new JButton("确定"); private JPanel panel=new JPanel();
add(label); add(scr); } }
运行结果如图所示
2. 练习使用对话框。包括一个JLabel和两个JButton,按任何一个JButton都会产生一个输入对话框, 按确定后将输入内容在JLabel中显示出来
源代码如下: import javax.swing.*; import java.awt.*; import java.awt.event.*;
课程 专业班级 姓名
java 程序设计
实验项目 班内序号 学号Baidu Nhomakorabea
图形用户界面
成绩 指导教师 实验日期
2010-1-4
实验目的:
1、熟悉GUI设计步骤 2、掌握GUI各个组件的用法
实验要求:
1.使用BorderLayout将JFrame布局分为左右两块;左边使用GridLayout,半酣3个按钮;;右边JLabel 里显示一幅幅画,按钮空JLabel是否显示滚动条。
实验小结:
在使用 GUI 图形用户界面设计的过程中,根据所需的控件加以编程即可,好处是无需太多算 法,而且以上几个不同的窗体功能实现基本类似,在本次实验中通过编写窗体控件,熟悉了 GUI 的设计和用法。
运行结果如图所示
4.编写Application程序,构造一个GUI,实现对两个数的加、减、乘、除功能。应含有3个JTextField 和1个JButton
源代码如下: import java.awt.*; import javax.swing.*; import java.awt.event.*;
class Form extends JFrame implements ActionListener{ JTextField a=new JTextField(6); JTextField b=new JTextField(6); JTextField c=new JTextField("+",1); JButton btn=new JButton("计算"); JLabel lab=new JLabel("="); public Form(){ Container ct=getContentPane(); ct.add(a); ct.add(c); ct.add(b); ct.add(lab); ct.add(btn); ct.setLayout(new FlowLayout()); btn.addActionListener(this); pack(); setVisible(true); }
public void actionPerformed(ActionEvent event){ int m = Integer.parseInt(a.getText()); int n = Integer.parseInt(b.getText()); String f=c.getText().trim(); if(f=="+"){ int r=m+n; lab.setText("="+r); } else if(f=="-"){ int r=m-n; lab.setText("="+r); } else if(f=="*"||f=="×"){ int r=m*n; lab.setText("="+r); } else if(f=="/"||f=="÷"){ int r=m/n; lab.setText("="+r); } } } public class counter{ public static void main(String[] args) { Form form=new Form(); form.setVisible(true); } }
} }
class rightPanel extends JPanel{ public rightPanel(){ JLabel label=new JLabel(new ImageIcon("image.jpg")); label.setToolTipText("西瓜帽");
JScrollPane scr=new JScrollPane(label,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL _SCROLLBAR_ALWAYS);
运行结果如图所示
3.联系使用JTable。包括姓名、学号、语文成绩、数学成绩、总分共5项 源代码如下: import java.awt.*; import javax.swing.*;
public class table{ public static void main(String args[]){ JFrame form=new JFrame("Table试验"); final Object[] row={"姓名","学号","语文成绩","数学成绩","总分"}; Object[][] rowData = { {"张三", "01", "81", "80", "160"},
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
class CFrame extends JFrame{ public CFrame(String title){ setTitle(title); setBackground(Color.BLUE); } }
public class dTest{ public static void main(String args[]){ Form form=new Form(); form.setSize(300,200); form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); form.setVisible(true); } } class Form extends JFrame implements ActionListener{ private Dial dia; JLabel lab=new JLabel("请输入"); public Form(){ JButton btn1=new JButton("Yes"); JButton btn2=new JButton("No"); getContentPane().setLayout(new GridLayout(3,1)); add(lab); add(btn1); add(btn2); setTitle("inputprac"); btn1.addActionListener(this); btn2.addActionListener(this); } public void actionPerformed(ActionEvent event){ if(event.getActionCommand()=="输入"){ dia=new Dial(this,"请输入内容",true); dia.setVisible(true); lab.setText(dia.getSt()); } else{ System.exit(0); } } }
源代码如下: import javax.swing.*; import java.awt.*;
public class frameTest{ public static void main(String args[]){ CFrame frame=new CFrame("Frame Test"); Container pane=frame.getContentPane(); pane.add(new leftPanel(),BorderLayout.WEST); pane.add(new rightPanel(),BorderLayout.EAST); frame.pack();
public Dial(JFrame frame,String title,boolean b){ super(frame,title,b); getContentPane().setLayout(new FlowLayout()); panel.add(text); panel.add(btn1); btn1.addActionListener(this); getContentPane().add(panel); pack(); } public void actionPerformed(ActionEvent event){ this.dispose(); } public String getSt(){ return text.getText(); } }
{"李四", "02", "93", "72", "165"}, {"王麻子", "03", "99", "97", "196"}, }; JTable tb=new JTable(rowData,row); JScrollPane pane= new JScrollPane (tb); form.getContentPane().add(tb); form.setVisible(true); form.pack(); } }
class leftPanel extends JPanel{ public leftPanel(){ JButton bt1=new JButton("view"); JButton bt2=new JButton("clear"); JButton bt3=new JButton("no idea");
setLayout(new GridLayout(2,2,100,100)); add(bt1); add(bt2); add(bt3);
bt1.addActionListener(this); bt2.addActionListener(this); bt3.addActionListener(this);
class Dial extends JDialog implements ActionListener{ private JTextField text=new JTextField("change"); private JButton btn1=new JButton("确定"); private JPanel panel=new JPanel();
add(label); add(scr); } }
运行结果如图所示
2. 练习使用对话框。包括一个JLabel和两个JButton,按任何一个JButton都会产生一个输入对话框, 按确定后将输入内容在JLabel中显示出来
源代码如下: import javax.swing.*; import java.awt.*; import java.awt.event.*;