互联网创业项目一天2万:急需一段java小程序

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 09:31:33
要求一百多行,简单易懂,有界面,最好有说明
在线等。。。。
随便什么
wplei 你的程序怎么只能看界面,没有什么功能啊

//java计算器
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;

public class Jisuanqi extends JFrame implements ActionListener {
Result result = new Result(); //定义text的面板
Number_Key number_key = new Number_Key(); //定义按钮面板
//当点击按钮+、-、*、/时,com = true
boolean com = false;

//当i=0时说明是我们第一次输入,字符串text不会累加
int i = 0;

//存放text的内容
String text = "";

//存放点击按钮+、-、*、/之前的数值
double defbutton = 0;

//+、-、*、/的代号分别为1,2,3,4
int symbol = 0;

//构造函数
Jisuanqi() {
super("WangJiao"); //设定标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设定关闭窗体时退出程序
JPanel pane = new JPanel(); //定义主面板

pane.setLayout(new BorderLayout());
setBounds(380,220,30,80); //前两个参数是在屏幕上显示的坐标,后两个是大小

//替换图标
ImageIcon icon=new ImageIcon(
Jisuanqi.class.getResource("APPLE.GIF")
);
setIconImage(icon.getImage());

pane.add(result, BorderLayout.NORTH);
pane.add(number_key, BorderLayout.CENTER);
pane.add(number_key.equal, BorderLayout.SOUTH);

number_key.one.addActionListener(this); //对1按钮添加监听事件
number_key.two.addActionListener(this); //对2按钮添加监听事件
number_key.three.addActionListener(this); //对3按钮添加监听事件
number_key.four.addActionListener(this); //对4按钮添加监听事件
number_key.five.addActionListener(this); //对5按钮添加监听事件
number_key.six.addActionListener(this); //对6按钮添加监听事件
number_key.seven.addActionListener(this); //对7按钮添加监听事件
number_key.eight.addActionListener(this); //对8按钮添加监听事件
number_key.nine.addActionListener(this); //对9按钮添加监听事件
number_key.zero.addActionListener(this); //对0按钮添加监听事件
number_key.ce.addActionListener(this); //对置零按钮添加监听事件
number_key.plus.addActionListener(this); //对+按钮添加监听事件
number_key.equal.addActionListener(this); //对=按钮添加监听事件
number_key.sub.addActionListener(this); //对-按钮添加监听事件
number_key.mul.addActionListener(this); //对*按钮添加监听事件
number_key.div.addActionListener(this); //对/按钮添加监听事件
number_key.point.addActionListener(this); //对.按钮添加监听事件

setContentPane(pane);
pack(); //初始化窗体大小为正好盛放所有按钮
}

//各个按钮触发的事件
public void actionPerformed(ActionEvent e) {

/*如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true
* 如果没有com= false;或者是否点击数字键,如果是i = 1,如果没有 i = 0;
**/
if (e.getSource() == number_key.one) {
if (com || i == 0) {
result.text.setText("1");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "1");
}
} else if (e.getSource() == number_key.two) {
if (com || i == 0) {
result.text.setText("2");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "2");
}

} else if (e.getSource() == number_key.three) {
if (com || i == 0) {
result.text.setText("3");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "3");
}
} else if (e.getSource() == number_key.four) {
if (com || i == 0) {
result.text.setText("4");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "4");
}
} else if (e.getSource() == number_key.five) {
if (com || i == 0) {
result.text.setText("5");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "5");
}
} else if (e.getSource() == number_key.six) {
if (com || i == 0) {
result.text.setText("6");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "6");
}
} else if (e.getSource() == number_key.seven) {
if (com || i == 0) {
result.text.setText("7");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "7");
}
} else if (e.getSource() == number_key.eight) {
if (com || i == 0) {
result.text.setText("8");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "8");
}
} else if (e.getSource() == number_key.nine) {
if (com || i == 0) {
result.text.setText("9");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "9");
}
}

