Tag: jlabel

调整图片大小以适合JLabel

我正在努力使照片适合JLabel。 我希望将图片尺寸缩小到更适合我的Swing JPanel的尺寸。 我尝试使用setPreferredSize但它不起作用。 我想知道是否有一种简单的方法可以做到这一点? 我应该为此目的缩放图像吗?

如何在JLabel中对图标进行右对齐?

对于带有图标的JLabel,如果setHorizontalTextPosition(SwingConstants.LEADING) ,无论标签有多宽,都会在文本后面立即绘制图标。 这对于列表来说尤其糟糕,因为图标将遍布整个地方,具体取决于每个项目的文本长度。 我跟踪了代码,似乎在SwingUtilities#layoutCompoundLabelImpl ,文本宽度简单地设置为SwingUtilities2.stringWidth(c, fm, text) ,并且图标x设置为跟随文本而不考虑标签宽度。 这是最简单的情况: import java.awt.*; import javax.swing.*; public class TestJLabelIcon { public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { JLabel c = new JLabel(“abc”); c.setHorizontalTextPosition(SwingConstants.LEADING); c.setHorizontalAlignment(SwingConstants.LEADING); c.setIcon(UIManager.getIcon(“FileChooser.detailsViewIcon”)); c.setBorder(BorderFactory.createLineBorder(Color.RED)); JFrame frame = new JFrame(); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.getContentPane().add(c); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } }); } } […]

使用按钮在打印机中打印jLabel的图标

我有一个带有Icon的jLabel,我想用打印机(canon,hp,epson)打印一个按钮。 我怎样才能做到这一点? 任何有用的代码? 代码段? 链接? 我只能看到这样: 如何在java中打印标签的内容? 但这不是我想要的。 我正在使用netbeans提前谢谢。

Java:如何将图像添加到Jlabel?

Image image = GenerateImage.toImage(true); //this generates an image file JLabel thumb = new JLabel(); thumb.setIcon(image)

使用Swing Timer更新标签

我在使用这段代码时遇到了一些麻烦。 我正在用一个随机数启动一个计时器,我希望每秒都用倒计时更新一个JLabel。 但是我还没弄明白怎么做,因为定时器触发的唯一监听器就在它的末尾(我知道)。 这是代码: int i = getTimer(maxWait); te1 = new Timer(i, this); label.setText(i+””); te1.start(); … public int getTimer(int max){ Random generator = new Random(); int i = generator.nextInt(max); return i*1000; } … public void actionPerformed(ActionEvent ev){ if(ev.getSource() == te1){ label.setText(i+””); te1.stop(); } }

在Java Swing上旋转JLabel或ImageIcon

首先,这是我使用swing的第一周,如果我的问题太明显,那就很抱歉。 此外,我需要使用标准java库的解决方案,因为这是用于家庭作业,我不允许使用奇怪的库。 我正在使用JLabel和ImageIcon在JFrame上显示图像。 现在我想将屏幕上的图像旋转到任意角度。 我发现了一些关于Graphics2D的东西,但我找不到这样做的方法。 由于我发现的解决方案不起作用或我不理解它,我对旋转ImageIcon或JLabel的任何解决方案感兴趣。 由于我将图像定位在JLabel上的setBounds,旋转JLabel将是一个更好的解决方案我想(这样我也不会被迫保存ImageIcon对象)。 感谢您的关注,抱歉我的英语不好。 编辑…要在屏幕上显示图像,请执行下一步: JFrame frame = new JFrame(“Something”); frame.setLayout(new FlowLayout()); //for example JPanel panel = new JPanel(); panel.setLayout(null); ImageIcon playerSprite = new ImageIcon(“rute/to/file.png”); JLabel player = new JLabel(playerSprite); panel.add(player); player.setBounds(10,10,36,52); //for example frame.getContentPane().add(panel); frame.setVisible(true); 恢复,如何旋转此IconImage或JLabel。 如果您认为更好,我可以使用其他方法来显示图像。 如果解决方案是使用Graphics2D,就像我看到的那样,我将欣赏到达此类对象的解决方案,稍后将旋转后的图像返回到ImageIcon,因为当我尝试这个时…… ImageIcon imagePlayer = new ImageIcon(“img/stand.png”); Image image = imagePlayer.getImage(); Graphics2D g = […]

图像resize并在JPanel或JLabel中显示而不会降低质量

我正在开发一个java程序,以便在注册时使用网络摄像头捕获员工图像。 我可以毫无问题地获得图片,并将其保存在我的C:驱动器中,但在检索图像时,只有部分图像显示在标签上。 有没有办法在保存之前重新调整JPEG大小? 还是在显示之前? 喜欢缩小它没有质量损失…. 非常感谢Cheerz! :)! 好的伙计……这里说: – 我已经按照我使用它们的方式对代码进行了评论。 //This method will capture the image from the interface and save it under the unique employee ID public String captureImage(int picId){ FrameGrabbingControl ControlFG = (FrameGrabbingControl) broadcast.getControl(“javax.media.control.FrameGrabbingControl”); Buffer buffer = ControlFG.grabFrame(); BufferToImage image = new BufferToImage((VideoFormat)buffer.getFormat()); img = image.createImage(buffer); path=”c:\\employee”+picId+”.jpg”; saveJPG(img,path);//method will save the image return […]

如何消除大尺寸java swing标签的差距

在我的应用程序中,我有一个字体大小超过200的标签。这个标签包含大的上下(不规则)间隙。 我该如何删除它? 这是我的代码: package Core; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class LabelDemo extends JPanel { public LabelDemo() { super(new GridBagLayout()); JLabel label2; GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = 0; // Create the other labels. label2 = new […]

将JLabel移动到其他JLabel – GUI

我正试图让JLabel移动到其他JLabel,现在只有1个计时器工作。 它应该像火车穿过轨道一样运行,一直绕着轨道行进,最后一直向后从它开始。 我不知道如何让它一路走来,任何帮助都表示赞赏。 谢谢。 import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.Timer; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.JTextField; import java.awt.Color; import javax.swing.JSlider; import javax.swing.SwingConstants; import javax.swing.border.BevelBorder; public class MoveLabel { private JTextField textField; private JTextField tf; private JTextField textField_1; private JTextField textField_2; private JTextField textField_3; […]

拖动屏幕周围的jlabel

所以我试图在JFrame周围单击并拖动JLabel。 以下代码允许在屏幕上的任何位置按下/拖动鼠标时在屏幕上移动JLabel,但我不知道如何添加第二个ActionListener以检查鼠标是否在标签上单击,假设是解决方案。 我想在屏幕上有多个JLabel,以便移动的唯一标签是鼠标单击并正在拖动的标签。 谢谢。 import java.awt.*; import java.awt.event.*; import javax.swing.*; @SuppressWarnings(“serial”) public class test extends JFrame implements MouseMotionListener { private JPanel panel = new JPanel(null); private JLabel dragLabel = new JLabel(“drag test”); private int mouseX = 200; private int mouseY = 200; public test() { this.add(panel); panel.setBackground(Color.WHITE); panel.add(dragLabel); dragLabel.setForeground(Color.RED); dragLabel.setBounds(mouseX, mouseY, 100, 50); panel.addMouseMotionListener(this); } […]