自拟题目编写一个图形界面程序,;

编写一个完整的图形界面应用程序,实现下列功能:~

编写一个完整的图形界面应用程序:
1、可以是用目前最流行的:C#开发语言进行开发,这个语言的界面是可视化开发,控件直接拖拉
2、可以用java的swt进行开发:因为开发界面不是完全可视化的,布局需要自己编写代码,因此不宜开发
3、还可以尝试,VB 更C#类似,同属于微软
4、中国人自己的开发语言,易语言,纯中文编码,而且提供了很多类库

不论分高分低,有兴趣就写import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.SwingUtilities;public class MenuTester extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;private static final String FILE = "d:/1.txt";JTextArea textArea;JScrollPane scrollPane;public MenuTester (){setTitle ("MenuTester");setLayout (new BorderLayout ());JMenuBar menuBar = new JMenuBar ();JMenu[] menu = new JMenu[] { new JMenu ("文件"), new JMenu ("编辑") };JMenuItem[] menuItem1 = new JMenuItem[] { new JMenuItem ("新建"), new JMenuItem ("打开"), new JMenuItem ("保存"), new JMenuItem ("关闭") };JMenuItem[] menuItem2 = new JMenuItem[] { new JMenuItem ("复制"), new JMenuItem ("粘贴"), new JMenuItem ("剪切") };for ( int i = 0; i < menu.length; i++ ){menuBar.add (menu[i]);}for ( int i = 0; i < menuItem1.length; i++ ){menu[0].add (menuItem1[i]);}for ( int i = 0; i < menuItem2.length; i++ ){menu[1].add (menuItem2[i]);}menuItem1[0].addActionListener (this);menuItem1[1].addActionListener (this);menuItem1[2].addActionListener (this);menuItem1[3].addActionListener (this);setJMenuBar (menuBar);textArea = new JTextArea ();scrollPane = new JScrollPane (textArea);scrollPane.setVisible (false);add (scrollPane, BorderLayout.CENTER);setResizable (false);setSize (800, 600);setLocationRelativeTo (null);setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);setVisible (true);}public static void main ( String[] args ){SwingUtilities.invokeLater (new Runnable (){@Overridepublic void run (){new MenuTester ();}});}@Overridepublic void actionPerformed ( ActionEvent e ){String command = e.getActionCommand ();if ("新建".equals (command)){scrollPane.setVisible (true);validate ();}else if ("关闭".equals (command)){scrollPane.setVisible (false);textArea.setText ("");validate ();}else if ("打开".equals (command)){scrollPane.setVisible (true);validate ();try{FileReader fr = new FileReader (FILE);char[] cs = new char[1];while (-1 != ( fr.read (cs) )){textArea.append (new String (cs));}fr.close ();}catch (Exception e1){e1.printStackTrace ();}}else if ("保存".equals (command)){try{FileWriter fw = new FileWriter (FILE);fw.write (textArea.getText ());fw.flush ();fw.close ();}catch (IOException e1){e1.printStackTrace();}}}}