/*对于0这个按钮有一定的说法,在我的程序里不会出现如00000这样的情况,我加了判断条件就是
* 如果text中的数值=0就要判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添
* 加0;否则保持原来的数值不变
*/
else if (e.getSource() == number_key.zero) { //result.text.getText()是得到text里内容的意思
if (com || i == 0) {
result.text.setText("0");
com = false;
i = 1;
} else {
text = result.text.getText();
if (Float.parseFloat(text) > 0 || Float.parseFloat(text) < 0) { //Float.parseFloat(text)就是类型转换了,下面都是一样
result.text.setText(text + "0");
} else {
if (text.trim().indexOf(".") == -1) {
result.text.setText(text);
} else {
result.text.setText(text + "0");
}
}
}
} else if (e.getSource() == number_key.ce) {
result.text.setText("0");
i = 0;
com = true;
}
/*本程序不会让一个数值中出现2个以上的小数点.具体做法是:判断是否已经存在.存在就不添加,
* 不存在就添加.
*/
else if (e.getSource() == number_key.point) {
if (com || i == 0) {
result.text.setText("0.");
com = false;
i = 1;
} else {
text = result.text.getText();
if (text.trim().indexOf(".") == -1) {
result.text.setText(text + ".");
} else {
result.text.setText(text);
}

}
} //获得点击+之前的数值
else if (e.getSource() == number_key.plus) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());
symbol = 1;
} //获得点击-之前的数值
else if (e.getSource() == number_key.sub) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());

symbol = 2;
} //获得点击*之前的数值
else if (e.getSource() == number_key.mul) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());
System.out.println(defbutton);
symbol = 3;
} //获得点击/之前的数值
else if (e.getSource() == number_key.div) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());
symbol = 4;
} else if (e.getSource() == number_key.equal) {

switch (symbol) {
case 1 : //计算加法
{
double ad =
defbutton + Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
text = "";
break;
}
case 2 ://计算减法
{
double ad =
defbutton - Double.parseDouble(result.text.getText());
result.text.setText(String.valueOf(ad));
i = 0;
text = "";
break;
}
case 3 ://计算乘法
{
double ad =
defbutton * Double.parseDouble(result.text.getText());

result.text.setText(ad + "");
i = 0;
text = "";
break;
}
case 4 ://计算除法
{
double ad =
defbutton / Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
text = "";
break;
}
}

System.out.println(com);
}
}

public static void main(String[] args) {
Jisuanqi loveyou = new Jisuanqi();
loveyou.show();
}
}

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

//计算器数字按钮定义面板
class Number_Key extends JPanel {

JButton zero = new JButton("0"); //数字键0
JButton one = new JButton("1"); //数字键1
JButton two = new JButton("2"); //数字键2
JButton three = new JButton("3"); //数字键3
JButton four = new JButton("4"); //数字键4
JButton five = new JButton("5"); //数字键5
JButton six = new JButton("6"); //数字键6
JButton seven = new JButton("7"); //数字键7
JButton eight = new JButton("8"); //数字键8
JButton nine = new JButton("9"); //数字键9

JButton plus = new JButton("+");
JButton sub = new JButton("-");
JButton mul = new JButton("*");
JButton div = new JButton("/");
JButton equal = new JButton("=");
JButton ce = new JButton("清零"); //置零键
JButton point = new JButton(".");

Number_Key() {
setLayout(new GridLayout(4, 4, 1, 1)); //定义布局管理器为网格布局

setBackground(Color.blue); //设置背景颜色
//添加按钮
add(one);
add(two);
add(three);
add(four);
add(five);
add(six);
add(seven);
add(eight);
add(nine);
add(zero);
add(plus);
add(sub);
add(mul);
add(div);
add(point);
add(equal);
add(ce);
}
}

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

//计算器显示结果的窗体
class Result extends JPanel {
//text先是输入和结果
JTextField text = new JTextField("0");

Result() { //讲输入的数字或得到的结果在text的右边显示
text.setHorizontalAlignment(SwingConstants.RIGHT);
text.enable(false); //文本框不能编辑
setLayout(new BorderLayout()); //设定布局管理器边框布局
add(text, BorderLayout.CENTER); //text放置在窗体的中间
}
}

