Tag: jlabel

绘制一个看起来像JLabel的JButton(或者至少没有按钮边缘?)

我有一个JButton,由于各种原因我想表现得像一个按钮,但看起来像一个JL​​abel。 它实际上并不一定是引擎盖下的JLabel,我只是不希望凸起的按钮边缘显示出来。 是否有一种简单的方法可以关闭JButton的“按钮外观”,但保留所有按钮function? 我可以构建一些组合的子类超级按钮,它被委托给jlabel用于显示目的,但我真的希望有一些类似于button.lookLikeAButton(false)的东西。

JLabel不会显示JPanel.setLayout(null)。 为什么?

我想在地图上显示许多不同的标签,所以我在我的面板中使用null布局,并为每个标签调用setLocation。 但是,出于某种原因,标签没有显示。 如果我删除了pan.setLayout(null),则标签会出现在面板的顶部中心。 为什么null布局不能与setPosition一起使用? package mapa; import java.awt.*; import javax.swing.*; public class Mapa extends JFrame { private static JPanel pan; private static JLabel lab; public Mapa() { } private static void createAndShowGUI() { Mapa frame = new Mapa(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); lab = new JLabel(“TEXTO”); lab.setBackground(Color.black); lab.setForeground(Color.white); lab.setOpaque(true); lab.setVisible(true); pan = new JPanel(); pan.setLayout(null); pan.setPreferredSize(new Dimension(640,480)); pan.add(lab); […]

在面板内绘制图像

我有一个带两个按钮的面板。 我正在尝试在面板中插入图像,我想在单击按钮后在图像内部绘制线条。 我使用了下面的代码,但这似乎不起作用。 public class Try_Panel extends JFrame { // start attributes private JPanel jPanel1 = new JPanel(null, true); private JButton jButton1 = new JButton(); private JButton jButton2 = new JButton(); // end attributes public Try_Panel(String title) { // Frame-Init super(title); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); int frameWidth = 300; int frameHeight = 300; setSize(frameWidth, frameHeight); Dimension d = […]

JLabel setLocation不工作?

这是我写的代码: super(“Add contact”); setLayout(new FlowLayout()); IPAddress = new JLabel(“IP Address”); IPAddress.setLocation(1000, 100); ImageIcon ii=new ImageIcon(getClass().getResource(“Add.png”)); JLabel image = new JLabel(ii); image.setSize(100, 100); image.setLocation(500, 100); add(image); add(IPAddress); setSize(500,150); }

通过按钮单击循环浏览Jlabel的图像时出现循环问题

在java应用程序中我有一个Jlabel,我想在每次单击一个按钮时分配一个新图像,使用for循环我可以让它只显示跳过图像之间的所有最后一个图像,我知道有一个错误在我的逻辑中,也许我不应该使用for循环? 任何建议 private String imageList[]; ImageIcon image; imageList = new String[] {“src\\Tour_Eiffel_Wikimedia_Commons.jpg”,”src\\Ben.jpg”, “src\\Rio.jpg”, “src\\Liberty.jpg”, “src\\Pyramid.jpg”}; //constructor setting first image to display on load public GeographyGameGUI() { image = new ImageIcon(imageList[0]); imageLbl.setIcon(image); } //button method private void nextBtnActionPerformed(java.awt.event.ActionEvent evt) { for (imgCount = 1; imgCount < imageList.length; imgCount++) { image = new ImageIcon(imageList[imgCount]); imageLbl.setIcon(image); } 如果我不使用for循环并简单地使用我在按钮方法之外声明的计数器(如下所示),它会正确地循环显示图像但会遇到ArrayIndexOutOfBoundsException。 […]

如何以平滑的方式根据容器大小自动调整多个JLabel的字体大小?

我需要根据用于调整容器大小的缩放因子来调整多个JLabel的字体大小。 为此,我将每个JLabel的字体设置为null,以便它们采用容器的字体。 它有效,但它也会产生奇怪的结果。 具体而言,文本似乎“滞后”在容器后面,有时甚至会被截断。 我想避免这种行为。 知道怎么样? 模拟行为的示例代码: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.geom.AffineTransform; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.SwingUtilities; import javax.swing.WindowConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class TextResize implements Runnable { public static void main(String[] args) { […]

从JSlider的值改变JLabel的值

我有一个包含JSlider和JLabel的JPanel。 我想配置它,以便当用户更改JSlider的值时,新值将由JLabel反映出来。 我知道我可以使用Slider触发ChangeEvents,但我不知道如何将ChangeListener添加到JLabel。 这是我的代码片段。 scaleSlider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent event) { int currentTime = ((JSlider)event.getSource()).getValue(); doSomething(currentTime); fireStateChanged(event); } JLabel timeValue = new JLabel(“Time: ” + scaleSlider.getValue()); timeValue.add??? (我现在不知道该做什么来反映滑块的变化) 我是否朝着正确的方向前进? 在此先感谢您的帮助。

在JLabel中将标记放在ImageIcon上

所以我试图找到一种方法来修改Java中的图像。 换句话说,如果用户点击图像,则标记将放在用户刚刚点击的位置。 我有一个ImageIcon,我把它放在JLabel中。 到目前为止,我采用的方法是使用JLayeredPanel将另一个JPanel放在JLabel之上并在此JPanel上绘制: //… ImageIcon icon = new ImageIcon(“foo.jpg”); JLabel lb = new JLabel(icon); JPanel glass = new JPanel(); lb.setBounds(0, 0, 100, 100); glass.setBounds(0, 0, 100, 100); glass.setOpaque(false); LayeredPane container = new LayeredPane(); container.add(lb, 1); container.add(glass, 2); //… 但这种方式似乎不起作用。 我从未看到背景图像(lb中的图像)。 所以我想知道我是否在正确的轨道上? 或者有更清洁的方法来实现这一目标吗?

在JLabel中附加文本

我如何使用JLabel实现JTextArea的效果? 我希望每次在下一行单击按钮时显示输出,而不是替换已存在的文本,即像JLabel的附加方法一样? 我只是希望它遵循与JTextArea.append相同的行为。 我还想为每一行添加超链接。

使用鼠标单击在JLabel内拖动和移动图片

我在JLabel里面有一个图像。 JLabel label = new JLabel(new ImageIcon(“C:\\image.jpg”)); label.setSize(300,300); 我想要以下function。 – 我点击JLabel内的一个位置(在图像上)。 – 按下鼠标按钮,我可以在JLabel中更改图像的位置。 (我将图片拖到JLabel内的不同位置) 嗯,这意味着在许多情况下,图片将被裁剪并且在视图之外。 请告诉我如何实现此function? 要添加到JLabel的正确事件侦听器是什么?