| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 691 人关注过本帖
标题:[求助]按钮控制文本移动问题
只看楼主 加入收藏
弑神饕餮
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-6-6
收藏
 问题点数:0 回复次数:5 
[求助]按钮控制文本移动问题

以下是我写的小程序,我的意图是想通过单击按纽,使文本移动,可是不知道为什么文本只能移动一次,而且按上文本框却向上,按下却向上,我仔细检查了好几遍,没发现错误,没办法,只好来求助啦~~拜托各位啦~~~

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

public class buttonDemo extends JFrame implements ActionListener{
private JButton btnLeft=new JButton("左");
private JButton btnRight=new JButton("右");
private JButton btnUp=new JButton("上");
private JButton btnDown=new JButton("下");

private JTextField tfMove=new JTextField("猪头子园");

private JPanel movePanel=new JPanel();

private Container container=getContentPane();

public buttonDemo(){
super("我爱子园");
setSize(400,300);
setLocation(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

btnLeft.addActionListener(this);
btnLeft.setToolTipText("控制子园向左移动");

btnRight.addActionListener(this);
btnRight.setToolTipText("控制子园向右移动");

btnUp.addActionListener(this);
btnUp.setToolTipText("控制子园向上移动");

btnDown.addActionListener(this);
btnDown.setToolTipText("控制文本向下移动");
}

public void setLayout(){
container.setLayout(new BorderLayout());
container.add(btnLeft,BorderLayout.WEST);
container.add(btnRight,BorderLayout.EAST);
container.add(btnUp,BorderLayout.NORTH);
container.add(btnDown,BorderLayout.SOUTH);

// 设置移动面板的布局为null
movePanel.setLayout(null);
movePanel.add(tfMove);

//设置文本的显示位置
int x=50;
int y=50;

tfMove.setBounds(x,y,50,50);
container.add(movePanel,BorderLayout.CENTER);
}

public void actionPerformed(ActionEvent e){


int x=50;
int y=50;


if(e.getSource()==btnRight){
x=x+10;
}
if(e.getSource()==btnLeft){
x=x-10;
}
if(e.getSource()==btnUp){
y=y+10;
}
if(e.getSource()==btnDown){
y=y-10;
}
//重新调整文本框的位置
tfMove.setBounds(x,y,50,50);
}

public static void main(String []args){
buttonDemo frame=new buttonDemo();
frame.setLayout();
frame.show();
}
}

搜索更多相关主题的帖子: 文本 按钮 
2007-06-25 20:18
paohui01
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-8-19
收藏
得分:0 
回复:(弑神饕餮)[求助]按钮控制文本移动问题

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

public class buttonDemo extends JFrame implements ActionListener{
private JButton btnLeft=new JButton("左");
private JButton btnRight=new JButton("右");
private JButton btnUp=new JButton("上");
private JButton btnDown=new JButton("下");

private JTextField tfMove=new JTextField("猪头子园");

private JPanel movePanel=new JPanel();

private Container container=getContentPane();

public buttonDemo(){
super("我爱子园");
setSize(400,300);
setLocation(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

btnLeft.addActionListener(this);
btnLeft.setToolTipText("控制子园向左移动");

btnRight.addActionListener(this);
btnRight.setToolTipText("控制子园向右移动");

btnUp.addActionListener(this);
btnUp.setToolTipText("控制子园向上移动");

btnDown.addActionListener(this);
btnDown.setToolTipText("控制文本向下移动");
}

public void setLayout(){
container.setLayout(new BorderLayout());
container.add(btnLeft,BorderLayout.WEST);
container.add(btnRight,BorderLayout.EAST);
container.add(btnUp,BorderLayout.NORTH);
container.add(btnDown,BorderLayout.SOUTH);

// 设置移动面板的布局为null
movePanel.setLayout(null);
movePanel.add(tfMove);

//设置文本的显示位置
int x=50;
int y=50;

tfMove.setBounds(x,y,50,50);
container.add(movePanel,BorderLayout.CENTER);
}

public void actionPerformed(ActionEvent e){


int x=50;//每次调用这个方法的时候X,Y都重新赋值成了50 其实每次都移动了@.@ 只是看上去没移动而已
int y=50;


if(e.getSource()==btnRight){
x=x+10;
}
if(e.getSource()==btnLeft){
x=x-10;
}
if(e.getSource()==btnUp){
y=y+10;
}
if(e.getSource()==btnDown){
y=y-10;//你把上下换一下不就好拉
}
//重新调整文本框的位置
tfMove.setBounds(x,y,50,50);
}

public static void main(String []args){
buttonDemo frame=new buttonDemo();
frame.setLayout();
frame.show();
}
}


2007-06-25 20:34
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 
哈哈,你+10,当然向下了,坐标是越向下越多。减10当然就向上了。
2007-06-25 20:58
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 

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

public class buttonDemo extends JFrame implements ActionListener{
private JButton btnLeft=new JButton("左");
private JButton btnRight=new JButton("右");
private JButton btnUp=new JButton("上");
private JButton btnDown=new JButton("下");

private JTextField tfMove=new JTextField("猪头子园");

private JPanel movePanel=new JPanel();

private Container container=getContentPane();
private int x=50;
private int y=50;

public buttonDemo(){
super("我爱子园");
setSize(400,300);
setLocation(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

btnLeft.addActionListener(this);
btnLeft.setToolTipText("控制子园向左移动");

btnRight.addActionListener(this);
btnRight.setToolTipText("控制子园向右移动");

btnUp.addActionListener(this);
btnUp.setToolTipText("控制子园向上移动");

btnDown.addActionListener(this);
btnDown.setToolTipText("控制文本向下移动");
}

public void setLayout(){
container.setLayout(new BorderLayout());
container.add(btnLeft,BorderLayout.WEST);
container.add(btnRight,BorderLayout.EAST);
container.add(btnUp,BorderLayout.NORTH);
container.add(btnDown,BorderLayout.SOUTH);

// 设置移动面板的布局为null
movePanel.setLayout(null);
movePanel.add(tfMove);

//设置文本的显示位置


tfMove.setBounds(x,y,50,50);
container.add(movePanel,BorderLayout.CENTER);
}

public void actionPerformed(ActionEvent e){




if(e.getSource()==btnRight){
x=x+10;
}
if(e.getSource()==btnLeft){
x=x-10;
}
if(e.getSource()==btnUp){
y=y-10;
}
if(e.getSource()==btnDown){
y=y+10;
}
//重新调整文本框的位置
tfMove.setBounds(x,y,50,50);
}

public static void main(String []args){
buttonDemo frame=new buttonDemo();
frame.setLayout();
frame.show();
}
}

2007-06-25 21:04
xingsir
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-16
收藏
得分:0 

屏幕坐标和数学上的迪卡尔坐标y轴方向相反

2007-06-26 09:24
弑神饕餮
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-6-6
收藏
得分:0 
啊啊啊啊啊啊~~~~大家不要笑话我了~~~~我新手啊~~~第一次做这东西啊~~~~~我以后记住啦,各位大恩大德,在下没牙也忘不了~~~~~3Q3Q


此问题已解决,方法就在上面几层楼上~~~~跟我一样新的手,看看哈,有帮助~~~

爱情如潮水般滚滚迩来,总有一天滚滚滚回去!!天长地久惟有java!
2007-06-26 13:24
快速回复:[求助]按钮控制文本移动问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020578 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved