编写一个GUI绘图器 用elipse/netbeans/jbuilder编写一个GUI绘图器,用来绘制矩形,三角形,圆形。椭圆形等基本图形代码怎么写 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写了个简单的例子,供参考import java.awt.Color;import java.awt.BorderLayout;import java.awt.Graphics2D;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JButton;public class DrawTest extends JFrame { private JPanel drawPanel; private JButton drawButton; private Graphics2D g2d; public DrawTest() { this.setSize(400, 300); this.setLayout(new BorderLayout()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); drawPanel = new JPanel(); drawButton = new JButton("draw"); drawButton.addActionListener(actionListener); this.getContentPane().add(drawPanel, BorderLayout.CENTER); this.getContentPane().add(drawButton, BorderLayout.SOUTH); this.setVisible(true); } public static void main(String[] args) { DrawTest dt = new DrawTest(); } ActionListener actionListener = new ActionListener() { public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("draw")) { g2d = (Graphics2D)drawPanel.getGraphics(); g2d.setPaint(Color.RED); g2d.drawRect(5, 5, 100, 50); g2d.dispose(); } } };} 监听鼠标事件重载paintComponent方法即可 最小化一下 应该就看出来了因为没有重写paint所以图形会消失 如果你不喜欢Java中提供的直接画图形的方法来画,那你也可以用多个线段来逼近圆,椭圆,曲线等图形,这样你会学到更多的东西,而不只是调用现成的函数等来实现. 通常将复合主键单独建一个类,请问。。? 浮点型的for循环 在连接数据库的时候出现一个错误,请高手指点 双击可执行Jar文件找不到main---虽然我指定了<manifest> 初学者问题,关于获取输入数据 如何制作一个像jbuilder里边运行相类似的按钮 请高手解答。。。 提取字符串!!! tcpip数据侦听问题 CMP Entity Bean 哪里的问题? 内隐类实现接口并有带参数构造器的问题 java有没有读取文本文件里某一行的命令啊
import java.awt.BorderLayout;
import java.awt.Graphics2D;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;public class DrawTest extends JFrame {
private JPanel drawPanel;
private JButton drawButton;
private Graphics2D g2d;
public DrawTest() {
this.setSize(400, 300);
this.setLayout(new BorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
drawPanel = new JPanel();
drawButton = new JButton("draw");
drawButton.addActionListener(actionListener);
this.getContentPane().add(drawPanel, BorderLayout.CENTER);
this.getContentPane().add(drawButton, BorderLayout.SOUTH);
this.setVisible(true);
}
public static void main(String[] args) {
DrawTest dt = new DrawTest();
}
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("draw")) {
g2d = (Graphics2D)drawPanel.getGraphics();
g2d.setPaint(Color.RED);
g2d.drawRect(5, 5, 100, 50);
g2d.dispose();
}
}
};
}
重载paintComponent方法即可
因为没有重写paint
所以图形会消失