「图形演示java」图形演示的优缺点
本篇文章给大家谈谈图形演示java,以及图形演示的优缺点对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、怎样用java编写图形界面的Application程序
- 2、java 如何在图形界面显示程序运行结果
- 3、java如何做出图形用户界面 实例
- 4、JAVA 在屏幕上显示图形
- 5、题目1:一个简单的算法演示程序(JAVA语言实现)
怎样用java编写图形界面的Application程序
java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:
package mainFrame;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
public class Mian_login extends JFrame {
private JPanel contentPane;
private JTextField text_LoginName;
private JPasswordField Login_password;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
Mian_login frame = new Mian_login();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Mian_login() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 200, 443, 300);
setResizable(false);
setTitle("登 录");
/*获取系统按钮样式*/
String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
try {
UIManager.setLookAndFeel(lookAndFeel);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
e1.printStackTrace();
}
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel panel = new JPanel();
panel.setOpaque(false);
panel.setBounds(0, 0, 434, 272);
contentPane.add(panel);
panel.setLayout(null);
JButton btn_Login = new JButton("\u767B\u5F55");
btn_Login.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
});
btn_Login.setBounds(88, 195, 70, 23);
panel.add(btn_Login);
JButton btn_cancel = new JButton("\u53D6\u6D88");
btn_cancel.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
dispose();
}
});
btn_cancel.setBounds(268, 195, 70, 23);
panel.add(btn_cancel);
JLabel lblNewLabel_name = new JLabel("\u7528\u6237\u540D");
lblNewLabel_name.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_name.setOpaque(true);
lblNewLabel_name.setBounds(88, 48, 70, 23);
panel.add(lblNewLabel_name);
JLabel lblNewLabel_passwd = new JLabel("\u5BC6\u7801");
lblNewLabel_passwd.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_passwd.setOpaque(true);
lblNewLabel_passwd.setBounds(88, 102, 70, 23);
panel.add(lblNewLabel_passwd);
JCheckBox chckbx_remember = new JCheckBox("\u8BB0\u4F4F\u5BC6\u7801");
chckbx_remember.setBounds(102, 150, 84, 23);
panel.add(chckbx_remember);
text_LoginName = new JTextField();
text_LoginName.setBounds(182, 48, 156, 23);
panel.add(text_LoginName);
text_LoginName.setColumns(10);
Login_password = new JPasswordField();
Login_password.setBounds(182, 102, 156, 23);
panel.add(Login_password);
JCheckBox chckbx_AutoLogin = new JCheckBox("\u81EA\u52A8\u767B\u5F55");
chckbx_AutoLogin.setBounds(233, 150, 84, 23);
panel.add(chckbx_AutoLogin);
JLabel Label_background = new JLabel("");
Label_background.setIcon(new ImageIcon("E:\\JAVA_workplace\\0002-\u754C\u9762\u8BBE\u8BA1\\images\\background3.jpg"));
Label_background.setBounds(0, 0, 437, 272);
contentPane.add(Label_background);
}
}
java 如何在图形界面显示程序运行结果
如果只是一些文本要显示,可以在上面加个JTextArea,JTextField之类的组件,用这些组件的对象调用setText(" ")方法(括号里是字符串)来显示文本
比如:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/** 文本区域
*
* @author Administrator
*
*/
public class TextArea extends JFrame {
private static final long serialVersionUID = 2306597749734227012L;
private JButton b1 = new JButton("Add Data"), b2 = new JButton("Clear Data");
private JTextArea text = new JTextArea(20, 40);
private MapString, String map =
new HashMapString, String();
public TextArea() {
// Use up all the data:
map.put("a", "1");
map.put("b", "2");
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
for(@SuppressWarnings("rawtypes") Map.Entry me : map.entrySet()){
text.append(me.getKey()+": "+me.getValue()+"\n");
}
}
});
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
text.setText("");
}
});
setLayout(new FlowLayout());
add(new JScrollPane(text));
add(b1);
add(b2);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
GUItools.SwingConsole.run(new TextArea(), 475, 475);
}
}
JTextField和这差不多,只不过是显示单行的。
如果要显示其他字体的,可以用HTML格式,如下:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
/** Swing 组件上的HTML
*
* @author Administrator
*
*/
@SuppressWarnings("serial")
public class HTMLButton extends JFrame {
private JButton b = new JButton(
"htmlbfont size=+2"+
"centerHello!briPress me now!");
// 必须使文本以 "html" 标记开始。
public HTMLButton() {
// TODO Auto-generated constructor stub
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
add(new JLabel("html"+"ifont size=+4Kapow!"));
// Force a re-layout to include the new label:
validate();
}
});
setLayout(new FlowLayout());
add(b);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
GUItools.SwingConsole.run(new HTMLButton(), 200, 500);
}
}
java如何做出图形用户界面 实例
首先要应用GUI相关的包比如import java.awt.*;import javax.swing.*;
给你个例子吧
public class Test extends JFrame{
MyPanel mp=null;
public static void main(String[] args){
// TODO Auto-generated method stub
Test 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.Graphics;
import javax.swing.JFrame;
public class Test456 extends JFrame{
public static void main(String[] str){
//重写了JFrame中的paint()方法(该方法实际从JComponent中继承)。
JFrame frame = new JFrame("Frame"){
public void paint(Graphics e) {
e.drawString("画一条直线、矩形", 30, 60);
e.drawLine(30, 90, 100, 90);
e.drawRect(30, 120, 100, 50);
}
};
frame.setSize(600, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
题目1:一个简单的算法演示程序(JAVA语言实现)
1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示过程。
2. 可以进行手动演示,也可以自动步进式演示。
3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。
4. 不同的算法输入要求见下。
界面要求:
1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
2. 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
其他要求:
1. 标识符命名遵循Windows命名规范。
2. 能够注意各种异常处理,注重提高程序运行效率。
提交内容:
1. 全部源代码。
2. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)
参考算法:
1. 最小生成树算法:Prim算法、Kruskal算法。允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。要求在图形方式下进行演示算法执行步骤。
2. 单源最短路算法:Dijkstra算法。允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。要求在图形方式下进行演示算法执行步骤。
3. 最优编码算法:Huffman编码算法。允许用户输入一段英文文字,或者打开一个txt文档(英文内容),据此文档内容进行编码。要求动态列出每个字符的出现概率统计结果以及对应编码。
4. 其他可供演示的具有一定难度的算法,如关键路径问题、有向图的极大连通分支等。
图形演示java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于图形演示的优缺点、图形演示java的信息别忘了在本站进行查找喔。
发布于:2022-12-14,除非注明,否则均为
原创文章,转载请注明出处。