| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1303 人关注过本帖
标题:[求助]如何将小程序改为应用程序
只看楼主 加入收藏
Bluestar_j
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-11-19
收藏
得分:0 
再次请教
RcqhQkn4.rar (7.4 KB) [求助]如何将小程序改为应用程序


为什么这个里面的构造函数没有做什么,但是程序却可以运行呢?
2006-11-19 21:33
ttrr550
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-11-5
收藏
得分:0 
以下是引用Bluestar_j在2006-11-19 21:33:34的发言:
[attach]13961[/attach]
为什么这个里面的构造函数没有做什么,但是程序却可以运行呢?

还没做什么 全让构造函数做了!!..


2006-11-19 22:49
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你要实现的功能呢,
不说我怎么知道

可惜不是你,陪我到最后
2006-11-19 23:05
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

帮你改了,可以用了
你自己慢慢看吧
/*
* select.java
*
* Created on 2006年11月19日, 下午8:32
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

/**
*
* @author lbf
*/

//Label--标签,它用来给程序输出文本信息,没有框来显示它的范围。
/*Checkbox--复选框,用来表示选项是否被选中,一般在该选项前能显示是否被选中
并可以通过鼠标点击来改变状态 */
//Button--按钮,对应一个特定的操作,用鼠标单击它就开始该操作。
/*文本编辑区--Edit,TextField或TextArea--形成的区域可以接受用户的文本输入,并有
一定的编辑功能。它可以是单行的或者多行的,单行编辑区只能由一行文本
,不会折行,而多行文本区,可以在内容超出一行容量时自动换行。*/
//Panel--用来建立面板
//GridLayout(int m,int n)创建布局对象,指定划分网格的行数m和列数n
/*BorderLayout--这种布局将容器划分为东南西北中五个区域,中间的区域最大。没加入
一个组件都应该指明这个组件加在哪个区域中。*/
/*StringTokenizer(String s)为字符串s构造一个分析器.使用默认的分隔符稽核,即空
格符(若干个空格符被看作一个),换行符,回车符,TAB
符,进纸符.
StringTokenizer(String s,String delim)为字符串s构造一个分析器。参数dilim中的
字符被作为分隔符.  */
/* ScrollPane()--创建滚动窗口,滚动条初始不可见,当添加的组件的可见范围大于滚动
窗口时,滚动条自动出现。
ScrollPane(int a)--创建滚动窗口,参数a指定滚动条的初始状态。 */
import java.awt.*;
import java.awt.event.*;
import java.util.StringTokenizer;

class selects extends Frame implements ActionListener {

class win extends Frame {
TextArea b2;
Panel t=new Panel();
win(String s) {
super(s);
setSize(400,400);
setBackground(Color.white);
setVisible(false);
b2=new TextArea("\n\n\t\t************************\n\n\t\t^_^ 欢迎使用本选举程序\n\n\t\t************************\n\n\n 本程序为用户提供了处理选举人和统计选举人数的功能\n\n 用户最多可输入十个候选人,每位投票人最多可以投三票,多\n 投视为作废。投票结束后程序可以自动按票数多少对选举人进行\n 排序。");
add(b2);
validate();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
setVisible(false);
win.this.dispose();
}
});


}
}

