Tag: jlabel

Java:如何将控件拖放到新位置而不是其数据?

在Java中,当拖动项目是源控件本身时执行拖放的最佳方法是什么? 我知道控件只不过是数据,但差异确实会产生UI影响。 我正在创建一个单人纸牌游戏,其中我有来自JLabel的类卡牌卡片对象。 我想将该卡拖放到尚未命名的目标控件上,将其拖到另一个位置。 在拖动期间,我希望卡可以用鼠标在视觉上移动,当我想要它移动到这个目标对象或返回到它以前的位置时。 我已经完成了各种DnD测试,但没有发现任何可以在Java DD的正确规则下工作的东西。 例如,如果我使用真DnD拖动Card对象,我只能创建卡的幻影图像而不是实心图像。 此外,光标更改,我宁愿它没有(我想我可以修复它),并且源控件仍然可见(尽管在拖动过程中应该很容易使其透明) 另一方面,我可以通过监听MouseMotionListener.mouseDragged()事件并手动将卡移动到新位置来漂亮地拖动卡。 这很好用,但它没有遵循正确的DnD,因为这不会通知其他控件的拖动。 我想我可以创建自己的系统来通知其他控件,但这不会使用Java真正的DnD。 此外,如果我将真正的Java dnd内容与在mouseDragged期间逐字移动卡片的方法混合,那么我认为真正的DnD内容永远不会起作用,因为鼠标在技术上永远不会直接超过任何其他控件而不是被拖动的卡片。 这个方向看起来像粗暴的黑客。 我希望这是有道理的。 我一直在跟踪样品时出现问题,因为它们看起来非常不同,而且我花费了大量时间研究的样子看起来是在DnD在1.4版本进行重大改革之前的几年。

更改默认的JLabel字体

我该如何设置所有JLabel实例的默认字体。 而不是单独为每个JLabel设置字体。

如何设置jlabel的修复大小?

我正在尝试创建一个java桌面应用程序,我正在使用多个JLabel我想设置JLabel修复高度和宽度。 我怎样才能做到这一点? 这是我的代码 public class Second extends JFrame { JPanel panel1,panel2; JLabel label=new JLabel(); ArrayList lbllist = new ArrayList(); public Second() { super(“Simple Timer”); { getContentPane().setBackground(new java.awt.Color(255,255,255)); } this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Container c = getContentPane(); c.setLayout( new FlowLayout()); setUndecorated(true); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(0,0,screenSize.width, screenSize.height); panel2=new JPanel(); panel2.setBounds(360, 180, 360, 1020); panel2.setBackground(new java.awt.Color(255,153,51)); c.add(panel2); JPanel panel3 = […]

加下划线的JLabel

我试图让JLabel强调。 我到处搜索,但我一无所获。 即使在属性中,也没有选项来强调JLabel。 我能做什么?

旋转Swing JLabel

我目前正在尝试实现一个Swing组件,inheritance自JLabel ,它应该只是代表一个可以垂直定向的标签。 从这开始: public class RotatedLabel extends JLabel { public enum Direction { HORIZONTAL, VERTICAL_UP, VERTICAL_DOWN } private Direction direction; 我认为只是改变getPreferredSize()的结果是个好主意: @Override public Dimension getPreferredSize() { // swap size for vertical alignments switch (getDirection()) { case VERTICAL_UP: case VERTICAL_DOWN: return new Dimension(super.getPreferredSize().height, super .getPreferredSize().width); default: return super.getPreferredSize(); } } 然后在我将绘画卸载到原始JLabel之前简单地转换Graphics对象: @Override protected void paintComponent(Graphics g) […]

JPanel定位不正确

我用Java做了一个游戏,你应该在1-100之间猜测一个随机生成的int。 如果你猜得太低,一个文本字段将填充一个文字,上面写着“太低”但是用瑞典语。 如果你猜得太高也一样。 当答案是正确的时候会出现问题,然后我调用一个方法来制作一个不可见的JPanel,可见。 这样做很好,但Jpanel本身不会移动到它应该是的顶部。 它需要完美贴合,因为它只是背景的照片拼图。 背景的属性是:1920 x 1080.Phothopped GG WP的属性是1920 x 297.Jpane被称为“grattis” 我希望我没有错过任何重要的事情,我感谢我能得到的所有帮助,因为我现在卡住了。 PS。 对不起英文和格式错误。 package slumpatal; import java.util.Random; //This class runs the program, the main method is here. public class SlumpaTal extends callback1 { private int randomTal; Random random = new Random(); @Override public int SetValue(int value) { if (value < randomTal) return […]

JAVA Swing – 将JLabel设置为等于另一个类中的String

我在一个类中有一个名为getTheUserInput的方法,该方法返回一个String,该String根据用户操作进行更新,该操作位于名为Board.java的类中。 我有动作将数据添加到我知道有效的字符串。 在我的另一个类中,我有一个JLabel,它被设置为等于方法的返回String,如下所示: JLabel l = new JLabel(b.getTheUserInput()); 但是,当我运行应用程序时,无论用户提供什么输入,字符串都会更新,但JLabel保持空白。 如何使JLabel与其他类中的字符串保持一致?

Java Swing:无法使用getResource加载图像

我试图在尝试将图像添加到类目录时找出问题所在。 (这样做,当我导出为可运行的JAR时,图像包含在包中)。 所以我将strawberry.jpg文件放在’C:\ Users \ sean \ workspace \ myApps \ src \ testing’中你能告诉我我缺少什么吗? 谢谢! package testing; import java.awt.*; import javax.swing.*; public class IconTest { public static void main(String[] arguments) { JFrame frame1 = new JFrame(); frame1.setTitle(“Frame1”); frame1.setSize(500, 500); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); FlowLayout flo = new FlowLayout(); frame1.setLayout(flo); JLabel label1 = new JLabel(new ImageIcon( IconTest.class.getResource(“strawberry.jpg”))); frame1.add(label1); frame1.setVisible(true); […]

每次JComboBox更改时如何更新JLabel?

我有一个JComboBox有12个不同的选择,根据选择的内容,我希望问题(JLabel)更改匹配选择。 我已经尝试了if语句来查看所选内容以及它是否与应该选择的内容相匹配,然后问题会相应地更改,但JLabel在某种情况下从未真正改变过。 码 import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.*; public class Window extends JFrame{ private static final long serialVersionUID = 1L; public Window(){ super(“Area Finder v1.0”); BufferedImage image = null; try { image = ImageIO.read(getClass().getClassLoader().getResource(“images/areafinder.png”)); } catch (IOException e) { e.printStackTrace(); } super.setIconImage(image); setSize(400, 500); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel […]

JLabel setText不起作用

我试图通过使用setText()方法更新JLabel。 但我无法重绘JLabel。 我必须使用repaint()方法来做到这一点吗? 我搜索了每个论坛,但我找不到解决方案。 这是代码的一部分。 我没有收到任何错误,但它没有更新JLabel。 public void actionPerformed(ActionEvent e) { fc = new JFileChooser(); if(e.getSource() == addButton) { int returnVal = fc.showOpenDialog(Main.this); if (returnVal == JFileChooser.APPROVE_OPTION) { filesList = fc.getSelectedFiles(); setFilesList(filesList); StringBuilder logString = new StringBuilder(); logString.append(“Files to Convert ” + “\n”); for(int i = 0; i < getFiles().length; i++) { logString.append(filesList[i].getAbsolutePath()); } //JLabel […]