MYeclipse如何画java图形用户界面,在哪里创建界面的??
4个回答
展开全部
不知道你创建图形界面有没有什么特别的要求,如果是用swing的话,直接写java类就可以了,和建立普通的java工程然后再写java类并没什么特别的不同。下面我就举一个简单的swing图形界面的例子。
首先新建一个项目,然后建个包,就是普通的java工程的构建方法。再建一个Test类,复制下面的代码,保证包名正确,再运行就可以得到一个图形用户界面了。这个界面上的move按钮可以响应上下左右键。
package test;
//包名换成你自己的包名
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Test extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public Test() {
final JButton button = new JButton("move");
button.setSize(70, 30);
button.setLocation(100, 100);
button.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
button.setLocation(button.getX(), button.getY() - 1);
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
button.setLocation(button.getX(), button.getY() + 1);
} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
button.setLocation(button.getX() - 1, button.getY());
} else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
button.setLocation(button.getX() + 1, button.getY());
}
}
});
this.setLayout(null);
this.add(button);
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Test test = new Test();
}
}
swing的图形用户界面最主要的就是JFame这个类,你可以自己去继承这个类,然后在上面添加JPanel, JButton, JLabel等等组件(具体用法建议自己查看API)。这样就可以丰富和完善你的图形用户界面了。
展开全部
像C# 和 VB那样拖控件的?eclipse好像没有自带的,要下载插件。
追问
这个是MYeclipse,而且红色圈圈那里已经有那些图形的工具了,我就不知道怎样创建一个界面,我们老师创建一个界面就从圈圈里面把那些组件拖出来就行了,现在的问题是不知道怎样创建那个界面而已
追答
要是不用插件的话,你点击新建项目里面有没有,C#是新建项目里面有选择的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package test;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Line2D;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class TestDraw extends JFrame implements ActionListener {
private JLabel jl;
private JButton lineJb; //直线
private JButton ellipseJb ; //椭圆
private JButton rectangleJb; //矩形
public TestDraw(){
super("测试绘图");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jp = new JPanel();
lineJb = new JButton("直线");
ellipseJb = new JButton("椭圆");
rectangleJb = new JButton("矩形");
lineJb.addActionListener(this);
ellipseJb.addActionListener(this);
rectangleJb.addActionListener(this);
jp.setLayout(new FlowLayout());
jp.add(lineJb);
jp.add(ellipseJb);
jp.add(rectangleJb);
jl = new JLabel();
this.add(jl,BorderLayout.CENTER);
this.add(jp,BorderLayout.SOUTH);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestDraw().setVisible(true); //先启动主线程显示主界面
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==this.lineJb){
this.jl.getGraphics().clearRect(0, 0, 300, 300);
this.jl.getGraphics().drawLine(10, 10, 200, 200);
}else if(e.getSource()==this.rectangleJb){
this.jl.getGraphics().clearRect(0, 0, 300, 300);
this.jl.getGraphics().drawRect(10, 10, 200, 200);
}else if(e.getSource()==this.ellipseJb){
this.jl.getGraphics().clearRect(0, 0, 300, 300);
this.jl.getGraphics().drawOval(50, 50, 160, 70);
}
}
}
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Line2D;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class TestDraw extends JFrame implements ActionListener {
private JLabel jl;
private JButton lineJb; //直线
private JButton ellipseJb ; //椭圆
private JButton rectangleJb; //矩形
public TestDraw(){
super("测试绘图");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jp = new JPanel();
lineJb = new JButton("直线");
ellipseJb = new JButton("椭圆");
rectangleJb = new JButton("矩形");
lineJb.addActionListener(this);
ellipseJb.addActionListener(this);
rectangleJb.addActionListener(this);
jp.setLayout(new FlowLayout());
jp.add(lineJb);
jp.add(ellipseJb);
jp.add(rectangleJb);
jl = new JLabel();
this.add(jl,BorderLayout.CENTER);
this.add(jp,BorderLayout.SOUTH);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestDraw().setVisible(true); //先启动主线程显示主界面
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==this.lineJb){
this.jl.getGraphics().clearRect(0, 0, 300, 300);
this.jl.getGraphics().drawLine(10, 10, 200, 200);
}else if(e.getSource()==this.rectangleJb){
this.jl.getGraphics().clearRect(0, 0, 300, 300);
this.jl.getGraphics().drawRect(10, 10, 200, 200);
}else if(e.getSource()==this.ellipseJb){
this.jl.getGraphics().clearRect(0, 0, 300, 300);
this.jl.getGraphics().drawOval(50, 50, 160, 70);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询