主页 > 程序语言 > c#是干嘛的?

c#是干嘛的?

2023-11-04 03:11来源:m.sf1369.com作者:宇宇

c#是干嘛的?

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

编写一个JAVA记事本程序

给你个做好了的Java的源程序的记事本,自己看看就行了的,不怎么难的···

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

public class MyNotepad implements ActionListener{

private JFrame frame=new JFrame(新记事本);

private JTextArea jta=new JTextArea();

private String result=;

private boolean flag=true;

private File f;

private JButton jb=new JButton(开始);

private JTextField jtf=new JTextField(15);

private JTextField jt=new JTextField(15);

private JButton jbt=new JButton(替换为);

private JButton jba=new JButton(全部替换);

private Icon ic=new ImageIcon(D:\\java课堂笔记\\GUI\\11.gif);

private String value;

private int start=0;

private JFrame jf=new JFrame(查找);

private JFrame jfc=new JFrame(替换);

@Override

public void actionPerformed(ActionEvent e) {

String comm=e.getActionCommand();

if(新建.equals(comm)){

if(!(frame.getTitle().equals(新记事本))){

if(!flag){

write();

newNew();

}else{

JFileChooser jfc=new JFileChooser(D:\\java课堂笔记);

 int returnVal = jfc.showDialog(null,保存为);

 if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

            f=jfc.getSelectedFile();

            flag=false;

write();

    }

}

}else if(!(jta.getText().isEmpty())){

JFileChooser jfc=new JFileChooser(D:\\java课堂笔记);

 int returnVal = jfc.showDialog(null,保存为);

 if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

            f=jfc.getSelectedFile();

            flag=false;

write();

newNew();

    }

}else{

newNew();

}

}else if(打开.equals(comm)){

JFileChooser jfc=new JFileChooser(D:\\java课堂笔记);

jfc.setDialogType(JFileChooser.OPEN_DIALOG);

 int returnVal = jfc.showOpenDialog(null);

 if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

frame.setTitle(f.getName());

result=read();

flag=false;

value=result;

jta.setText(result);

    }

}else if(保存.equals(comm)){

JFileChooser jfc=new JFileChooser(D:\\java课堂笔记);

if(flag){

 int returnVal = jfc.showDialog(null,保存为);

 if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

            f=jfc.getSelectedFile();

            flag=false;

write();

    }

}else{

write();

}

}else if(另存.equals(comm)){

JFileChooser jfc=new JFileChooser(D:\\java课堂笔记);

 int returnVal = jfc.showDialog(null,另存);

 if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

            f=jfc.getSelectedFile();

write();

    }

}else if(退出.equals(comm)){

System.exit(0);

}else if(撤销.equals(comm)){

jta.setText(value);

}else if(剪切.equals(comm)){

value=jta.getText();

jta.cut();

}else if(复制.equals(comm)){

jta.copy();

}else if(粘贴.equals(comm)){

value=jta.getText();

jta.paste();

}else if(删除.equals(comm)){

value=jta.getText();

jta.replaceSelection(null);

}else if(全选.equals(comm)){

jta.selectAll();

}else if(查找.equals(comm)){

value=jta.getText();

jf.add(jtf,BorderLayout.CENTER);

jf.add(jb,BorderLayout.SOUTH);

jf.setLocation(300,300);

jf.pack();

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}else if(替换.equals(comm)){

value=jta.getText();

GridLayout gl=new GridLayout(3,3);

JLabel jl1=new JLabel(查找内容:);

JLabel jl2=new JLabel(替换为:);

jfc.setLayout(gl);

jfc.add(jl1);

jfc.add(jtf);

jfc.add(jb);

jfc.add(jl2);

jfc.add(jt);

jfc.add(jbt);

JLabel jl3=new JLabel();

JLabel jl4=new JLabel();

jfc.add(jl3);

jfc.add(jl4);

jfc.add(jba);

jfc.setLocation(300,300);

jfc.pack();

jfc.setVisible(true);

jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}else if(版本.equals(comm)){

JDialog jd=new JDialog(frame,关于对话框);

jd.setSize(200,200);

JLabel l=new JLabel(哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵);

jd.add(l,BorderLayout.CENTER);

jd.setLocation(100,200);

jd.setSize(300,300);

jd.setVisible(true);

//jd.pack();

jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

}else if(开始.equals(comm)||下一个.equals(comm)){

 String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jb.setText(下一个);

//value=value.substring(s+temp.length());//不能截取字串

}else {

JOptionPane.showMessageDialog(jf, 查找完毕!, 提示, 0, ic);

jf.dispose();

}

}else if(替换为.equals(comm)){

String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jta.replaceSelection(jt.getText());

}else {

JOptionPane.showMessageDialog(jf, 查找完毕!, 提示, 0, ic);

jf.dispose();

}

}else if(全部替换.equals(comm)){

String temp=jta.getText();

temp=temp.replaceAll(jtf.getText(), jt.getText());

jta.setText(temp);

}

}

public String read(){

String temp=;

try {

FileInputStream fis = new FileInputStream(f.getAbsolutePath());

byte[] b=new byte[1024];

while(true){

int num=fis.read(b);

if(num==-1)break;

temp=temp+new String(b,0,num);

}

fis.close();

} catch (Exception e1) {

e1.printStackTrace();

}

return temp;

}

public void write(){

try {

FileOutputStream fos=new FileOutputStream(f);

fos.write(jta.getText().getBytes());

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public void newNew(){

frame.dispose();

new MyNotepad();

flag=true;

}

public MyNotepad(){

JMenuBar jmb=new JMenuBar();

String[] menuLab={文件,编辑,帮助};

String[][] menuItemLab={{新建,打开,保存,另存,退出},

{撤销,剪切,复制,粘贴,删除,全选,查找,替换},

{版本}};

for(int i=0;i<menuLab.length;i++){

JMenu menu=new JMenu(menuLab[i]);

jmb.add(menu);

for(int j=0;j<menuItemLab[i].length;j++){

JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);

menu.add(jmi);

jmi.addActionListener(this);

}

}

frame.setJMenuBar(jmb);

jta.setLineWrap(true);//自动换行

JScrollPane jsp=new JScrollPane(jta);//滚动窗口面板

frame.add(jsp);

jb.addActionListener(this);

jbt.addActionListener(this);

jba.addActionListener(this);

frame.setLocation(200,50);

frame.setSize(620,660);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new MyNotepad();

}

}

相关推荐

哪些编程语言是函数式的

程序语言 2024-01-14

VB编程的函数详解

程序语言 2024-01-02

c语言扑克牌问题

程序语言 2023-12-28

iphone语言与地区有什么用?

程序语言 2023-12-19

C语言程序,怎么使用,

程序语言 2023-12-17

把word嵌入到C#程序中

程序语言 2023-11-26

HTML是不是编程语言?

程序语言 2023-11-17