求助:JAVA小程序

求助:JAVA小程序,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

我们修的汇编语言是JAVA,怎奈自己学术不精.现在此象高手请教.小程序是期末做课程设计用的.题目有日历记事本,学籍管理系统,计算器,画图程序.其他的也可以.现需要两个程序,谢谢大家!

解析:

import java.io.*

import java.util.Calendar

import java.awt.*

import java.awt.event.*

import javax.swing.*

public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener{

Container c = this.getContentPane()

JMenuBar jmb = new JMenuBar()

JColorChooser jcc = new JColorChooser()

JMenu jm1 = new JMenu("文件(F)")

JMenu jm2 = new JMenu("编辑(E)")

JMenu jm3 = new JMenu("格式(O)")

JMenu jm4 = new JMenu("查看(V)")

JMenu jm5 = new JMenu("帮助(H)")

JMenuItem jmi1 = new JMenuItem("新建(N)")

JMenuItem jmi2 = new JMenuItem("打开(O)")

JMenuItem jmi3 = new JMenuItem("保存(S)")

JMenuItem jmi4 = new JMenuItem("退出(X)")

JMenuItem jmi5 = new JMenuItem("撤消(U)")

JMenuItem jmi6 = new JMenuItem("复制(C)")

JMenuItem jmi7 = new JMenuItem("粘贴(P)")

JMenuItem jmi8 = new JMenuItem("剪切(T)")

JMenuItem jmi12 = new JMenuItem("日期和时间")

JMenuItem jmi9 = new JMenuItem("字体(E)")

JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自动换行(W)")

JMenuItem jmi10 = new JMenuItem("删除(S)")

JMenuItem jmi11 = new JMenuItem("背景颜色(H)")

JTextArea jta = new JTextArea(15,15)

JScrollPane jsp = new JScrollPane(jta)

PupolMenu pm = new Pupolmenu()

NoteBook(){

this.addWindowListener(this)

c.setLayout(new BorderLayout())

c.add(jmb,BorderLayout.NORTH)

this.setTitle("新建 文本文档")

jmb.add(jm1)

jm1.setMnemonic('f')

jm1.addActionListener(this)

jmb.add(jm2)

jm2.setMnemonic('e')

jmb.add(jm3)

jm3.setMnemonic('o')

jmb.add(jm4)

jm4.setMnemonic('v')

jmb.add(jm5)

jm5.setMnemonic('h')

jm1.add(jmi1)

jmi1.addActionListener(this)

jmi1.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK,false))

jm1.addSeparator()

jm1.add(jmi2)

jmi2.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK,false))

jmi2.addActionListener(this)

jm1.addSeparator()

jm1.add(jmi3)

jmi3.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK,false))

jmi3.addActionListener(this)

jm1.addSeparator()

jm1.add(jmi4)

jmi1.setMnemonic('n')

jmi2.setMnemonic('o')

jmi3.setMnemonic('s')

jmi4.setMnemonic('x')

jmi4.addActionListener(this)

jm2.add(jmi5)

jm2.addSeparator()

jm2.add(jmi6)

jm2.addSeparator()

jm2.add(jmi7)

jm2.addSeparator()

jm2.add(jmi8)

jm2.add(jmi12)

jmi12.addActionListener(this)

jm3.add(jcbmi)

jcbmi.addItemListener(this)

jm3.addSeparator()

jm3.add(jmi9)

jm4.add(jmi10)

jmi10.addActionListener(this)

jm5.add(jmi11)

jmi11.addActionListener(this)

c.add(jsp)

this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)

this.setSize(500,500)

this.setVisible(true)

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==jmi1){

jta.setText("")

this.setTitle("无标题 - 记事本")

}

if(e.getSource()==jmi2){

File f1

JFileChooser jfc1 = new JFileChooser()

int num1 = jfc1.showOpenDialog(this)

if(num1==JFileChooser.APPROVE_OPTION){

try{

f1 = jfc1.getSelectedFile()

this.setTitle(f1.getName())

FileReader fr = new FileReader(f1)

BufferedReader br = new BufferedReader(fr)

String str

while((str = br.readLine())!=null){

jta.setText(str)

}

fr.close()

br.close()

}catch(FileNotFoundException e1){

e1.printStackTrace()

}catch(IOException e2){

e2.printStackTrace()

}

}

}

if(e.getSource()==jmi3){

File f2 = null

JFileChooser jfc2 = new JFileChooser()

int num2 = jfc2.showSaveDialog(this)

if(num2==JFileChooser.APPROVE_OPTION){

f2=jfc2.getSelectedFile()

this.setTitle(f2.getName())

try{

FileWriter fw = new FileWriter(f2)

BufferedWriter bw = new BufferedWriter(fw)

bw.write(jta.getText())

bw.close()

fw.close()

}catch(IOException e2){

e2.printStackTrace()

}

}

}

if(e.getSource()==jmi4){

int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION)

if(a==1){

this.dispose()

}else if(a==0){

File f2 = null

JFileChooser jfc2 = new JFileChooser()

int num2 = jfc2.showSaveDialog(this)

if(num2==JFileChooser.APPROVE_OPTION){

f2=jfc2.getSelectedFile()

this.setTitle(f2.getName())

try{

FileWriter fw = new FileWriter(f2)

BufferedWriter bw = new BufferedWriter(fw)

bw.write(jta.getText())

bw.close()

fw.close()

}catch(IOException e2){

e2.printStackTrace()

}

this.dispose()

}

}

}

