问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编写一个Java GUI

发布网友 发布时间:2022-05-24 00:43

我来回答

1个回答

热心网友 时间:2024-10-20 08:14

试一下下面的代码
(如果点击按钮后没有任何变化,将窗口最小化一下就有了)
没有出现这个问题的话,也请告诉我一下~
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class painting extends JFrame implements ActionListener{
private JButton round,rectangle,ellipse,beeline;
private JLabel xaxis,yaxis,remain,information;
private JTextField xTF,yTF;
private BorderLayout layout;
private Container cp;
private JPanel pCenter;
Vector<Object> v=new Vector<Object>(); //定义一个集合类用于存储按钮对象

public painting(){ //构造方法 ------------------框架初始化-------------------
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("painting");
setSize(400,500);
layout = new BorderLayout();
cp = getContentPane();
cp.setLayout(layout);

round= new JButton("画圆");
rectangle= new JButton("画矩形");
ellipse= new JButton("画椭圆");
beeline= new JButton("画直线");
xaxis=new JLabel("x坐标");
yaxis=new JLabel("y坐标");
remain=new JLabel("右下角坐标(400,500) ");
xTF=new JTextField("0",5);
yTF=new JTextField("0",5);

JPanel pUp= new JPanel();//第一个面板 在上部
pUp.add(remain);
pUp.add(xaxis);//置两个文本框
pUp.add(xTF);
pUp.add(yaxis);
pUp.add(yTF);
cp.add(pUp, "North");
//pCenter=new JPanel();//第二个面板 在中部
//pCenter.add(information);//置显示说明与画图区
//cp.add(pCenter,"Center");
JPanel pDown= new JPanel();//第三个面板 在下部
pDown.add(round);// 置四个按钮
pDown.add(rectangle);
pDown.add(ellipse);
pDown.add(beeline);
cp.add(pDown, "South");

round.addActionListener(this); //置按钮监听--------------按钮行为监听与响应-------------
rectangle.addActionListener(this);
ellipse.addActionListener(this);
beeline.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {//监听响应
v.add(e.getSource());//将按钮情况存入v中
}

public void paint(Graphics g) { //--------------绘图响应-------------
super.paint(g);
int xx=Integer.parseInt(xTF.getText());//获取位置值
int yy=Integer.parseInt(yTF.getText());
int size=0;
Object o;
//while(v.size()!=size){//当用户点击按钮选择某一种图形时,v的大小就会比size值大1,当绘图完成后,v.size又等于size;效果就是:出现点击 即刻处理
o=v.lastElement();
if(o == round) {g.drawOval(xx,yy,50,50);}
else if (o == rectangle){g.drawRect(xx,yy,100,50);}
else if (o == ellipse) {g.drawOval(xx,yy,100,50);}
else if(o == beeline) {g.drawLine(xx,yy,xx+100,yy);}
size++;
}
}

public static void main(String[] args){ // ------------程序入口-------------
JFrame frame = new painting();
frame.setVisible(true);
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
父母离异的话,会不会导致孩子心智不成熟? 过节 公司给我们发的购物卡 这个怎么做分录 属于福利费吗 需要计提吗... 乡村振兴公务员和省考公务员有什么区别 ...小时候跟着爷爷学国画书法,小受家是农村的,小受姓夏或叶,他带着他... 瑞麒X1安全装置 瑞麒X1的舒适型和豪华型有什么区别?配置有哪些不同的地方?这5000块多在... 瑞麒X1的安全性能方面配置如何? 脚崴了 有大量於血 怎么样才能快速消肿 脚崴了外侧出现瘀血浮肿怎么消除? ...换了我喜欢的发型,但是穿了件有点透明的衣服,可以看到肩_百度... 消防图集99s023-17 java gui中哪些是容器?哪些是布局管理器 哪些是组件? 范文才的介绍 书法李树和的字值钱吗? 版权登记有效期是多久? 中国版权的有效期是多久? 营业执照和微信不是一个人能申请官方收款码 有没有都市小说男主角是杀手或者保镖 【性格很冷不爱说话的】 他曾经是佣兵界的佼佼者代号修罗却被自己的兄弟死神出卖收养了死去的兄... 求主角无情无义无女主,一个都不要的小说,修真,现代,异世都可以_百度知 ... 他曾经是佣兵界的佼佼者代号修罗却被自己的兄弟死神出卖收养了死去的... 想看主角无敌后回归的小说。谁可以介绍几本 ...同时又是杀手,代号修罗,里面其他的杀手有七杀 贪狼 法老王_百度... 你知道《代号修罗》这本书吗,你感觉这本书怎么样? 他是佣兵团的姣姣者,代号修罗,却被自己的兄弟死神出买了是什么都市小说... 代号修罗张家张若初死了没 中国移动怎么查积分兑换 扩散泵电磁加热器用到那些规格? 分子泵和扩散泵的应用领域? 有前级阀 旁路阀 扩散泵的抽真空系统工作原理 急求! 音乐大师课李姝娴多大 一元二次方程练习题要答案和过程 解方程练习题(一元二次方程) 一元二次方程式的练习题和答案。不是 ...已经是18号了档案上为什么还是自由可投?什么时候可以查到录取结果... 河南省招生办公室网站高考考生档案信息查询多长时间更新一次 95260400是什么号码 95286408是什么电话? 95260403是什么电话? 95257408是什么号码? 电气工程及其自动化大一上学期学什么课程 四川农业大学电气工程及其自动化专业有什么课程? 长安大学电气工程及自动化专业的课程主要有哪些? 《王爷,慢走》txt下载在线阅读全文,求百度网盘云资源 什么是方檀木 教父中的约翰尼方檀是谁演的? 电影《教父》里讲述的故事是有原型的还是虚构的? 《教父1》中的人物 有没有写穿越到霍建华版的笑傲江湖里的小说 为什么汤姆·黑根不是西西里人却被允许当军师呢?