Java标签移动_关于Java标签在JFrame内移动

本文探讨了一个关于如何在Java Swing中动态调整JLabel组件位置的问题,通过示例展示了如何设置和修改标签位置,并提供了可能的错误排查方法。读者将了解如何在程序运行过程中改变标签的位置,以实现布局灵活性。
摘要由CSDN通过智能技术生成

标签设置后就不能移动了不知道哪出问题了帮忙解答下谢谢importjava.awt.*;importjavax.swing.*;publicclassa{publicstaticvoidmain(String[]args){JLabel[]L=newJLabel[5];JFramef=ne...

标签设置后就不能移动了 不知道哪出问题了 帮忙解答下 谢谢

import java.awt.*;

import javax.swing.*;

public class a

{

public static void main(String []args)

{

JLabel []L=new JLabel[5];

JFrame f=new JFrame();

f.getContentPane().setLayout(null);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setSize(500,400);

f.setLocationRelativeTo(null);

f.setAlwaysOnTop(true);

int Px=80,Py=100,Ps=0;

for(int i=0;i<=4;i++)

{

L[i]=new JLabel("这是标签"+(i+1));

f.add(L[i]);

L[i].setSize(70,30);

L[i].setLocation((Ps+=Px),Py);

}

f.show();

int Offx=80,Offy=200,Offs=0;

for(int i=0;i<5;i++)

{

Point pa= L[i].getLocation();

int x=0,y=0;

x=pa.x;y=pa.y;

while((x

{

if((x

L[i].setLocation(x++,y++);

else if((x

L[i].setLocation(x++,y);

else if((x==Offx)&&(y

L[i].setLocation(x,y++);

}

}

}

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javascrtpt 实现窗口拖拽、移动功能、显示坐标代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html <head runat="server"> <title></title> [removed] var mouseX, mouseY; var objX, objY; var isDowm = false; //是否按下鼠标 function mouseDown(obj, e) { obj.style.cursor = "move"; objX = div1.style.left; objY = div1.style.top; mouseX = e.clientX; mouseY = e.clientY; isDowm = true; } function mouseMove(e) { var div = document.getElementById("div1"); var x = e.clientX; var y = e.clientY; if (isDowm) { div.style.left = parseInt(objX) + parseInt(x) - parseInt(mouseX) + "px"; div.style.top = parseInt(objY) + parseInt(y) - parseInt(mouseY) + "px"; document.getElementById("span1")[removed] = "x:" + div.style.top + " " + "y:" + div.style.left; } } function mouseUp(e) { if (isDowm) { var x = e.clientX; var y = e.clientY; var div = document.getElementById("div1"); div.style.left = (parseInt(x) - parseInt(mouseX) + parseInt(objX)) + "px"; div.style.top = (parseInt(y) - parseInt(mouseY) + parseInt(objY)) + "px"; document.getElementById("span2")[removed] = "x:" + div.style.top + " " + "y:" + div.style.left; mouseX = x; rewmouseY = y; div1.style.cursor = "default"; isDowm = false; } } [removed] </head> <body> <span id="span1"></span></br><span id="span2"></span></br> <div id="div1" Green; border: 1px solid red; height: 300px; top: 100px; left: 100px; width: 300px; position: absolute;" </div> </body> </html>
要在Java窗口中实现标签移动,你可以使用Java Swing库中的JTabbedPane组件。该组件提供了选项卡式的界面,允许用户在多个选项卡之间切换,并且可以通过拖动选项卡来改变它们的顺序。 要移动选项卡,你可以使用以下步骤: 1. 获取当前选项卡的索引,可以使用JTabbedPane的getSelectedIndex()方法。 2. 获取要移动的选项卡的索引。 3. 将要移动的选项卡从JTabbedPane中移除,可以使用JTabbedPane的removeTabAt()方法。 4. 将要移动的选项卡插入到新的位置,可以使用JTabbedPane的insertTab()方法。 5. 设置新的选项卡为当前选中的选项卡,可以使用JTabbedPane的setSelectedIndex()方法。 下面是一个简单的示例代码: ``` import javax.swing.*; public class TabbedPaneExample extends JFrame { private JTabbedPane tabbedPane; public TabbedPaneExample() { super("Tabbed Pane Example"); tabbedPane = new JTabbedPane(); tabbedPane.addTab("Tab 1", new JLabel("Content for Tab 1")); tabbedPane.addTab("Tab 2", new JLabel("Content for Tab 2")); tabbedPane.addTab("Tab 3", new JLabel("Content for Tab 3")); add(tabbedPane); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void moveTab(int fromIndex, int toIndex) { Component tab = tabbedPane.getComponentAt(fromIndex); String title = tabbedPane.getTitleAt(fromIndex); tabbedPane.removeTabAt(fromIndex); tabbedPane.insertTab(title, null, tab, null, toIndex); tabbedPane.setSelectedIndex(toIndex); } public static void main(String[] args) { TabbedPaneExample example = new TabbedPaneExample(); example.moveTab(0, 2); } } ``` 在这个例子中,我们创建了一个拥有三个选项卡的JTabbedPane,并且实现了一个moveTab()方法来移动选项卡。在main()方法中,我们调用了moveTab()方法来将第一个选项卡移动到第三个位置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值