Label 候名字=new Label("首先输入候选人的名字(人数不超过10,名字间用头号分隔)"),
统计选票=new Label("请用下面的选择框统计选票:",Label.CENTER),
结果=new Label("选举结果:");
Button 确认=new Button("确认"),取消=new Button("取消"),
确定=new Button("确定"),刷新=new Button("刷新"),
排序=new Button("排序");
Button b1=new Button("选举规则");
//输入候选人
TextField name=new TextField(48);//文本框的长度为48个字符长,可以在文本框中输入若干个字符
//显示选举信息
TextField voteMessage=new TextField(46);
//选择框数组,代表候选人
Checkbox checkbox[]=new Checkbox[10];//选择框右面的名称由参数S指定。
//文本条数组,显示每个人的得票情况
TextField personVote[]=new TextField[10];
int count[]=new int [10], //记录每个人的得票数
totalVote=0, //总票数
peopleNumber=0; //候选人个数
Panel p2_1=new Panel(); //添加候选人面板
int 有效人数=3, 废票数=0, 弃权票数=0; //可选举的最多人数
//public
selects() //设计面板
{
setTitle("投票系统");
//容器可以使用方法:setLayout(布局对象):来设置自己的布局。
setLayout(new GridLayout(3,1));
Panel p1=new Panel(),
p1_1=new Panel(),p1_2=new Panel(),p1_3=new Panel(),p1_4=new Panel();
p1.setLayout(new BorderLayout());
p1_1.add(候名字);p1_2.add(name);
p1_3.add(确认);p1_3.add(取消);p1_3.add(统计选票);p1_4.add(b1);
p1.add(p1_1,BorderLayout.NORTH);
p1.add(p1_2,BorderLayout.CENTER);
p1.add(p1_3,BorderLayout.SOUTH);
p1.add(p1_4,BorderLayout.EAST);
//添加到小程序中的面板p2,它里面的一个面板p2_1,将用来添加代表候选人的选择框
Panel p2=new Panel(),
p2_2=new Panel();
p2.setLayout(new BorderLayout());
p2.setBackground(Color.yellow);
p2_1.setLayout(new GridLayout(2,5));
p2_2.add(确定);p2_2.add(刷新);p2_2.add(排序);
p2.add(p2_1,BorderLayout.CENTER);
p2.add(p2_2,BorderLayout.SOUTH);
for(int i=0;i<=9;i++) //添加复选框。
{
checkbox[i]=new Checkbox();
p2_1.add(checkbox[i]);
}
Panel p3=new Panel(), //添加到小程序底部的面板p3,以及它里面的面板。
p3_1=new Panel(),
p3_2=new Panel();
p3.setLayout(new BorderLayout());
p3_1.add(结果);
p3_1.add(voteMessage);
p3_2.setLayout(new GridLayout(10,1));
for(int i=0;i<=9;i++) //添加文本框
{
personVote[i]=new TextField();
p3_2.add(personVote[i]);
}
ScrollPane Scroll=new ScrollPane(); //建立一个滚动体窗口
Scroll.add(p3_2); //将p3_2添加到一个滚动窗口中。
p3.add(p3_1,BorderLayout.NORTH);
p3.add(Scroll,BorderLayout.CENTER);
add(p1);add(p2);add(p3); //小程序添加这三个面板
b1.addActionListener(this);

确认.addActionListener(this);
取消.addActionListener(this);
确定.addActionListener(this);
刷新.addActionListener(this);
排序.addActionListener(this);
this.setSize(500,500);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
String s[]=new String[10];
if(e.getSource()==确认) {
p2_1.removeAll();
//提取候选人的名字,用字用逗号分隔
String s_name=name.getText();
StringTokenizer fenxi=new StringTokenizer(s_name,",,");
peopleNumber=fenxi.countTokens(); //获取候选人的个数
int i=0;
while(fenxi.hasMoreTokens()) // 用单选框代表候选人,并添加到面板p2_1
{
s[i]=fenxi.nextToken();
p2_1.add(checkbox[i]);
checkbox[i].setLabel(s[i]);
i++;
}
for(int k=0;k<peopleNumber;k++) {
personVote[k].setText(null);
}
} else if(e.getSource()==取消) {
name.setText(null);
确认.setEnabled(true);
for(int k=0;k<peopleNumber;k++) {
personVote[k].setText(null);
}
} else if(e.getSource()==确定) {
totalVote=totalVote+1;
确认.setEnabled(false);
int number=0;
for(int k=0;k<peopleNumber;k++) {
if(checkbox[k].getState()) {
number++;
}
}

if(number>有效人数) {
废票数++;
for(int k=0;k<peopleNumber;k++) {
checkbox[k].setState(false);
}
} else if(number==0) {
弃权票数++;
} else if(number>0&&number<=有效人数) {
for(int k=0;k<peopleNumber;k++) {
if(checkbox[k].getState()) {
count[k]=count[k]+1;
checkbox[k].setState(false);
personVote[k].setText(checkbox[k].getLabel()+" 的得票数:"+count[k]);
} else {
personVote[k].setText(checkbox[k].getLabel()+" 的得票数:"+count[k]);
}
}
}
voteMessage.setText("已统计了:"+totalVote+"张选票,其中弃权票:"+弃权票数+" 作废票:"+废票数);

} else if(e.getSource()==排序) {
for(int i=0;i<peopleNumber;i++) {
for(int j=i+1;j<peopleNumber;j++) {
if(count[j]>count[i]) {
String str_temp=personVote[i].getText();
personVote[i].setText(personVote[j].getText());
personVote[j].setText(str_temp);
int nnn=count[i];
count[i]=count[j];
count[j]=nnn;
}

}
}
排序.setEnabled(false);
确定.setEnabled(false);
} else if(e.getSource()==刷新) {
totalVote=0;
voteMessage.setText("已统计了:"+totalVote+"张选票");
name.setText(null);
确认.setEnabled(true);
确定.setEnabled(true);
排序.setEnabled(true);
for(int i=0;i<=4;i++) {
count[i]=0;
personVote[i].setText(null);
p2_1.removeAll();
}
} else if(e.getSource()==b1) {
win qq=new win("选举规则窗口");
qq.setVisible(true);
}
}

}
public class select {
public static void main(String args[]) {
//selects tt=
new selects();
//tt.selects();
}
}



可惜不是你,陪我到最后
2006-11-19 23:21
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

没改多少地方,就是一些小地方而已


可惜不是你,陪我到最后
2006-11-19 23:22
Bluestar_j
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-11-19
收藏
得分:0 

十分感谢~

2006-11-20 17:26
快速回复:[求助]如何将小程序改为应用程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045891 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved