导航:首页 > 编程语言 > java图形编程实例

java图形编程实例

发布时间:2022-09-24 16:10:01

java编写一个图形界面程序

importjava.awt.*;
importjava.awt.event.*;
importjava.util.*;
importjavax.swing.*;
importjavax.swing.border.Border;


classMainFrameextendsJFrame{

=1L;

privateMap<String,Integer>sizes=newHashMap<String,Integer>();

privateMap<String,Integer>styles=newHashMap<String,Integer>();

privateMap<String,Integer>toppings=newHashMap<String,Integer>();

publicMainFrame(){

sizes.put("ExtraLarge",10);
sizes.put("Large",8);
sizes.put("Medium",5);
sizes.put("Small",3);

styles.put("DeepDish",20);
styles.put("Regular",10);
styles.put("ThinCrust",5);
styles.put("Chicago",3);

toppings.put("Cheese",8);
toppings.put("Tomato",7);
toppings.put("Peppers",6);
toppings.put("Peperoni",5);

this.setTitle("布局及事件处理");
this.setSize(450,350);
this.setLayout(newBorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabellblTitle=newJLabel();
lblTitle.setText("PizzeriaJuno");
lblTitle.setFont(newFont("宋体",Font.BOLD,36));
lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
this.add("North",lblTitle);

JPanelbodyPanel=newJPanel();
bodyPanel.setLayout(newGridLayout(2,1));
this.add("Center",bodyPanel);

JPanellistPanel=newJPanel();
listPanel.setLayout(newGridLayout(1,3));
listPanel.setSize(200,200);
bodyPanel.add(listPanel);

BorderlineBorder=BorderFactory.createLineBorder(Color.BLACK);

JPanelsizePanel=newJPanel();
sizePanel.setLayout(newBorderLayout());
listPanel.add(sizePanel);
JLabelsizeTitle=newJLabel();
sizeTitle.setText("Sizes");
sizePanel.add("North",sizeTitle);


JListsizeList=newJList(sizes.keySet().toArray());
sizeList.setSize(100,100);
sizeList.setBorder(lineBorder);
sizeList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
sizePanel.add(sizeList);

JPanelstylePanel=newJPanel();
stylePanel.setLayout(newBorderLayout());
listPanel.add(stylePanel);
JLabelstyleTitle=newJLabel();
styleTitle.setText("Styles");
stylePanel.add("North",styleTitle);
JListstyleList=newJList(styles.keySet().toArray());
styleList.setSize(100,100);
styleList.setBorder(lineBorder);
styleList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
stylePanel.add(styleList);

JPaneltoppingPanel=newJPanel();
toppingPanel.setLayout(newBorderLayout());
listPanel.add(toppingPanel);
JLabeltoppingTitle=newJLabel();
toppingTitle.setText("Toppings");
toppingPanel.add("North",toppingTitle);
JListtoppingList=newJList(toppings.keySet().toArray());
toppingList.setSize(100,100);
toppingList.setBorder(lineBorder);
toppingPanel.add(toppingList);

JTextAreatxtResult=newJTextArea();
txtResult.setEditable(false);
bodyPanel.add(txtResult);

JPanelbottomPanel=newJPanel();
bottomPanel.setLayout(newGridLayout(1,3));
this.add("South",bottomPanel);

JLabellabel1=newJLabel("Clicktocompleteorder");
bottomPanel.add(label1);

JButtonbtnRingUp=newJButton("Ringup");
btnRingUp.addActionListener(newActionListener(){

@Override
publicvoidactionPerformed(ActionEvente){



if(sizeList.getSelectedValue()==null){
JOptionPane.showMessageDialog(MainFrame.this,"Pleaseselectsize.");
return;
}

if(styleList.getSelectedValue()==null){
JOptionPane.showMessageDialog(MainFrame.this,"Pleaseselectstyle.");
return;
}

if(toppingList.getSelectedValue()==null){
JOptionPane.showMessageDialog(MainFrame.this,"Pleaseselecttopping.");
return;
}

floattotal=0;

Stringsize=sizeList.getSelectedValue().toString();
total+=sizes.get(size);

Stringstyle=styleList.getSelectedValue().toString();
total+=styles.get(style);

Stringresult=size+"Pizza,"+style+"Style";

Object[]toppings=toppingList.getSelectedValues();
for(Objecttopping:toppings){
result+=" +"+topping.toString();
total+=MainFrame.this.toppings.get(topping.toString());
}

result+=" Total:"+total;

txtResult.setText(result);
}
});
bottomPanel.add(btnRingUp);

JButtonbtnQuit=newJButton("Quit");
btnQuit.addActionListener(newActionListener(){

@Override
publicvoidactionPerformed(ActionEvente){
MainFrame.this.dispose();
}
});
bottomPanel.add(btnQuit);
}

}

publicclassApp{

publicstaticvoidmain(String[]args){


MainFramemainFrame=newMainFrame();
mainFrame.setVisible(true);

}

}

㈡ JAVA编程题:设计三个图形类

真不知道这是考写代码还是考数学。
给你一个思路吧,定义一个抽象类表示图形,有颜色属性、粗细属性、求面积方法、比较大小的方法。
然后在定义一个类表示三角形,继承这个抽象类,三角形类有三个属性,分别表示它的三个顶点坐标。
也定义一个类表示矩形,继承抽象类,它有两个属性,分别表示它左上角和右下角的坐标。
再定义一个类表示圆形,它有两个属性,分别表示圆心和圆上任一点的坐标。

㈢ 求java图形界面树类编程源码举例。类似windows资源管理器那样的。如附图,2层2项即可。

publicvoidinit(){
ContainercontentPane=null;
=newDefaultMutableTreeNode("我的电脑");
1=newDefaultMutableTreeNode("网络");
2=newDefaultMutableTreeNode("硬盘");
1_1=newDefaultMutableTreeNode("无限");
1_2=newDefaultMutableTreeNode("有限");
2_1=newDefaultMutableTreeNode("A");
2_2=newDefaultMutableTreeNode("B");
treeNode.add(treeNode1);
treeNode.add(treeNode2);
treeNode1.add(treeNode1_1);
treeNode1.add(treeNode1_2);
treeNode2.add(treeNode2_1);
treeNode2.add(treeNode2_2);
JTreetree=newJTree(treeNode);
contentPane=getContentPane();
JPaneljp=newJPanel();
jp.add(tree);
contentPane.add(jp);
this.setSize(300,250);
this.setLocation(400,300);
this.setVisible(true);
}

㈣ 用JAVA编写个图形

public class draw_Pic{
public static void main(String args[]){
System.out.println("*");
System.out.println("**");
System.out.println("***");
System.out.println("****");
System.out.println("*****");
}
}

㈤ JAVA图形界面编程JBUtton

button1.addActionListener(new ActionListener() {//为button1绑定事件监听器
public void actionPerformed(ActionEvent e) {//重写actionPerformed方法,方法内的代码为点击后 //执行的代码
JFrame frame = new JFrame(); //实例化一个新的窗口
frame.setVisible(true);//设置为可见
frame.setBounds(200,200,200,200); //设置窗口的大小和坐标

}
});

㈥ java图形界面编程想要加背景图,就是处于所有图层最下面的,有没有什么示例代码

我之前写过一个这样的,可以给你参考

其中背景图是alarmImage

JLayeredPane 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编写一个绘制图形的小程序

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

//不规则图形的绘制

public class IrregularShapeDemo extends JFrame {

GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例
Point aPoint;

//构造函数
public IrregularShapeDemo() {
super("不规则图形的绘制"); //调用父类构造函数
enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件

setSize(300, 200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}

public void paint(Graphics g) { //重载窗口组件的paint()方法
Graphics2D g2D = (Graphics2D)g; //获取图形环境
g2D.draw(gPath); //绘制路径
}

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

protected void processMouseEvent(MouseEvent e) { //鼠标事件处理
if(e.getID() == MouseEvent.MOUSE_PRESSED) {
aPoint = e.getPoint(); //得到当前鼠标点
gPath = new GeneralPath(); //重新实例化GeneralPath对象
gPath.moveTo(aPoint.x,aPoint.y); //设置路径点
}
}

protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理
if(e.getID() == MouseEvent.MOUSE_DRAGGED) {
aPoint = e.getPoint(); //得到当前鼠标点
gPath.lineTo(aPoint.x, aPoint.y); //设置路径
gPath.moveTo(aPoint.x, aPoint.y);
repaint(); //重绘组件
}
}
}

㈧ java图形编程

/////////////////////////

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

public class SimpleGUI {

JFrame f = new JFrame("简单的GUI");
JButton b = new JButton("点击我");
static boolean valid = true;

public SimpleGUI() {
f.setBounds(400, 300, 100, 100);
f.setLayout(new BorderLayout());
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(valid) {
b.setBackground(Color.RED);
} else {
b.setBackground(Color.BLUE);
}
valid = !valid;
}
});
f.add(b, BorderLayout.CENTER);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}

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

}
}

㈨ 用JAVA写一个简单图形类

public class Test013 {

/**
* 编写一个图形类MyGraphic。 1)它有两个基本属性:图形线条的颜色String lineColor和图形的填充颜色String
* fillColor。 2)设计矩形类CRectangle,有属性double rLong和宽double rWidth, 使用方法 float
* calCircum()可以返回矩形的周长,使用方法float calSquare()可以返回矩形的面积。
* 编写方法show(),显示图形的线条颜色和填充颜色,输出面积和方法。 3)设计圆形类CCircle,定义属性:半径double
* radius,可以通过同名方法计算周长和面积。 编写方法show(),显示图形的线条颜色和填充颜色,输出面积和方法。
* 4)编写出应用程序对CRectangle类和CCircle类进行验证。 完成上述要求即可
*/
public static void main(String[] args) {
MyGraphic rectangle = new CRectangle(10, 5);
rectangle.setFillColor("紫色"); //设定矩形填充颜色
rectangle.setLineColor("白色"); //设定矩形线条颜色
rectangle.show();
System.out.println("矩形周长 = " + rectangle.calCircum());
System.out.println("矩形面积 = " + rectangle.calSquare());

MyGraphic circle = new CCircle(3);
circle.setFillColor("红色");
circle.setLineColor("黄色");
circle.show();
System.out.println("园形周长 = " + circle.calCircum());
System.out.println("园形面积 = " + circle.calSquare());
}

}

/**
* 图形类
*
*/
abstract class MyGraphic {
private String lineColor; // 图形线条的颜色
private String fillColor; // 图形的填充颜色

public String getLineColor() {
return lineColor;
}

public void setLineColor(String lineColor) {
this.lineColor = lineColor;
}

public String getFillColor() {
return fillColor;
}

public void setFillColor(String fillColor) {
this.fillColor = fillColor;
}

public MyGraphic(String lineColor, String fillColor) {
this.lineColor = lineColor;
this.fillColor = fillColor;
}

public MyGraphic() {
}

/**
* 显示图形的颜色
*/
public abstract void show();

/**
* 计算图形的周长
*/
public abstract float calCircum();

/**
* 计算图形的面积
*/
public abstract float calSquare();
}

/**
* 矩形类
*
*/
class CRectangle extends MyGraphic {

private double rLong; // 长
private double rWidth; // 宽

/**
* 通过构造函数为图形的属性赋值
*
* @param rLong
* @param rWidth
*/
public CRectangle(double rLong, double rWidth) {
this.rLong = rLong;
this.rWidth = rWidth;
}

/**
* @return 矩形的周长
*/
@Override
public float calCircum() {
return (float) (2 * (rLong + rWidth));
}

/**
* @return 矩形的面积
*/
@Override
public float calSquare() {
return (float) (rLong * rWidth);
}

@Override
public void show() {
System.out.println("矩形线条的颜色: " + super.getLineColor());
System.out.println("矩形填充颜色: " + super.getFillColor());
}

public double getrLong() {
return rLong;
}

public void setrLong(double rLong) {
this.rLong = rLong;
}

public double getrWidth() {
return rWidth;
}

public void setrWidth(double rWidth) {
this.rWidth = rWidth;
}
}

/**
* 圆形类
*
*/
class CCircle extends MyGraphic {
private double radius; // 圆形半径

public CCircle(double radius) {
this.radius = radius;
}

/**
* @return 圆形的周长
*/
@Override
public float calCircum() {
return (float) (2 * Math.PI * radius);
}

/**
* @return 圆形的面积
*/
@Override
public float calSquare() {
return (float) (Math.PI * radius * radius);
}

@Override
public void show() {
System.out.println("圆形线条的颜色: " + super.getLineColor());
System.out.println("圆形填充颜色: " + super.getFillColor());
}

public double getRadius() {
return radius;
}

public void setRadius(double radius) {
this.radius = radius;
}
}

㈩ 使用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的[] JB =新的JButton [s1.length];

为(int i = 0;我<s1.length,我+ +){

JB [我] =新的JButton(S1由[i]);

jp.add(JB由[i]);。

JB [I] addActionListener方法,(这);

} jf.add(JP);

jtf.setEditable(假);

jf.setLocation(400,300);

jf.pack();

jf.setResizable(假);/ /设置窗口不可改变

jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);

jf.setVisible(真);

公共静态无效的主要(字串[] args){

新的计算器();
这个函数比较简单,不知道能不能满足要求

阅读全文

与java图形编程实例相关的资料

热点内容
字符串混淆算法 浏览:88
辽宁海关压缩时间 浏览:540
web备忘录源码 浏览:35
芝麻开门的新app怎么用 浏览:398
与何皇后有染的三国小说 浏览:198
msgtopdf 浏览:324
孕妇系列哪几部好看 浏览:315
有关楼上男人看楼下女人的电影 浏览:889
android70预览版 浏览:879
最新适合年轻人看的电影 浏览:188
神经网络算法可以解决吗 浏览:148
南瓜电影下载的视频放哪个文件夹 浏览:844
不卡顿的电视剧官网 浏览:279
凿空者之雪域天马演员表 浏览:214
怎么关掉安卓手机触摸上方黑屏 浏览:749
男主娶母女 浏览:482
阁瑞斯压缩机漏电怎么处理 浏览:19
有个叫阿水的在一个岛上的电影叫什么 浏览:161
韩剧食物链酒吧老板娘的演员叫什么 浏览:485
linux关闭java进程 浏览:886