按照你的要求编写的Java程序如下,这是一个35选7彩票模拟选号的Java程序,输入你选的几组号码,存入lottery.txt文件,看看你猜中了几个号码.

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class CCG extends JFrame implements ActionListener{
 JLabel jl1=new JLabel("35选7",JLabel.LEFT);
 JLabel jl2=new JLabel("输入选号:");
 JLabel jl3=new JLabel("当前选号:");
 JLabel jl4=new JLabel();    
 JTextField jtf=new JTextField(5);
 JTextArea jta=new JTextArea(5,20);
 JButton jb1=new JButton("添加本组号码");
 JButton jb2=new JButton("验证并保存到文件");
 JPanel jp1=new JPanel();
 JPanel jp2=new JPanel();
 JPanel jp3=new JPanel();
 JPanel jp4=new JPanel();
 JPanel jp5=new JPanel();
 JPanel jp6=new JPanel();
 JPanel jp7=new JPanel();
 boolean saveFlag=false;
 CCG(){
  super("Lottery");
  jtf.addActionListener(this);   
  jb1.addActionListener(this);
  jb2.addActionListener(this);
  jl1.setFont(new Font(null,Font.BOLD,20));
  jp1.setLayout(new FlowLayout(FlowLayout.LEFT));
  jp1.add(jl1);
  jp1.setBorder(BorderFactory.createEtchedBorder ());
  jp4.setLayout(new FlowLayout(FlowLayout.LEFT));
  jp4.add(jl2);jp4.add(jtf);
  jp5.setLayout(new FlowLayout(FlowLayout.LEFT));
  jp5.add(jl3);jp5.add(jl4);
  jp6.setLayout(new FlowLayout(FlowLayout.LEFT));
  jp6.add(jb1);
  jp2.setLayout(new GridLayout(3,1));
  jp2.add(jp4);jp2.add(jp5);jp2.add(jp6);
  jp2.setBorder(BorderFactory.createEtchedBorder ());
  jp3.setLayout(new FlowLayout(FlowLayout.LEFT));
  jp3.add(jta);jp3.add(jb2);
  jp3.setBorder(BorderFactory.createEtchedBorder ());
  jp7.setLayout(new GridLayout(2,1));
  jp7.add(jp2);
  jp7.add(jp3);
  add(jp1,BorderLayout.NORTH);
  add(jp7,BorderLayout.CENTER);
  setSize(400, 300);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setLocationRelativeTo(null);
  setVisible(true);
 }
 @Override
 public void actionPerformed(ActionEvent ae) {
  if(ae.getSource()==jtf){
   if(jtf.getText().trim().equals("")){
    jl4.setText("");
   }else{
    int n=Integer.parseInt(jtf.getText().trim());
    String str="";
    if(n<10)str="0"+n;
    else str=n+"";
    if(jl4.getText().trim().contains(str)){
     JOptionPane.showMessageDialog(null, "输入的数重复!");
     jtf.requestFocus();
     return;
    }
    int num=Integer.parseInt(str);
    if(num<1 || num>35){
     JOptionPane.showMessageDialog(null, "输入的数需要在1-35之间!");
     jtf.requestFocus();
     return;
    }
    if(jl4.getText().trim().equals("")){
     int t=Integer.parseInt(jtf.getText().trim());
     if(t<10) jl4.setText("0"+t);
     else jl4.setText(""+t);
    }else{
     String[]a=(jl4.getText().trim()+","+jtf.getText().trim()).split(",");
     if(a.length>7){
      JOptionPane.showMessageDialog(null, "输入的数超过7个!");
      jtf.requestFocus();
      return;
     }
     int []b=new int[a.length];
     for(int i=0;i<a.length;i++){
      b[i]=Integer.parseInt(a[i].trim());
     }
     Arrays.sort(b);
     String s="";
     for(int i=0;i<b.length;i++){
      if(i==b.length-1)
       if(b[i]<10)s=s+"0"+b[i];
       else s=s+b[i];
      else
       if(b[i]<10)s=s+"0"+b[i]+",";
       else s=s+b[i]+",";
     }
     jl4.setText(s);
    }
   }
  }
  if(ae.getSource()==jb1){
   jta.append(jl4.getText().trim()+"
");
   saveFlag=true;
  }
  if(ae.getSource()==jb2){
   if(saveFlag==true){
    BufferedWriter bw = null;
    try {
     bw=new BufferedWriter(new FileWriter("lottery.txt",true));
     String s=random();
     bw.append("本期开奖号码:"+s);
     bw.newLine();
     String[]a=jta.getText().split("
");
     for(int i=0;i<a.length;i++){
      int count=0;
      String[]b=a[i].split(",");
      String tmp="";
      for(int j=0;j<b.length;j++){
       if(s.contains(b[j].trim()))count++;
       if(j==b.length-1){
        tmp=tmp+b[j].trim();
       }else{
        tmp=tmp+b[j].trim()+",";
       }
      }
      String tmpwrite=tmp+" - "+count;   
      bw.append(tmpwrite);
      bw.newLine();
     }
     bw.flush();
     JOptionPane.showMessageDialog(null, "保存完毕!");
     saveFlag=false;
    } catch (IOException e) {
     e.printStackTrace();
    }finally{
     try {
      bw.close();
     } catch (IOException e) {
      e.printStackTrace();
     }
    }
   }
  }
 }
 public String random() {
  int []a=new int[7];
  int count=0;
  while(count<7){
   boolean flag=false;
   int tmp=(int)(Math.random()*35)+1;
   for(int i=0;i<a.length;i++){
    if(tmp==a[i]){
     flag=true;
    }
   }
   if(flag==false){
    a[count]=tmp;
    count++;
   }
  }
  Arrays.sort(a);
  String s="";
  for(int i=0;i<a.length;i++){
   if(i==a.length-1){
    if(a[i]<10){
     s=s+"0"+a[i];
    }else{
     s=s+a[i];
    }
   }else{
    if(a[i]<10){
     s=s+"0"+a[i]+",";
    }else{
     s=s+a[i]+",";
    }
   }
  }
  return s;
 }
 public static void main(String[] args) {
  new CCG();
 }
}

运行结果

lottery.txt文件内容

本期开奖号码:03,06,26,29,30,33,35

01,05,12,14,25,29,32 - 1 

-1 表示猜中了一个号码29



编写一个java程序,实现一个图形用户界面。在该界面上有一个静态文本框...
答:public class Test extends JFrame implements Serializable,ActionListener{private static final long serialVersionUID=99L;private JTextField jt;private JButton jb1,jb2;private JPanel jp;Test(){this.setTitle("颜色测试");this.setBounds(300,300,300,200);this.setResizable(false);this....

Java编写一个图形界面
答:private JLabel label1, label2, label3, label4,label5,label6,label7;private JPanel panel,panel1,panel2;private JTextField tField1,tField2,tField3,tField4,tField5,tField6,tField7,tField8,tField9;private JButton button;private String filepath="c:\\info.dat";public TestSwing...

求高手帮忙如何给一个C语言编写软件的图形界面
答:FillConsoleOutputAttribute(hOut, att1, chNum + 4, posShadow, NULL);posShadow.Y++;} // 填充窗口背景 for (i=0; i<5; i++){ FillConsoleOutputAttribute(hOut, att0, chNum + 4, posText, NULL);posText.Y++;} // 写文本和边框 posText.X = x1 + 2;posText.Y = y1 + 2...

编写的C语言程序,怎样制作一个UI界面?
答:return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd,message,wparam,lparam);}上面是一个打印windows下拥有窗口界面的九九乘法口诀表的c语言程序代码同样的c语言也会有其它的UI库 比如Gtk,Gtk是可移植的UI库 可以使用它在Linux、windows包括mac等等...

java编写一个应用程序,其功能为:显示一个图形框架界面,在其图形框架...
答:参考代码和注释如下 import java.awt.*;import java.awt.event.*;import javax.swing.*;//本类继承自JFrame,实现了ActionListener接口public class ButtonFrame extends JFrame implements ActionListener {JButton jb1,jb2,jb3;//构造方法: 组件的初始化, 排版, 窗口的设置public ButtonFrame() {jb...

编写图形界面下的Java Applet程序,接受用户输入的两个数据为上、下限...
答:int cnt = n2 - n1 + 1; //范围内总共有cnt个数 int[] a = new int[cnt + 1];a[0]=2;//初始化数组,将范围内所有整数列出 for(int i = 1; i <=cnt; i++){ a[i]=n1 + i - 1;} //剔掉非素数 for(int i = 0; i <=cnt; i++){ int s = a[i];if(a[i]!

如何在Java中利用图形界面技术设计一个能够完成加、减、乘、除和取余...
答:jptop1.add(jptop2);jptotal.add(jptop1, "North");// 以jp1为一个整体,让jp1里面的内容从最上面开始填充 jptotal.add(jpmiddle);add(jptotal);setVisible(true);setSize(500, 500);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(EXIT_ON_CLOSE);} // ctrl+/ :注释 pu...

怎样用java编写图形界面的Application程序?
答:java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:package mainFrame;import java.awt.EventQueue;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.ImageIcon;import javax.swing.JButton...

利用java写一个用户注册图形界面
答:写了个最简单的界面,其它要求自己可以添加和修改.package com.frames.member;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import ...

急求用JAVA编写的图形化界面拼图小游戏代码!
答:比如有9个图片,你可以命名1-9,然后初始化一个长度为9的一维String 数组Array3来存储图片的名称,使用随机函数给二维数组Array2赋值,如Array2[2][3]=Array3[random()],这里要判断这个图片是否已被使用过,可以通过遍历Array2来确定当前Array3这个值是否已经在Array2中了 最后通过Array1 和Array2来...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网