import java.awt.*;
import javax.swing.*;
import java.net.*;
import java.io.*;

public class JTextPaneDemo extends JFrame
{
public JTextPaneDemo()
{
JTextPane tp=new JTextPane();

int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
JScrollPane jsp=new JScrollPane(tp,v,h);

Container cp=getContentPane();
cp.add(jsp);
setSize(400,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();

try
{
URL myurl = new URL("http://www.sina.com.cn");
tp.setPage(myurl);
}catch (Exception e)
{
e.printStackTrace();
}
}

public static void main(String args[])
{
new JTextPaneDemo();
}
}

import javax.swing.*;
import java.awt.*;
//import java.sql.*;
import java.awt.event.*;

class Test extends JFrame{
JMenuBar mb=new JMenuBar();
JTextArea ta=new JTextArea(10,20);
JTextField tf=new JTextField(10);
JButton bt=new JButton("猜数字");
JButton bt_save=new JButton("保存记录");
JButton bt_a=new JButton("再猜一次");
JButton bt_exit=new JButton("退出");
int r=(int)(Math.random()*100);//生成随机数
int sum=0;//猜测的次数
Test(){
System.out.println (r);
this.setSize(500,400);
this.setLocation(150,100);
//=========================
Container ct=this.getContentPane();
JLabel lb=new JLabel("请输入所猜数字(1-100):");
JMenu m1=new JMenu("文件");
JMenu m2=new JMenu("纪录");
JMenuItem m1_1=new JMenuItem("exit");
JMenuItem m2_1=new JMenuItem("list");
m1.add(m1_1);
m2.add(m2_1);

mb.add(m1);
mb.add(m2);

this.setJMenuBar(mb);
//===================================
JPanel p_n=new JPanel();
JPanel p=new JPanel();
JPanel p_s=new JPanel();

p_n.add(lb);
p_n.add(tf);
p_n.add(bt);
p.add(ta);

p_s.add(bt_a);
p_s.add(bt_save);
p_s.add(bt_exit);

ct.add(p_n,"North");
ct.add(p);
ct.add(p_s,"South");
//===================================
bt.addActionListener(new Al());
bt_a.addActionListener(new Al());
bt_save.addActionListener(new Al());

// m1_1.addActionListener(new M1());
m2_1.addActionListener(new M2());
//===================================
this.setVisible(true);
}
class Al implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println (r);
if(e.getSource()==bt){
int s=0;

try { s=Integer.parseInt(tf.getText()); //接收的字符转换为int
}catch(Exception ex){JOptionPane.showMessageDialog(null,"请输入数字");}
if(s==r){
sum++;
ta.append("对了您一共猜了"+sum+"次");//添加到文本栏里
}
if(s>r){
sum++;
ta.append("偏大\n");//添加到文本栏里
}
if(s<r){
sum++;
ta.append("偏小\n");//添加到文本栏里 \n为换行
}
}
//=======================================
if(e.getSource()==bt_a){
ta.setText("");
tf.setText("");
r=(int)(Math.random()*100);
sum=0;
}
//======================================
if(e.getSource()==bt_save){

// new save(sum);

}
}

}
//===================================
class M2 implements ActionListener{
public void actionPerformed(ActionEvent e){

new Myf();

}

}

