自拟题目编写一个图形界面程序,;
编写一个完整的图形界面应用程序:
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来...