图形界面编程(C++ 图形界面编程,只能是MFC吗)
本文目录
- C++ 图形界面编程,只能是MFC吗
- 如何用c语言作出有图形界面的小程序
- C语言如何做图形界面
- C 图形界面编程
- java怎么实现图形化界面
- Java编写图形用户界面程序
- java图形界面编程想要加背景图,就是处于所有图层最下面的,有没有什么示例代码
- 使用Java的GUI图形用户界面编程设计并编写一个计算器程序
- 编写一个具有图形用户界面的Java程序
- java编程实现一个学生信息管理系统的图形界面
C++ 图形界面编程,只能是MFC吗
C++编写图形界面程序,我们可以使用现有的成熟的图形界面库, 比如MFC、ATL、QT等。 qt库,这是一个跨平台的图形界面库,采用qt库编写的程序,在无需修改的情况下,可以 在linux、windows、mac等平台运行。可以用这个试试~~itjob助你成就开发美梦
如何用c语言作出有图形界面的小程序
那需要学VC。确切的说是要学MFC。
MFC编图形化程序也是很麻烦的,难学,繁琐。
其实你可以再学Java或者C#。
Java本身也不适合做图形化应用程序,但是比MFC要简单得多。
C#则是当前做图形化程序最简单高效的了,不需要编程单靠鼠标拖拽就能做出图形界面。特别是C#的WPF图形框架更是把图形化编程简化到了极限。
所以强烈建议学C#。
C#语言综合Java和C++的优点。Java和C++都源自C语言。所以学C#之前最好先学一下C++,C、C++、C#可以说是一脉相承,向下兼容的。
总之,学图形化编程比较好的顺序是:
C(结构化语言,入门)-》 C++(面向对象语言,铺垫) -》 C# (享受快速图形化开发吧)
忘解释那几个名词了,补上:
集成开发环境:就是IDE,一类开发工具。
你的代码本来可以直接在记事本里写完,然后命令行下调用编译器编译就能执行了。
集成开发环境将代码、代码编译执行、代码调试功能集成在一起(甚至集成更多功能),使开发人员的开发变得更加高效。比如Visual C++ 6.0就是一个集成开发环境,还有Eclipse、CodeBlocks、Visual Studio等都是。
C语言如何做图形界面
C语言中要做图形见面,首先需要设置为图形模式,确定显卡类型,对屏幕进行初始化等等,相关的函数如下:1. detectgraph() 显示卡检测函数 2. initgraph() 图形初始化函数 3. getdrivername() 获取图形驱动程序名的指针 4. getgraphmode() 获取图形模式函数 5. getmoderange()获取模式值范围函数 6. getmaxmode()获取最大显示模式函数 7. getmodename()获取显示模式名函数 8. graphdefaults()图形设置复位缺省值函数 9. setgraphmode() 设置图形模式函数 10. restorecrtmode() 恢复文本显示模式函数 11. graphresult() 图形操作结果函数 12. grpaherrormsg() 图形错误信息函数 13. setgraphbufsize()设置图形缓冲区大小函数 14. setactivepage() 设置可输出显示页函数 15. setvisualpage() 设置可见显示页数 16. closegraph()关闭图形模式函数
C 图形界面编程
说心里话,我以前也喜欢c的,不过太难了.这是一点东西.你可以实验以下的.c里的函数太多,你可以到新华书店去找书的,很多那方面的书.都很好,不过建议你学其他的语言,函数名: line 功 能: 在指定两点间画一直线 用 法: void far line(int x0, int y0, int x1, int y1); 程序例: #include 《graphics.h》 #include 《stdlib.h》 #include 《stdio.h》 #include 《conio.h》 int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int xmax, ymax; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); /* an error occurred */ if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } setcolor(getmaxcolor()); xmax = getmaxx(); ymax = getmaxy(); /* draw a diagonal line */ line(0, 0, xmax, ymax); /* clean up */ getch(); closegraph(); return 0; } 函数名: linerel 功 能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线 用 法: void far linerel(int dx, int dy); 程序例: #include 《graphics.h》 #include 《stdlib.h》 #include 《stdio.h》 #include 《conio.h》 int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; char msg; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } /* move the C.P. to location (20, 30) */ moveto(20, 30); /* create and output a message at (20, 30) */ sprintf(msg, " (%d, %d)", getx(), gety()); outtextxy(20, 30, msg); /* draw a line to a point a relative distance away from the current value of C.P. */ linerel(100, 100); /* create and output a message at C.P. */ sprintf(msg, " (%d, %d)", getx(), gety()); outtext(msg); /* clean up */ getch(); closegraph(); return 0; } 函数名: circle 功 能: 在给定半径以(x, y)为圆心画圆 用 法: void far circle(int x, int y, int radius); 程序例: #include 《graphics.h》 #include 《stdlib.h》 #include 《stdio.h》 #include 《conio.h》 int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy; int radius = 100; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor()); /* draw the circle */ circle(midx, midy, radius); /* clean up */ getch(); closegraph(); return 0; } 函数名: cleardevice 功 能: 清除图形屏幕 用 法: void far cleardevice(void); 程序例: #include 《graphics.h》 #include 《stdlib.h》 #include 《stdio.h》 #include 《conio.h》 int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor()); /* for centering screen messages */ settextjustify(CENTER_TEXT, CENTER_TEXT); /* output a message to the screen */ outtextxy(midx, midy, "press any key to clear the screen:"); /* wait for a key */ getch(); /* clear the screen */ cleardevice(); /* output another message */ outtextxy(midx, midy, "press any key to quit:"); /* clean up */ getch(); closegraph(); return 0; }
java怎么实现图形化界面
java图形化界面还是有很多内容要学习的,可以参考 如下实例:
public class Test extends JFrame{MyPanel mp=null;public static void main(String args){// TODO Auto-generated method stubTest jf= new Test();}public Test(){mp=new MyPanel();this.add(mp);//设置标题this.setTitle("绘图");//设置窗体大小this.setSize(400, 300);//设置窗体的位置this.setLocation(100,100);//限制窗体的大小this.setResizable(false);//关闭窗体时,同时退出java虚拟机this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//显示窗体this.setVisible(true);}}//定义一个MyPanel(我自己的面板,用于绘图和实现绘图区域)class MyPanel extends JPanel{//覆盖JPanel的paint方法//Graphics是绘图的重要类,可以把它理解成一只画笔public void paint(Graphics g){//1。调用父类函数完成初始化super.paint(g);// //画圆// g.drawOval(100, 100, 20, 20);// //画直线// g.drawLine(50, 150,150, 200);// //画矩形边框// g.drawRect(150, 150, 30, 40);//// //设置颜色。默认为黑色// g.setColor(Color.blue);// //填充矩形// g.fillRect(10, 10, 20, 30);//画弧形g.drawArc(200,10, 100,150, 120,-80);//在面板上画图片Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("图片路径"));//显示图片g.drawImage(im, 10, 10,200,180,this);//画字g.setColor(Color.red);g.setFont(new Font("华文彩云",Font.BOLD,20));g.drawString("要写的字", 80,220);}}
Java编写图形用户界面程序
运行如图
参考代码如下
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class RegDemo extends JFrame implements ActionListener{JTextField jtf;JPasswordField jpf;public RegDemo() { //组件的创建, 和布局安排JPanel jpc = new JPanel();//默认流式布局JPanel jp1 = new JPanel(new GridLayout(2, 2,5,10));//网格布局jp1.setBorder(BorderFactory.createTitledBorder("用户注册"));JLabel jl1 = new JLabel("用户名:");jtf = new JTextField(10);JLabel jl2 = new JLabel("密码:");jpf = new JPasswordField(10); jpf.setEchoChar(’*’);//用*号来隐藏密码的显示jp1.add(jl1);jp1.add(jtf);jp1.add(jl2);jp1.add(jpf);jpc.add(jp1);add(jpc);JButton jb1 = new JButton("提交");jb1.addActionListener(this);jb1.setActionCommand("yes");JButton jb2 = new JButton("取消");jb2.addActionListener(this);jb2.setActionCommand("no");JPanel jp2 = new JPanel();jp2.add(jb1);jp2.add(jb2);add(jp2,BorderLayout.SOUTH);setTitle("用户注册界面"); setSize(280, 280); setLocationRelativeTo(null);//窗口居中 setDefaultCloseOperation(EXIT_ON_CLOSE);// setVisible(true);}public static void main(String args) {new RegDemo();}@Overridepublic void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("yes")){String name = jtf.getText().trim();String pwd = new String(jpf.getPassword());if(name.equals("")||pwd.equals("")){JOptionPane.showMessageDialog(this, "你还没有输入用户名或者密码");}else{JOptionPane.showMessageDialog(this, "注册成功!用户名"+name+",密码"+pwd);}}else{jtf.setText("");jpf.setText("");}}}
java图形界面编程想要加背景图,就是处于所有图层最下面的,有没有什么示例代码
我之前写过一个这样的,可以给你参考其中背景图是alarmImageJLayeredPane alarmLayeredPane=new JLayeredPane();JPanel jPanel=new JPanel(); //新建面板容器JLabel jLabel=new JLabel(); //新建标签jPanel.setBounds(0, -5, alarmImage.getIconWidth(), alarmImage.getIconHeight());//设置面板大小jLabel=new JLabel(alarmImage); //创建具有指定图像的JLabel实例jPanel.add(jLabel); //将标签加到面板容器中去alarmLayeredPane.add(jPanel, alarmLayeredPane.DEFAULT_LAYER); //再将面板容器放到层次面板的底层,即背景图
使用Java的GUI图形用户界面编程设计并编写一个计算器程序
进口的java.awt.BorderLayout; 进口java.awt.GridLayout中; 进口java.awt.event.ActionEvent; 进口java.awt.event.ActionListener; 进口的javax。 swing.JButton; 进口javax.swing.JFrame中; 进口javax.swing.JPanel; 进口javax.swing.JTextField中; / /暂时不考虑这个问题甚至添加 / /点的第二个操作点的操作员点运算符点=结果公共类计算器实现的ActionListener { 》 JTextField的JTF =新的JTextField(10); 私人布尔追加= FALSE; 私人字符串OP1 =“0”; 私人字符串运算符=“+”; @覆盖公共无效的actionPerformed(ActionEvent的E){字符串COMN = e.getActionCommand();。! / /处理数字如果(“0123456789”的indexOf(COMN)= -1){如果(追加){/ /追加字符串温度= jtf.getText() ; jtf.setText(温度+ COMN); }其他{/ /替换 jtf.setText(COMN); 追加= TRUE; / /处理运营商否则,如果(“+ - * /”的indexOf(COMN)= -1){ OP1 = JTF。的getText(); 运算符= COMN; 追加= FALSE; 的} else if(“=”的indexOf(COMN)= -1。){字符串OP2 = jtf.getText(); 双D1 = Double.parseDouble(OP1); 双D2 = Double.parseDouble(OP2); 如果(“+”等于(操作者)。){ D1 = D1 + D2; }否则,如果(“ - ”等于(操作员)。){ D1 = D1 - D2; }否则,如果(“*”的equals(操作员)。){ D1 = D1 * D2; 的} else if(“/”等于(操作者)。){ D1 = D1 / D2; jtf.setText(D1 +“”); 追加= FALSE; }否则,如果(等于(COMN)“。”){字符串温度= jtf.getText(); 如果(temp.indexOf(“;”)== -1){ jtf.setText(温度+“。”); 追加= TRUE; 否则,如果(“+ / - ”的equals(COMN)){字符串温度= jtf.getText(); 如果(temp.startsWith(“-1”)){ JTF。的setText(temp.substring(1)); }其他{ jtf.setText(“ - ”+温度); 否则,如果(“退格”。等于(COMN)){字符串温度= jtf.getText(); 如果(temp.length()》 0){ jtf.setText(temp.substring(0,temp.length() - 1)); .. } 的} else if(“CE”等于(COMN)| |“C”等于(COMN)){ jtf.setText(“0”); 追加= FALSE; 公众计算器(){ JFrame的JF =新的JFrame(“计算器”); jf.add(JTF,BorderLayout.NORTH); 字串 S1 = {“退格”,“CE”,“C”,“+”,“7”,“8”,“9”,“/”,“4”, “5”,“6”,“*”,“1”,“2”,“3”,“ - ”,“0”,“+ / - ”,“”,。 “=”}; 的JPanel JP =新的JPanel(); jf.add(JP,使用BorderLayout.CENTER); 网格布局GL =新的网格布局(5,4); jp.setLayout(GL); JButton的; 为(int i = 0;我《s1.length,我+ +){ JB ); jp.add(JB由);。 JB addActionListener方法,(这); } jf.add(JP); jtf.setEditable(假); jf.setLocation(400,300); jf.pack(); jf.setResizable(假);/ /设置窗口不可改变 jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE); jf.setVisible(真); 公共静态无效的主要(字串 args){新的计算器(); 这个函数比较简单,不知道能不能满足要求
编写一个具有图形用户界面的Java程序
import javax.imageio.*;import javax.swing.*;import java.awt.*;import java.awt.geom.*;import java.io.*;/** * @author Hardneedl */class ImageZoom extends JFrame { private static final Dimension minSize = new Dimension(300, 200); private static final Dimension maxSize = new Dimension(1024, 768); private static final Dimension preferredSize = new Dimension(600, 400); public Dimension getMaximumSize() {return maxSize;} public Dimension getMinimumSize() {return minSize;} public Dimension getPreferredSize() {return preferredSize;} public String getTitle() {return "Frame Title";} private class ImageCanvas extends JComponent{ private Image img; private AffineTransform af=new AffineTransform(); private ImageCanvas(Image g,float s) {setImage(g);setScale(s);} private void setImage(Image img){ this.img = img; if (isVisible()) paintImmediately(getBounds()); } protected void paintComponent(Graphics g) { super.paintComponent(g); if (img!=null) { Graphics2D g2d = (Graphics2D)g.create(); g2d.drawImage(img,af,this); } } private void setScale(float scale){ af = AffineTransform.getScaleInstance(scale,scale); if (isVisible()) paintImmediately(getBounds()); } }; private static ImageCanvas canvas; private Image img;private float s; ImageZoom(Image g,float s) throws HeadlessException { img =g;this.s=s; init(); doLay(); attachListeners(); } private void init() { canvas = new ImageCanvas(img,s); } private void doLay() { Container container = getContentPane(); container.add(canvas,BorderLayout.CENTER); pack(); } private void attachListeners() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(final String args) { SwingUtilities.invokeLater( new Runnable(){ public void run() { try { new ImageZoom(ImageIO.read(new FileInputStream(args)).setVisible(true); } catch (IOException e) { e.printStackTrace(); } } } ); }}
java编程实现一个学生信息管理系统的图形界面
package 学生管理界面;import java.awt.BorderLayout;import java.awt.Checkbox;import java.awt.CheckboxGroup;import java.awt.Container;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;//录入的信息包括学号、姓名、性别、出生日期、是否联合培养等public class 学生信息图形界面 extends JFrame implements ActionListener { public 学生信息图形界面() { //构造方法 //界面显示问题 super("学生信息图形界面"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setSize(320, 300); setVisible(true); Container content = getContentPane(); JPanel jp1 = new JPanel(); //创建一个面板 JLabel label = new JLabel("欢迎使用学生信息管理系统"); //欢迎界面的欢迎语句 label.setFont(new Font("楷体_GB2312", Font.BOLD, 20)); //设置显示的字体 jp1.add(label); //将标签添加到面板jp1中 JPanel jp2 = new JPanel(); //创建一个面板,用于摆放提示各种功能的标签 JLabel label1 = new JLabel("请输入学生的详细资料:"); //输入提示输入的语言: label1.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 JLabel label2 = new JLabel("学 生 学 号:"); //提示各种输入内容的标签 label2.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体t JTextField field1=new JTextField(10); //10为学号长度,可自行设定 JLabel label3 = new JLabel("学 生 姓 名:"); //提示输入学生姓名的标签 label3.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 JTextField field2=new JTextField(10); //10为姓名长度,可自行设定 JLabel label4 = new JLabel("学 生 性 别: "); //提示输入学生性别的标签 label4.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 CheckboxGroup group1 = new CheckboxGroup(); //创建一个复选框用于选择某一功能 Checkbox check11 = new Checkbox("男",true,group1); //添加选项到复选框中 check11.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 check11.addItemListener(new CheckHandler1(1)); //给相应复选框添加事件监听器 Checkbox check12 = new Checkbox("女",false,group1); //添加选项到复选框中 check12.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 check12.addItemListener(new CheckHandler1(2)); //给相应复选框添加事件监听器 JLabel label5 = new JLabel("出 生 日 期:"); //提示输入出生日期的标签 label5.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 JTextField field3=new JTextField("2000",3); //3为姓名长度,可自行设定 JLabel label51 = new JLabel("年"); label51.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 JTextField field4=new JTextField("01",2); //2为姓名长度,可自行设定 JLabel label52 = new JLabel("月"); label52.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 JTextField field5=new JTextField("01",2); //2为姓名长度,可自行设定 JLabel label53 = new JLabel("日"); label53.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 JLabel label6 = new JLabel("联合培养:"); //提示选择联合培养与否的标签 label6.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 CheckboxGroup group2 = new CheckboxGroup(); //创建一个复选框用于选择某一功能 Checkbox check21 = new Checkbox("是",true,group2); //添加选项到复选框中 check21.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 check21.addItemListener(new CheckHandler2(1)); //给相应复选框添加事件监听器 Checkbox check22 = new Checkbox("否",false,group2); //添加选项到复选框中 check22.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体 check22.addItemListener(new CheckHandler2(2)); //给相应复选框添加事件监听器 //添加组件到面板容器中 jp2.add(label1); jp2.add(label2); jp2.add(field1); jp2.add(label3); jp2.add(field2); jp2.add(label4); jp2.add(check11); jp2.add(check12); jp2.add(label5); jp2.add(field3);jp2.add(label51); jp2.add(field4);jp2.add(label52); jp2.add(field5);jp2.add(label53); jp2.add(label6); jp2.add(check21); jp2.add(check22); content.add(jp1, BorderLayout.NORTH); //分别添加面板到容器中 content.add(jp2, BorderLayout.CENTER); //分别添加面板到容器中 } public void actionPerformed(ActionEvent e) { // 事件响应处理 } class CheckHandler1 implements ItemListener //复选框键的事件响应类 { private int sel; CheckHandler1(int select) { sel = select; } public void itemStateChanged(ItemEvent e) { switch(sel) { case 1:method1();break; //调用选择的相应功能的方法 case 2:method2();break; //调用选择的相应功能的方法 } } private void method1() { //事件响应方法 } private void method2() { // 事件响应方法 } } class CheckHandler2 implements ItemListener //复选框键的事件响应类 { private int sel; CheckHandler2(int select) { sel = select; } public void itemStateChanged(ItemEvent e) { switch(sel) { case 1:method1();break; //调用选择的相应功能的方法 case 2:method2();break; //调用选择的相应功能的方法 } } private void method1() { //事件响应方法 } private void method2() { //事件响应方法 } }//测试 public static void main(String args) { 学生信息图形界面 界面 = new 学生信息图形界面(); 界面.setVisible(true); }}
更多文章:
无穷大返利网官网是www.life513.com吗 好吗 不要给我介绍其他网站哦!?返利网怎么返利原理及步骤分享
2024年5月18日 01:35
火山小视频极速版下载安装(华为手机为什么找不到火山小视频只能找到火山极速版)
2024年5月24日 02:45
游戏客户端不能直接读取数据库?在游戏网上买数据人家说没通过不能退款怎么办
2024年3月6日 18:25
华为y220t(华为y220t刷机后无法开机一直黑屏冲不了电一直)
2024年6月26日 11:06