public static void main(String arg[]){
new Test();

}

}

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.DateFormat;
import javax.swing.event.*;
import javax.swing.table.*;
import javax.swing.tree.*;
import javax.swing.filechooser.*;
import java.io.*;
import java.util.*;
public class WinExplorer extends JFrame implements TreeSelectionListener{
JPanel contentPane=(JPanel)getContentPane();;
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("文件");
JMenuItem menuItemExit = new JMenuItem("退出");
JToolBar toolBar = new JToolBar();
JButton bttUp = new JButton();
Icon iconUp=UIManager.getIcon("FileChooser.upFolderIcon");
JLabel statusBar = new JLabel();
DetailTable detailTable = new DetailTable();
JScrollPane sp = new JScrollPane(detailTable);
JSplitPane split = new JSplitPane();
FileSystemView fileSystemView=FileSystemView.getFileSystemView();
FileNode root=new FileNode(fileSystemView.getRoots()[0]);
DefaultTreeModel treeModel=new DefaultTreeModel(root);
JTree tree = new JTree(treeModel);
public static void main(String argv[]){
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Font font=new Font("宋体",Font.PLAIN,12);
String names[]={"Label","CheckBox","PopupMenu","TextPane",
"MenuItem","CheckBoxMenuItem","JRadioButtonMenuItem",
"ComboBox","Button","Tree","ScrollPane","TabbedPane",
"EditorPane","TitledBorder","Menu","TextArea","OptionPane",
"MenuBar","ToolBar","ToggleButton","ToolTip","ProgressBar",
"TableHeader","Panel","List","ColorChooser","PasswordField",
"TextField","Table","Label","Viewport","RadioButtonMenuItem",
"RadioButton"};
for(int i=0;i<names.length;i++)UIManager.put(names[i]+".font",font);
UIManager.put("Label.foreground",Color.black);
UIManager.put("Border.foreground",Color.black);
UIManager.put("TitledBorder.titleColor",Color.black);
new WinExplorer().show();
}catch(Exception e){
e.printStackTrace();
}
}
public WinExplorer() {
contentPane.setLayout(new BorderLayout());
Dimension dimension = getToolkit().getScreenSize();
int i = (dimension.width - 640) / 2;
int j = (dimension.height - 480) / 2;
setBounds(i,j,640,480);
setTitle("资源管理器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(menuBar);
statusBar.setText(" ");
menuItemExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {System.exit(0);}
});
bttUp.setIcon(iconUp);
bttUp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
TreePath upPath=tree.getSelectionPath().getParentPath();
if(upPath!=null){
tree.setSelectionPath(upPath);
tree.scrollPathToVisible(upPath);
}
}catch(Exception ex){}
}
});
split.setDividerSize(6);
split.setLeftComponent(new JScrollPane(tree));
split.setRightComponent(sp);
split.setDividerLocation(180);
sp.getViewport().setBackground(Color.white);
menuFile.add(menuItemExit);
menuBar.add(menuFile);
contentPane.add(toolBar, BorderLayout.NORTH);
toolBar.add(bttUp, null);
contentPane.add(statusBar, BorderLayout.SOUTH);
contentPane.add(split, BorderLayout.CENTER);
tree.addTreeExpansionListener(new MyExpandsionListener());
tree.setCellRenderer(new MyTreeCellRenderer());
tree.addTreeSelectionListener(this);
tree.setSelectionRow(0);
tree.setComponentOrientation(ComponentOrientation.UNKNOWN);
}

public void valueChanged(TreeSelectionEvent e){
Object obj=tree.getLastSelectedPathComponent();
if(obj==null)return;
else detailTable.setParent(((FileNode)obj).getFile());
}

