Tag: jlabel

通过计时器在JDialog中设置动态JLabel文本

我试图制作一个JDialog,它将在JLabel上向用户显示动态消息。 消息应该是从1到10的计数(并且它应该每秒更改一个数字)。 问题是,当我调试它时 – 它会在“dia.setVisible(true);”之后停止。 ,除非我关闭JDialog,否则不会继续。 有没有办法解决它? 谢谢。 看看代码: @Override public void run() { dia = new JDialog(parentDialog, true); dia.setLocationRelativeTo(parentFrame); String text = “Text “; dia.setSize(300, 150); jl = new JLabel(text); dia.getContentPane().add(jl); dia.setVisible(true); for (int i = 0; i < 10; i++) { try { Thread.sleep(1000); jl.setText(text + " " + i); } catch (InterruptedException […]

扩展BufferedImage

为什么以下代码显示黑色图像而不是图片? 如何正确扩展BufferedImage? class SizeOfImage { public static void main(String[] args) throws Exception { URL url = new URL(“http://cloudbite.co.uk/wp-content/uploads/2011/03/google-chrome-logo-v1.jpg”); final BufferedImage bi = ImageIO.read(url); final String size = bi.getWidth() + “x” + bi.getHeight(); final CustomImg cstImg = new CustomImg(bi.getWidth(), bi.getHeight(), bi.getType()); SwingUtilities.invokeLater(new Runnable() { public void run() { JLabel l = new JLabel(size, new ImageIcon(cstImg), SwingConstants.RIGHT); […]

如何更新JLabel文本?

我正在制作一个Hangman游戏,其中一个我要制作的东西是JLabel文本,它用ex.”_ _ _ _ ” ,具体取决于单词。 如果你愿意,我可以分享代码。

JTabbedPane Tab组件的MouseEvents没有渗透

我有一个带有自定义选项卡组件的JTabbedPane 。 该组件包含JLabel (显示选项卡标题)和JButton (关闭按钮)。 当我更改JLabel的文本时, JLabel停止接收鼠标事件,当我直接单击标签时,我无法再选择该选项卡,如果我单击标签然后我可以选择选项卡。 有任何想法吗? 一段代码: class ShellPanelTabComponent extends JPanel implements ActionListener{ private ShellPanel panel; private JLabel label; public ShellPanelTabComponent(final ShellPanel panel){ super(new FlowLayout(FlowLayout.LEFT, 0, 0)); this.panel = panel; setOpaque(false); label = new JLabel(panel.getTitle()); label.setFocusable(false); add(label); label.setBorder(BorderFactory.createEmptyBorder(2,0,0,5)); //now the button CloseButton closeButton = new CloseButton(panel); add(closeButton); closeButton.addActionListener(this); } public void actionPerformed(ActionEvent ae) […]

你能为JFrame中的JPanel设置一个永久大小吗?

我目前的问题是我有一个带有2×2 GridLayout的JFrame。 在其中一个正方形内,我有一个显示网格的JPanel。 我正在与java swing库进行实地考察……看一看 图片 Java会自动扩展每个JLabel以适应屏幕。 我希望它只是那些蓝色方块(水)和黑色边框而不是那个灰色空间。 有没有办法我可以永久设置JPanel的大小,这样我就不必在获得精确尺寸之前将JFrame的大小改变一百万次,以便灰色空间消失? 我也想设置这些按钮的大小,因此它们不是那么大( BorderLayout用于按钮和TextField)

在actionPerformed中单击JButton时设置JLabel Visible

我试图在单击JButton时显示JLabel。 我添加了一个动作侦听器并将组件添加到布局中。 当在actionPerformed中单击JButton时,我正在使用label1.setVisible(true)。 我仍然无法让它发挥作用。 有人可以看看我的代码吗? public class LearnAppMain extends JFrame implements ActionListener { // Define variables public JButton button1; public JLabel label1; public JTextField field1; private Image image1; private String apple = “apple.jpg”; public LearnAppMain() { ImageIcon image1 = new ImageIcon(this.getClass().getResource(apple)); JLabel label1 = new JLabel(image1); button1 = new JButton(“A”); button1.addActionListener(this); field1 = new JTextField(10); […]

Multiline JLabels – Java

我希望JLabel文本采用多行格式,否则文本会太长。 我们怎样才能在Java中做到这一点?

Swing / Java:如何正确使用getText和setText字符串

在点击一个名为button1的Button后,我正在尝试使输入nameField出现在名为label1的Label 。 现在它说:’txt’,我理解为什么。 但我不知道我怎么能用这个字符串! 谁能解释一下我做错了什么以及如何正确使用这个字符串? import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class thisismytest2 { public static void main(String[] args) { final JFrame frame = new JFrame(); JPanel panel = new JPanel(); JTextField nameField = new JTextField(“…”, 2); JButton button1 = new JButton(); final JLabel […]

JLabel垂直对齐无法按预期工作

Font font = Font(“Arial”, Font.BOLD, 35); JLabel label = new JLabel(“57”); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.LINE_AXIS)); panel.add(label); 这会创建一个JLabel,在其上方和下方有一个额外的空间。 我尝试了setVerticalAlignment(SwingConstants.TOP)但它无法正常工作。 同样,我不想将JLabel与顶部对齐,但JLabel中的文本应该与顶部对齐。 这是我的标签的样子

如何每秒移动jlabel?

我尝试每秒向右移动(x ++) 我尝试用线程移动它.. 怎么做? (并且可以看到它每秒移动) 有没有使用线程的另一种方法吗? 我应该使用什么版面管理器? 继续我尝试.. public class help { JFrame frame = new JFrame(); JLabel label = new JLabel(“target”); public help() { frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setSize(800,600); frame.setLayout(new GridLayout()); frame.add(label); label.setPreferredSize(new Dimension(100,100)); label.setLocation(400, 300); frame.getContentPane().validate(); frame.repaint(); frame.setVisible(true); mysterious(); } void mysterious(){ //////////////////////////////// // part of edit responding David kroukamp Thread t = new Thread(new Runnable() […]