if(e.getSource()==jmi12){

Calendar c1 =Calendar.getInstance()

int y = c1.get(Calendar.YEAR)

int m = c1.get(Calendar.MONTH)

int d = c1.get(Calendar.DATE)

int h = c1.get(Calendar.HOUR)

int m1 = c1.get(Calendar.MINUTE)

int m2 = m+1

jta.setText(y+"年"+m2+"月"+d+"日"+h+":"+m1)

}

if(e.getSource()==jmi11){

Color ccc = JColorChooser.showDialog(this,"color",Color.BLACK)

jta.setSelectedTextColor(ccc)

jta.setBackground(ccc)

}

if(e.getSource()==jmi10){

jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd())

}

}

public void itemStateChanged(ItemEvent e2){

if(e2.getItemSelectable()==jcbmi){

jta.setLineWrap(true)

}else

jta.setLineWrap(false)

}

public static void main(String[] args){

new NoteBook()

}

public void windowOpened(WindowEvent arg0) {

}

public void windowClosing(WindowEvent arg0) {

int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION)

if(a==1){

this.dispose()

}else if(a==0){

File f2 = null

JFileChooser jfc2 = new JFileChooser()

int num2 = jfc2.showSaveDialog(this)

if(num2==JFileChooser.APPROVE_OPTION){

f2=jfc2.getSelectedFile()

this.setTitle(f2.getName())

try{

FileWriter fw = new FileWriter(f2)

BufferedWriter bw = new BufferedWriter(fw)

bw.write(jta.getText())

bw.close()

fw.close()

}catch(IOException e2){

e2.printStackTrace()

}

}

if(a==2){

????/????????????????????????????????????????????????????????????????

}

}

}

public void windowClosed(WindowEvent arg0) {

}

public void windowIconified(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void windowDeiconified(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void windowActivated(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void windowDeactivated(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void mouseClicked(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mousePressed(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mouseReleased(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mouseEntered(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mouseExited(MouseEvent arg0) {

TODO Auto-generated method stub

}

}

private void btnClose_Click(object sender, EventArgs e)

{

// 用于存储发送数据的字节数据,长度为1024字长

Byte[] byteSend = new byte[1024]

// 将字符串"OFF"使用系统默认编码方式转成byte数组,并存入byteSend

byteSend = System.Text.Encoding.Default.GetBytes("OFF")

// 发送byteSend并取得发送的长度

int i = stSend.Send(byteSend)

// 关闭连接

stSend.Disconnect(false)

// 关闭Socket

stSend.Shutdown(SocketShutdown.Both)

stSend.Close()

// 禁用btnConnect按钮

btnConnect.Enabled = true

tcpConnect = false

}

private void bt_open_Click(object sender, EventArgs e)

{

// 实例化一个打开文件对话框

OpenFileDialog open = new OpenFileDialog()

string str = ""

// 指定可从文件打开对话框中打开的文件类型

open.Filter = "所有文件(*.*)|*.*"

if (open.ShowDialog() == DialogResult.OK)

{

// 取得打开的文件名

tb_FileName.Text = open.FileName

// 创建一个套接字(用于实现网络编程)

SocketClient sock = new SocketClient(tb_FileName.Text, str, tbxServerIP.Text, Convert.ToInt32(tbxPort.Text))

// 如果客户端与服务端成功连接

if (sock.connect_Server() == true)

{

// 发送文件

sock.send_File()

MessageBox.Show("文件 " + Path.GetFileName(tb_FileName.Text) + " 发送成功!")

}

}

}

private void button1_Click_1(object sender, EventArgs e)

{

// 实例化一个文件浏览对话框,并显示该对话框

OpenFileDialog openFileDialog1 = new OpenFileDialog()

openFileDialog1.ShowDialog()

// 获取从文件浏览对话框中选定打开的文件名

string filename = openFileDialog1.FileName

// 取出文件名中'.'所在的位置

// 这里他是想通过字符串截取的方式从取文件名中获得扩展名

int i = filename.LastIndexOf(".")

if (i != -1)

{

// 从文件名中的'.'开始截取,得到文件的扩展名

string filetype = filename.Substring(filename.LastIndexOf("."))

if (this.radioButton1.Checked)

{

// 移除文件名中的“(解密文件)”

filename = filename.Replace("(解密文件)", "")

// 重新构造新的文件名,并显示在textBox2中

textBox2.Text = filename.Substring(0, filename.LastIndexOf(".")) + "(加密文件)" + filetype

}

else

{

// 移除文件名中的“(加密文件)”

filename = filename.Replace("(加密文件)", "")

// 重新构造新的文件名,并显示在textBox2中

textBox2.Text = filename.Substring(0, filename.LastIndexOf(".")) + "(解密文件)" + filetype

}

}

// 这里判断文件名是否为空

// 建议通过字符串长度来判断,这样性能要高些: if(filename.Length >0)

if (filename != "")

{

// 将从文件浏览对话框中选定打开的文件名称显示在textBox1中

textBox1.Text = openFileDialog1.FileName

}

}

private void button2_Click(object sender, EventArgs e)

{

// 实例化并打开一个文件保存对话框

SaveFileDialog saveFileDialog1 = new SaveFileDialog()

saveFileDialog1.ShowDialog()

// 如果在文件保存对话框中指定的保存路径与文件名不为空

if (saveFileDialog1.FileName != "")

{

// 取得指定的保存路径并显示在textBox2中

this.textBox2.Text = saveFileDialog1.FileName

}

}

总结:这里代码不全,但是可以看出这是一个利用套接字实现的网络传送文件的代码段,并且对文件实现了加解密。

子窗体类 form= new 子窗体类()

this.Hide()

if(form.ShowDialog() == DialogResult.Cancel)

{

this.Close()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8003603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存