class MyTreeCellRenderer extends DefaultTreeCellRenderer {
public MyTreeCellRenderer() {}
public Component getTreeCellRendererComponent(JTree tree,Object value,
boolean sel,boolean expanded,boolean leaf,int row,boolean hasFocus) {
super.getTreeCellRendererComponent(tree,value,sel,expanded,leaf,row,hasFocus);
setIcon(fileSystemView.getSystemIcon(((FileNode)value).getFile()));
return this;
}
}
class MyExpandsionListener implements TreeExpansionListener {
public MyExpandsionListener() {}
public void treeExpanded(TreeExpansionEvent event) {
if(event.getPath() == null){
return;
}
tree.setCursor(new Cursor(Cursor.WAIT_CURSOR));
TreePath path = event.getPath();
FileNode node = (FileNode)path.getLastPathComponent();
node.explore();
treeModel.nodeStructureChanged(node);
tree.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
public void treeCollapsed(TreeExpansionEvent event) {}
}
class FileNode extends DefaultMutableTreeNode {
private boolean explored = false;
public FileNode(File file) { setUserObject(file); }
public boolean getAllowsChildren() { return isDirectory(); }
public boolean isLeaf() { return !isDirectory();}
public File getFile() { return (File)getUserObject(); }
public boolean isExplored() { return explored; }
public void setExplored(boolean b){ explored=b;}
public boolean isDirectory() { return getFile().isDirectory();}
public String toString() {
File file = (File)getUserObject();
String filename = file.toString();
int index = filename.lastIndexOf(File.separator);
return (index != -1 && index != filename.length()-1)
? filename.substring(index+1) : filename;
}
public void explore() {
if(!isExplored()) {
File file = getFile();
File[] children = file.listFiles();
if(children==null||children.length==0)return;
for(int i=0; i < children.length; ++i)
{
File f=children[i];
if(f.isDirectory())add(new FileNode(children[i]));
}
explored = true;
}
}
}
class DetailTable extends JTable{
DetailTableModel model=new DetailTableModel();
public DetailTable(){
setModel(model);
setShowGrid(false);
TableColumnModel colModel = getColumnModel();
for (int i=0;i<3;i++)
colModel.getColumn(i).setCellRenderer(new DetailsTableCellRenderer());
setRowHeight(18);
this.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()==2){
for (int i = 0; i <getRowCount(); i++) {
if(getCellRect(i,0,true).contains(e.getPoint())){
openSelect();
break;
}
}
}
}
});
}
public void openSelect(){
Object obj=model.getValueAt(getSelectedRow(),0);
if(obj==null)return;
File f=(File)obj;
if(f.isDirectory()){
//expand tree
}else{
//open select file
}
}
public void setParent(File parent){
model.removeAllRows();
File list[]=parent.listFiles();
if(list==null)return;
Vector vDir=new Vector(),vFile=new Vector();
for (int i = 0; i < list.length; i++) {
if(list[i].isDirectory())vDir.add(list[i]);
else vFile.add(list[i]);
}
sortElements(vFile);
sortElements(vDir);
for (int i = 0; i < vDir.size(); i++)model.addFile((File)vDir.elementAt(i));
for (int i = 0; i < vFile.size(); i++)model.addFile((File)vFile.elementAt(i));
}
public void sortElements(Vector v)
{
for(int i=0;i<v.size();i++)
{
int k=i;
for(int j=i+1;j<v.size();j++){
File fa=(File)v.elementAt(j);
File fb=(File)v.elementAt(k);
if(fileSystemView.getSystemDisplayName(fa).toLowerCase().compareTo(
fileSystemView.getSystemDisplayName(fb).toLowerCase())<0)k=j;
}
if(k!=i)swap(k,i,v);
}
}
private void swap(int loc1,int loc2,Vector v){
Object tmp=v.elementAt(loc1);
v.setElementAt(v.elementAt(loc2),loc1);
v.setElementAt(tmp,loc2);
}
class DetailTableModel extends DefaultTableModel {
public DetailTableModel() {
addColumn("名称");
addColumn("大小");
addColumn("修改时间");
}
public void addFile(File f){
addRow(new Object[]{f,new Double(f.length()/1024),
new java.sql.Date(f.lastModified())});
}
public void removeAllRows(){
while(getRowCount()!=0) removeRow(0);
}
public boolean isCellEditable(int row, int column) {return false;}
}
class DetailsTableCellRenderer extends DefaultTableCellRenderer {
DetailsTableCellRenderer() {}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (column == 1){
setHorizontalAlignment(SwingConstants.TRAILING);
isSelected=hasFocus=false;
}else if(column==2){
setHorizontalAlignment(SwingConstants.CENTER);
isSelected=hasFocus=false;
}else setHorizontalAlignment(SwingConstants.LEADING);
return super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
}
public void setValue(Object value) {
setIcon(null);
if (value instanceof File) {
File file = (File)value;
setText(fileSystemView.getSystemDisplayName(file));
setIcon(fileSystemView.getSystemIcon(file));
}else{
super.setValue(value);
}
}
}
}

}

你双击左面的桌面图标就可以浏览了,别双击字。

画个fram,然后在窗体上输出100遍“Hello World”不就够行数了吗